暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
百度校园招聘笔试试题-研发工程师笔试题.docx
186
3页
0次
2021-02-22
40墨值下载
更多企业校园招聘笔试面试试题合集下载: http://bimian.xuanjianghui.com.cn/
百度 2014 校园招聘-研发工程师笔试题
一、简答题(30 )
1,当前计算机系统一般会采用层次结构存储数据,请介绍下典型计算机存储系统一般分为哪
几个层次,为什么采用分层存储数据能有效提高程序的执行效率?(10 分)
所谓存储系统的层次结构,就是把各种不同存储容量、存取速度和价格的存储器按层次结
构组成多层存储器,并通过管理软件和辅助硬件有机组合成统一的整体,使所存放的程序和数
据按层次分布在各种存储器中。目前,在计算机系统中通常采用三级层次结构来构成存储系统,
主要由高速缓冲存储器 Cache、主存储器和辅助存储器组成。
存储系统多级层次结构中,由上向下分三级,其容量逐渐增大,速度逐级降低,成本则逐次
减少。整个结构又可以看成两个层次:它们分别是主存一辅存层次和 cache 一主存层次。这个
层次系统中的每一种存储器都不再是孤立的存储器,而是一个有机的整体。它们在辅助硬件和
计算机操作系统的管理下,可把主存一辅存层次作为一个存储整体,形成的可寻址存储空间比
主存储器空间大得多。由于辅存容量大,价格低,使得存储系统的整体平均价格降低。由于
Cache 的存取速度可以和 CPU 的工作速度相媲美,故 cache 一主存层次可以缩小主存和 cPu
之间的速度差距,从整体上提高存储器系统的存取速度。尽管 Cache 成本高,但由于容量较
小,故不会使存储系统的整体价格增加很多。
综上所述,一个较大的存储系统是由各种不同类型的存储设备构成,是一个具有多级层次结
构的存储系统。该系统既有与 CPU 相近的速度,又有极大的容量,而成本又是较低的。其中
高速缓存解决了存储系统的速度问题,辅助存储器则解决了存储系统的容量问题。采用多级层
次结构的存储器系统可以有效的解决存储器的速度、容量和价格之间的矛盾。2Unix/Linux
系统中僵尸进程是如何产生的?有什么危害?如何避免?(10 )
一个进程在调用 exit 命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下
一个称为僵尸进程(Zombie)的数据结构(系统调用 exit,它的作用是使进程退出,但也仅仅
限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。
Linux 进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没
有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态
等信息供其他进程集,除此,僵尸进程不再有任何内存空间。它要它的进程来为
尸,如他的进程没安装 SIGCHLD 号处数调用 wait waitpid()待子进程结束,
又没有显式忽略该信么它就一僵尸状态,如这时进程结束了, init 进程
接手这个进程,为它尸,它是能被清除的。但是如果父进程是一个循环,不
会结束,进程就会一僵尸状态,这就是为什么系统中有时会有很多的僵尸进程。
更多企业校园招聘笔试面试试题合集下载: http://bimian.xuanjianghui.com.cn/
避免 zombie 方法
1) SVR4 中,如调用 signal sigset SIGCHLD 置设置为忽略,则不会产生僵
进程。另外,使用 SVR4 sigaction,则可设置 SA_NOCLDWAIT 标志以避免进程
Linux 中也可使用这个,在一个程序的开始调用这个signal(SIGCHLD,SIG_IGN);
2)调用 fork 两次。
3) waitpid 待子进程返回.
3,简述 Unix/Linux 系统中使用 socket 库编写服务程序的程,请分别用对应 socket
通信数表(10 )
TCP socket 通信
服务端流程如下:
1.创建 serverSocket
2.初始化 serverAddr服务址)
3. socket serverAddr 绑定 bind
4.开始监听 listen
5. while 循环,不 accept 接入客户端 socket,进行读写操作 write read
6.关闭 serverSocket
客户端流程:
1.创建 clientSocket
2.初始化 serverAddr
3.链接到服务connect
4. write read 进行读写操作
5.关闭 clientSocket
这个列表是一个 Berkeley 套接字 API 提供的或者方法要:
socket() 创建一个确定类型的套接字,类型用一个整型数值标识,并为它分系统资源
bind() 一般用于服务,将一个套接字与一个套接字地址结构相关联,比如,一个指定的本
地端口 IP 址。
listen() 用于服务,使一个绑定 TCP 套接字入监听状态。
connect() 用于客户端,为一个套接字一个自由的本地端口号。 如 TCP 套接字
它会试图获得一个 TCP 连接
of 3
40墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜