面试java中操作系统知识点

进程
概念:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。用户下达运行程序的命令后,就会产生进程。同一程序可产生多个进程(一对多关系),以允许同时有多位用户运行同一程序,却不会相互冲突。
一个计算机系统进程内容:程序的可执行机器代码的一个在存储器的映像(进程映象);分配到的存储器通常是虚拟的一个存储器区域,存储器的内容包括可执行代码、特定于进程的数据(输入,输出)、调用堆栈、堆栈(用于保存运行时运输中途产生的数据);分配给进程的资源的操作系统描述符;安全特性;处理器状态。
特征:动态性;并发性;调度性;异步性;结构性
状态:新建状态(New),就绪状态(Ready),运行状态(Running),阻塞状态(Blocked),终止状态(Terminated)
面试java中操作系统知识点_第1张图片
进程创建:(1)申请一个空闲的PCB(进程控制块),从系统的PCB表中找出一个空闲的PCB项,并指定唯一的进程标识号PID(进程内部名);(2)为新进程分配资源,根据调用者提供的所需内存大小,为新进程分配必要的内存空间,存放其程序和数据及其工作区;(3)将新进程的PCB初始化;(4)将新进程加入就绪队列。
进程关系:同步(逻辑上相关的两个或多个进程为完成一项任务,通过协调活动来使用同一资源,而产生执行时序的约束关系);互斥(逻辑上彼此独立的两个或多个进程由于争用同一资源而发生的相互制约的关系)。
临界资源:一次仅允许一个进程使用
原语:机器指令的延伸,往往是为了完成某些特定的功能而编制的一段系统程序,原语操作(原子操作)即一组相关联的操作要么不间断地执行,要么不执行。
P操作:表示测试
V操作:表示增加
信号量:在多道程序并发环境执行下使用的一种设施,在进程间发送信号,用来保证两个或多个进程的关键代码不被同时调用
进程同步机制

  1. 实现互斥方式:(1)利用硬件方式解决进程互斥问题,常见方式有禁止中断(使每个进程在进入临界区之后立即关闭中断,在它离开前才重新开放终端,由于禁止了中断,就不会把CPU切换给另外的进程,缺点是如果它不再开放,系统可能终止。)、设置专用机器指令(TSL指令测试并上锁,TSL RX ,LOCK,它把内存字LOCK的内容读到寄存器RX中然后在该地址单元中存入一个非0值,读数和存数的操作不可分割,即这条指令完成前其他进程不能访问该单元,缺点:可能产生忙式等待);(2)原语操作;(3)利用软件方法解决进程互斥问题,为每类临界区设置一把锁,关锁,执行临界区程序,开锁,退出临界区(缺点:处理机忙等)
  2. 信号量及P、V操作原语:(1)整型信号量(将信号量定义为一个特殊的可共享的整型量,设信号量为S,初始化一个非负值,由P、V两个操作进行信号量减1和加1的操作)(2)记录型信号量(该信号量的值,指向PCB的指针。当多个进程都等待同一个信号量时,他们就排成一个队列,有信号量的指针指出该队列的头,其中信号量可以赋初值,可以修改,但只能有P、V 操作来访问。P 操作,信号量减1,信号量的值大于等于0,进程继续执行,小于0进程状态为阻塞态;V操作,信号量加1,信号量的值大于0,进程继续执行,信号量小于等于0则释放信号量队伍上第一个PCB所对应的进程把阻塞态改为就绪态,执行V操作的进程继续运行)。
    参考书:《操作系统原理第二版》,孟庆昌等著,机械工业出版社,2017年11月

你可能感兴趣的:(附录)