目录
一.概论
1.操作系统的介绍
是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。目的是管理计算机的软硬件,提高它们的利用率和吞吐量,也同时提供接口,方便用户和应用程序使用硬件设备。
2.特性
异步,虚拟,共享,并发(在一段时间内会有许多进程进行,要和并行进行区别)
3.主要功能
处理机,存储器,设备,文件,接口5方面的管理
4.作用
(1):作为用户和计算机硬件系统的接口
(2):作为计算机系统资源的管理者
(3):实现对计算机资源的抽象
二.进程的描述与控制
1.进程的定义
程序的一次动态执行的过程,是系统进行资源分配的一个独立的单位,组成的元素有PCB(较重要),程序段和数据段。
2.特性
动态,独立,并发,异步
3.进程的创建步骤
(1).申请空白PCB
(2).插入相关信息
(3).插入就绪队列中
4.基本状态转化
5.PCB的作用
(1):作为独立运行基本单位的标志
(2):实现间断性的运行方式
(3):实现与其他进程的同步与同信
(4):提供进程管理的信息
(5):提供进程调度需要的信息
6.进程与线程的比较
(1)地址空间:同一进程内的不同线程共享进程的地址空间和资源;而不同的进程内的不同线程则独立拥有各自的地址空间
(2)并发性:进程和进程之间可以实现并发性,而进程内的线程也可以实现并发性,进一步提高了并发性
(3)系统开销:进程的创建和切换的开销较大,而线程的开销较小
(4)拥有资源:进程拥有资源并作为系统拥有资源的一个基本单位;而线程是几乎不拥有资源的
(5)独立性:同一进程内的不同线程独立性低,因为它们共享进程内的地址空间和资源。而不同进程内的不同线程独立性高,每个进程都拥有一个独立的地址空间和其他资源,除了共享全局变量以外,不允许其他进程访问
三.进程同步
1.同步的概念(挺重要的)
把异步环境下的一组并发进程因直接制约而相互发送信息,相互合作,互相等待等,使得个进程按一定的速度的执行过程。
2.临界区
访问临界资源的那一段代码
3.管程和进程的区别
①虽然二者都定义了数据结构,但进程定义的是私有的数据结构——PCB .管程是公有的数据结构
②进程是由顺序程序执行,管程则主要进行同步操作和初始化操作
③进程的的在于实现系统的并发性,而管程则是解决共享资源互斥使用
④进程之间能并发执行,而管程不行
⑤进程具有动态性.由创建而诞生,由撤销而销亡;管程是 OS 中的一个资源管理模块,仅供进程调用
⑥进程通过调用管程中的过程来对共享数据结构操作,进程是主动工作方式,管程是被动工作方式
4.信号量机制(重中之重,必考题)
tips:必须先同步后互斥,否则会出现死锁
(1)生产者——消费者问题: