- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统的特征
不同的操作系统具有各自的特点,但它们都有以四个基本特征:
并发性:在多道程序环境下,并发性是指让多个程序同时在系统中运行。但在单处理机系统中,每一时刻仅能执行一道程序,并发性是宏观上的,而微观上这些程序是在CPU上交替执行。在多CPU系统中,并发程序不仅在宏观上是并发的,而且在微观上也是并行运行的。
共享性:资源共享是指系统中的硬软件资源不再为某个程序所独占,而是供多个用户程序共同使用。
虚拟性:操作系统以硬件提供的基本功能为基础,采用不断扩充、逐层虚拟的分层结构。在分层结构中,上层依赖于下层功能,并对下层功能进行扩展后向再上一层提供服务。操作系统的各个程序模块分别对硬件逐层进行了扩充和改造,最终形成了一个功能强大的、虚拟的计算机,出现在用户面前。
随机性:各程序何时执行,执行顺序都不确定。
操作系统的功能服务
从使用角度看:操作系统是一台比裸机功能更强,使用更方便,服务质量更高的虚拟机,为用户使用计算机提供了一个窗口和界面。
从功能角度看:操作系统是计算机资源的管理者,它负责对计算机全部软硬件资源的分配、控制、调度和回收。
从组成结构看:操作系统是一个大型系统软件,是由控制和管理系统运行的程序和数据集合组成。
现代计算机系统由硬件系统和软件系统两部分构成
硬件系统是指构成计算机系统的物理设备。比如控制器、运算器、存储器、外部设备等。
软件系统是指在计算机系统中使用的各种程序。
进程的定义
进程(Process)是具有一定独立功能的程序在一个数据集合上的一次运行活动,是系统进行调度和资源分配的基本单位。
进程和程序的的区别
1、进程是动态概念,程序是静态概念。
2、进程具有并发性
3、进程是资源分配和调度的基本单位
4、多个进程可以同时执行一个程序
2.2进程的同步与互斥
1、临界资源:一次仅允许一个进程访问的资源。
2、临界区:访问临界资源的那部分代码。
对临界区的操作都应遵循以下准则:
空闲让进:当临界资源空闲时,任何有权使用临界资源的进程可立即进入。
忙则等待:同时有多个进程申请进入临界区时,只能让一个进程进入临界区,其它进程必须等待。
有限等待:对于要求访问临界资源的进程,应能在有限时间内得到满足。进入临界区的进程应该在有限的时间内完成操作并释放该资源,退出临界区。
让权等待:那些目前进不了临界区,处于等待状态的进程应当放弃占用CPU,以使其它进程有机会得到CPU的使用权。
2.2.2信号量机制
P-V操作过程描述如下:
⑴P操作
P操作记为P(S),S代表信号量,P(S)执行时主要完成下述动作:
S=S-1(信号量S的值减1)
若S=0,该进程继续执行
若S0,该进程被阻塞,并插入该信号量的等待队列中
⑵V操作
V操作记为V(S),S代表信号量,V(S)执行时主要完成下述动作:
S=S+1
若S0, 该进程继续执行
若S=0,从信号量等待队列中移出第一个进程,使其变为就绪状态,然后再返回原进程继续执行
2.2.3同步与互斥的实现
1、利用P-V操作实现互斥
S=1
进程P1 进程P2
┋ ┋
P(S) P(S)
临界区 临界区
V(S) V(S)
┋ ┋
信号量S的初值表示某类临界资源的数目
信号量S0时,其值表示尚可分配的资源数目
信号量S=0时,表示系统中该类临界资源全部被占用,但没有进程在等待该临界资源
信号量S0时,信号量值的绝对值表示等待该资源的进程数目
例题1
生产围棋的工人不小心把相等数量的黑子和白子混装载一个箱子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程组成,功能如下:(1)?进程A专门拣黑子,进程B专门拣白子;(2)?每个进程每次只拣一个子,当一个进程在拣子时不允许另一个进程去拣子
例题2
设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。设每个用户程序对应一个进程。问:这三个进程间有什么样的制约关系?使用P、V操作写出这些进程使用打印机的算法。
2、利用P-V操作实现进程的同步
1)两个进程共享缓冲区的实现
图2-8 共享缓冲区
进程A (S1=1 ) 进程B (S2=0)
… …
文档评论(0)