操
操作系统设计中的核心问题是关于进程和线程的管理:
(1)多道程序设计技术:管理单处理器系统中的多个进程
(2)多处理技术:管理多处理器系统中的多个进程
(3)分布式处理技术:管理多态分布式计算机系统中多个进程的执行(比如集群系统)
并发出现的场合:
多个应用程序:多道程序设计技术允许在多个活动的应用程序间动态共享处理时间
结构化应用程序:一些应用程序可以有效的设计成一组并发进程
操作系统结构:同样的结构化程序设计优点可用于系统程序员
和并发相关的关键术语:
临界区:一段代码,在这段代码中将访问共享资源,当另外一个进程已经在这段代码中运行时,这个进程就不能在这段代码中执行。
死锁:两个或两个以上的进程因其中每个进程都在等待其他进程做完某些事情而不能继续执行,这样的情形叫死锁。
活锁:两个或两个以上的进程为了响应其他进程中的变化而继续改变自己的状态但不做有用的工作的情形叫活锁
互斥:当一个进程在临界区访问共享资源时,其他进程不能进入该临界区访问任何共享资源,这种情形叫互斥。
竞争条件:多个线程或者进程在读写一个共享数据时结果依赖于它们执行的相对时间,这种情形叫竞争
饥饿:是指一个可运行的进程尽管能继续执行,但被调度器无限期忽视,而不能调度执行的情况。
并发的原理:
控制对共享资源的访问是对于单处理器系统和多处理系统访问同一个全局变量所引发问题的共同解法。
竞争条件:
竞争条件发生在当多个进程或者线程在读写数据时,其最终的结果依赖于多个进程的指令执行顺序。
操作系统关注的问题:
操作系统必须为每个活跃进程分配和释放各种资源