4.进程同步
1.什么是临界区?什么是临界资源
在计算机系统中,临界资源指的是被多个并发执行的线程或进程共享访问的某个资源,如共享内存区、共享文件等。
临界区指的是访问临界资源的那部分代码片段,它是一段需要保护的代码区域。
2.同步机制应遵循哪些准则?
空闲让进,忙则等待,有限等待,让权等待。
让权等待:当进程不能进入临界区的时候,其应立即释放处理机,也就是阻塞自己,以免进程进入忙等。
3.
4.管程中的条件变量有什么用?
条件变量是管程中一种重要的同步机制,用于实现等待和通知机制。条件变量表示某个进程或线程等待某个条件成立,因此通常被用于协调多个进程或线程之间对于共享资源的互斥访问,使得共享资源的访问是有序的。条件变量与互斥变量配合形成管程的经典同步机制,常用于解决经典的生产-消费问题和读-写问题等。
具体来说,条件变量的作用有以下几个方面:
1. 等待条件:进程或线程调用条件变量的等待操作时,如果条件不成立,就会把自己阻塞在条件变量的等待队列中,直到条件成立时被唤醒。等待队列是一种数据结构,保存了当前等待条件成立的进程或线程的信息。
2. 唤醒条件:进程或线程调用条件变量的唤醒操作时,可以唤醒一组或者一个等待该条件成立的进程或线程,使得它们可以重新竞争访问共享资源的机会。
3. 保护共享资源:当多个进程或线程需要访问同一个共享资源时,可以利用条件变量来保证访问顺序,避免竞争和冲突问题,提高程序的可靠性。
总之,条件变量是管程中一种重要的同步机制,常用于协调多个进程或线程之间对于共享资源的访问,解决生产-消费问题和读-写问题等。通过等待操作和唤醒操作的协同作用,可以保证在访问共享资源时避免竞争和冲突,从而提高程序的可靠性和稳定性。
5.从键盘的一个键按下,到屏幕显示一个字符,经历了什么?
6.linux在响应中断时,如果有另外一个中断信号,好像切换。而windows好像是屏蔽中断?
7. 分时系统和批处理系统和实时系统分别是什么,有什么区别?
8.操作系统是怎样启动的?
bios比较特殊,放在rom里
根据CS和IP寄存器 去找到bios
Boot Lader将操作系统启动代码读入内存,将操作系统装入。
9.一次典型的交互所需要的时间 是指的什么?
时间片大小的选择: 选择一个略大于 一次典型的交互所需要的时间 ,是大多数交互进程都能在同一时间片内完成,获得很小的响应时间。
10.