操作系统基础训练

1、简述Linux进程内存空间分为哪几个段?作用分别是什么?

数据段:存放程序的全局变量,常数,

堆栈段:存放子程序的返回地址,子程序的参数,以及程序的局部变量,动态数据分配的数据空间;

代码段:存放了程序代码的数据,假如机器中有数个进程运行同一个程序,那么它们就可以使用同一个代码段。

 

2、如何查看进程的信息(线程数):

使用ps 即可查看进程信息,同时使用grep 就可以准确查找到所要找寻的进程信息

 

3、进程间通信方式有哪些?

   以及在什么情况下用什么通信方式?优缺点:

Socket:方式实现起来比较简单;自身携带同步机制,不需要额外的方式来辅助实现同步;随进程持续。用于不同计算机之间的进程通信·

共享内存:相对其他方式有更少的数据拷贝,效率较高;自身不具备同步机制;随内核持续,相比于随进程持续生命力更强。作为最有用的进程间通信方式,也是最快的IPC通信方式

管道:只能用于有亲缘关系间进程的通信;只支持单向数据流;自身具备同步机制;随进程持续。可用于具有亲缘关系间的通信,

FIFO:是有名管道,支持没有亲缘关系的进程通信;需要创建两个描述符来实现实现双向通信;自身具备同步机制;随进程持续。允许无亲缘关系进程间的通信

信号:这种通信可携带的信息极少,不适合需要经常携带数据的通信;不具备同步机制,类似于中断,什么时候产生信号,进程是不知道的。用于通知接收进程有某种事件发生,除了用于进程间通信,进程还可以发送信号给进程本身

消息队列:使用一个路径名来实现各个无亲缘关系进程之间的通信;提供有格式的字节流;消息具有类型和优先级;具备同步机制;随内核持续。消息队列可以在几个进程间复用,而不管这几个进程是否有亲缘关系

信号灯:可以用来控制多个进程对共享资源的访问。不适用于交换大批数据,主要作为进程间以及同一进程内不同线程间的同步手段

 

4、进程同步的几种方法?

管程;消息传递;互斥锁,条件变量,信号灯(信号量)

 

5、进程死锁产生的原因及四个必要条件

进程死锁原因:多个进程因竞争资源而形成一种僵局,若无外力作用,这些进程都将永远不能再向前推进;

   四个必要条件是:互斥条件;不可抢占条件;占有且申请条件;循环等待条件

 

6、什么是守护进程,什么是僵尸进程?

僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸。

守护进程是一个在后台运行且不受任何终端控制的进程

 

7、解释一下进程同步和进程互斥的区别?

一组并发进程按一定的顺序执行的过程称为进程间的同步;

进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止;

 

8、进程与线程之间有何区别?

进程:资源分配的最小单元,担当分配系统资源的最小单元

线程:CPU调度和分派的基本单位,程序执行的最小单位。比进程更小的能独立运行的基本单位

一个进程由几个线程组成,线程与同属一个进程的其他线程共享进程拥有的全部资源

 

9、线程同步有哪些方法?

线程同步方法有:互斥锁Mutex;条件变量Conditions;读写锁;信号量和令牌。

 

10、当父进程在子进程之前终止会发生什么?

如果父进程结束了,init进程会自动接手这个子进程,为它收尸,它还是能被清除的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值