2018年9月牛客网中Linux笔试练习题目

1、不能用于Linux中的进程通信

  1. 共享内存
  2. 命名管道
  3. 信号量
  4. 临界区

Linux进程间通信方式有:消息队列,命名管道,信号量,共享内存,Berkeley套接字 等
临界区是每个进程中访问临界资源的那段代码称,每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。它可以作为线程间通信方式而不能作为进程间通信方式,因为进程间内存是相互隔离的。
Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量(semaphore),信号(signal),套接字(Socket)

临界区是什么?这是和并发相关的一个概念,临界区指在这个“区”内只能被一个线程访问,后进入 临界区的线程阻塞,等到之前的线程出临界区后,才能访问

2、linux查看cpu占用的命令是什么?

 1.top

 2.netstat

 3.free

 4.df

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

3、int main(){fork()||fork();}共创建几个进程:_____

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6 

首先,第一个fork()执行后,产生一个父进程的副本(返回值为子进程ID)和一个子进程(返回值为0),如下图所示,由||知道,父进程的左分支终止,继续执行右分支的分裂,再产生一个子进程的副本和一个子进程,即下图中的子1,因此总共产生了3个进程,如图中的圈圈

2018年9月牛客网中Linux笔试练习题目_第1张图片

 

4、RHEL5系统安装DHCP服务器软件包后( )

1. 系统中存在配置文件“/etc/dhcp.conf”

2.系统中存在配置文件“/etc/dhcpd.conf”

3.系统中不存在配置文件“/etc/dhcpd.conf”需要手工建立

 

5、linux下,如何修改一个文件的权限(命令)

1.chmod
2.file
3.attrib
4.change

chmod (用户权限)(组权限)(其他权限) 文件
权限:r(读)w(写)x(执行)---分别对应数字4,2,1
如想授予"用户读写执行权限;组用户读权限;其他用户读权限",命令就是:chmod 622 文件
 

6、下面关于 Android dvm 的进程和 Linux 的进程 , 应用程序的进程说法正确的是 ( D)

 

A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念.
B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念.
C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念.
D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念.

7、当内网内没有条件建立dns服务器,又不想用IP访问网站,应配置什么文件(1)

1.hosts

2.sysconfig
3.network

4.hostname

hosts文件 是一个用于储存 计算机网络 中各节点信息的计算机文件。这个文件负责将 主机名称 映射到相应的 IP地址 。hosts文件通常用于补充或替换网络中 DNS 的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。

8、下面有关linux查看系统负载的命令,说法错误的是?(D)

A、uptime命令主要用于获取主机运行时间和查询linux系统负载等信息

B、vmstat命令可以查看查看cpu负载

C、sar命令可以查看网络接口信息

D、free命令可以查看磁盘负载情况(错误,查看内存使用情况)

9、下面哪些属于,Fork后子进程保留了父进程的什么?(AC)

 A、环境变量

 B、父进程的文件锁,pending alarms和pending signals

 C、当前工作目录

 D、进程号
使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设置、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等。

子进程与父进程的区别在于:

1、父进程设置的锁,子进程不继承(因为如果是排它锁,被继承的话,矛盾了)

2、各自的进程ID和父进程ID不同

3、子进程的未决告警被清除;

4、子进程的未决信号集设置为空集。

10、以下说法正确的有( )

1.多个进程操作同一个文件时,应该要考虑到文件的一致性问题
2.可通过文件在不同进程间进行数据传递和共享
3.可以通过全局变量在不同进程间传递数据,但一般不推荐
4.一个进程可以访问到所有物理内存空间
【解析】
难点在 C 选项

进程间是相互独立的,其实完全可以看成A、B两个进程各自有一份单独的liba.so和libb.so,相应的动态库的代码段和数据段都是各个进程各自有一份的。然后在这个基础上,由于代码段是不会被修改的,所以操作系统可以采用copy on write的优化技术,让两个进程共享同一份物理内存。这是属于在不改变系统行为的基础上,为了节省内存的优化技术。

正确答案: A B C 

11、IP数据报分片的重组通常发生在( 4)

 1.源主机和数据报经过的路由器上

 2.源主机上

 3.数据报经过的路由器上

 4.目的主机上

【解析】

当一个IP数据报封装成链路层的帧时,此数据报的总长度(即报头区加上数据部分)一定不能超过下层的数据链路层的MTU值,否则无法传输。 因此,我们需要对IP包进行分片,其中IP数据报的首部中,和IP数据包分片有关的字段为——总长度、标识、标志以及位偏移.分片由网络层的路由器完成        

目的主机收到所有分片后,对分片进行重新组装还原的过程叫做IP数据报重组。IP协议规定,只有最终的目的主机才可以对分片进行重组。

目的主机接收到所有的数据包的分包之后,根据数据包首部中保存的信息,还原最初的数据包。这就是数据包的重组过程。

正确答案: D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Linux)