操作系统
实时系统和分时系统的不同
- 多路性。实时系统与分时系统一样具有多路性,分时系统按分时原则为多个终端用户服务;而实时系统,其多路性则主要表现在经常对多路的现场信息进行采集及对多个对象或多个执行机构进行控制。
- 独立性。实时系统与分时系统一样具有独立性。每个终端用户在向实时系统提出服务请求时,是彼此独立的操作,互不干扰;而且在实时系统中信息的采集和对对象的控制也是彼此互不干扰的。
- 及时性。实时系统对实时性的要求与分时系统类似,都是以人能接受的等待时间来确定;但实时系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒直至毫秒级,甚至有的要低于100μs。
- 交互性。实时系统具有交互性,但这里人与系统的交换,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。
- 可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失,甚至无法预料的灾难后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。
死锁
https://blog.csdn.net/jgm20475/article/details/81297819
两次fork(),孤儿线程,僵尸线程的解决
https://blog.csdn.net/keyeagle/article/details/6679934
多线程
JAVA线程的6种状态
产生死锁的条件
- 互斥条件:该资源任意一个时刻只由一个线程占用。
- 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
- 不剥夺条件:线程已获得的资源在末使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。
- 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
如何避免死锁
- 破坏互斥条件 :这个条件我们没有办法破坏,因为我们用锁本来就是想让他们互斥的(临界资源需要互斥访问&