- 7
- 0
- 约4.36千字
- 约 43页
- 2018-03-16 发布于北京
- 举报
计算机科学导论第五章.ppt
第五章 操作系统原理 操作系统是离计算机硬件最近的软件,计算机用户通过操作系统来操纵计算机中各类资源,因而操作系统肩负着极其重要的任务,即要清楚用户的要求,又要合理、高效地控制硬件和软件的工作。 5.1 操作系统概述 操作系统(Operating System , OS)是配置在计算机硬件系统上的第一层软件,它是计算机系统中各种资源的管理者和各类活动的组织者、指挥者,用来协调整个计算机系统的各项工作。 操作系统属于系统软件,是整个计算机系统的核心,其作用和地位类似于人类的大脑,为计算机系统的运行提供服务和支持。 5.1.1 操作系统的地位 操作系统是直接作用在裸机上,提供计算机资源管理等基础性服务的软件。 支撑软件又直接作用在操作系统上,为应用软件提供各种必要支持的软件。如编译软件、程序开发环境等。 应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 5.1.2 操作系统的功能 操作系统的主要任务是对系统中的软件、硬件实施有效的管理,以提高系统中各类资源的利用率。因此,一般将操作系统的功能分为处理机管理、存储器管理、设备管理、文件管理、接口管理等。 5.2 处理机管理 处理机是计算机中的核心资源,现代操作系统允许多个程序共享处理机,按照某种算法(分时、优先级)交替地使用处理机。 在多道程序环境下,通常把正准备进入内存的程序称为作业,当作业进入内存后称为进程。 处理机管理分为作业管理和进程管理两个阶段去实现处理机的分配。 5.2 处理机管理-----进程的概念 并行性、并发性: 并行性指两个或多个事件在同一时刻发生; 并发性指两个或多个事件在同一时间间隔内发生。 从宏观角度看,程序是同时运行,即并发执行;并发执行能够有效的提高系统的资源利用率和系统的吞吐量。 并发执行的特征: (1)间断性 (2)失去封闭性 (3)不可再现性 进程的定义: (1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 进程和程序的区别: (1)结构特性。 (2)动态性和静态性。 (3)并发性。 (4)独立性。 (5)包容性。 5.2.2 进程控制 进程在执行过程中具有多种状态,包括创建、运行、阻塞、挂起、终止等。 进程控制的任务就是系统使用一些具有特定功能的程序段来创建、撤消进程及完成进程各状态间的转换,从而达到多进程高效率并发执行和协调,实现资源共享的目的。 5.2.3 进程的互斥与同步 1.两种形式的制约关系 (1) 间接相互制约关系。同处于一个系统中的进程,通常都共享着某种系统资源,如共享CPU、共享I/O设备等。所谓间接相互制约即源于这种资源共享. 例如,有两个进程A和B,如果在A进程提出打印请求时,系统已将惟一的一台打印机分配给了进程B,则此时进程A只能阻塞;一旦进程B将打印机释放,则A进程才能由阻塞改为就绪状态。 (2) 直接相互制约关系。这种制约主要源于进程间的合作。 例如,有一输入进程A通过单缓冲向进程B提供数据。当该缓冲空时,计算进程因不能获得所需数据而阻塞,而当进程A把数据输入缓冲区后,便将进程B唤醒;反之,当缓冲区已满时,进程A因不能再向缓冲区投放数据而阻塞,当进程B将缓冲区数据取走后便可唤醒A。 经典的进程同步问题 生产者-消费者问题 读者-写者问题 哲学家进餐问题 5.2.4 进程调度 在多道程序环境下,多个就绪进程都等待使用处理机,处理机是临界资源,每次仅允许一个进程使用,把处理机分配给某一进程的过程称为处理机调度 。 每当一个处理机变成空闲时,就绪队列中的进程之间存在着占用该空闲处理机的竞争。 操作系统的调度算法用于规定如何解决这个竞争。 --先来先服务 --优先数 法 --时间片轮转法 --分级调度法等。 5.2.5 死锁 所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。 例如: 系统中只有一台CD-ROM驱动器和一台打印机,某一个进程占有了CD-ROM驱动器,又申请打印机;另一进程占有了打印机,还申请CD-ROM。结果,两个进程都由于得不到需要的资源而阻塞,若不采取其它措施,这种循环等待状况会无限期持续下去。 死锁发生的必要条件 互斥条件:互相排斥着使用某个资源。 请求和保持条件:不释放自己
原创力文档

文档评论(0)