1 操作系统引论

1.1  操作系统的目标、作用

1. OS的目标

方便性:用户无需了解底层硬件,无需用0、1机器语言操作。

有效性:CPU、I/O、存储等的管理专门、合理地被组织管理起来,提高资源的利用率。

可扩充性:扩充应用软件;适应硬件和体系结构发展,扩充底层管理功能模块等。

开放性:网络环境,遵循开放互联标准。

2.OS的作用

1) 作为用户与计算机硬件系统之间的接口,达成方便性的目标。

用户通过OS来使用计算机系统。或者说,用户在OS帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。

2)OS作为计算机系统资源的管理者,达成有效性目标。

3)OS用作扩充机器

系统软件以及更上层的用户应用软件在操作系统虚拟机上运行:计算机成为功能更强大的多层虚拟机。

1.2  操作系统的发展过程

1.人工操作方式

1946-50年代中:电子管时代,计算机速度慢,无操作系统,计算机资源昂贵;

工作方式:  用户:既是程序员又是操作员;用户是计算机专业人员;

编程语言:机器语言;

输入输出:纸带或卡片;

计算机工作特点:用户独占全机,资源利用率极低;

CPU等待用户,计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;

主要矛盾:人机矛盾----人工操作严重降低了计算机资源的利用率

提高效率的途径:脱机输入/输出技术

2.脱机输入/输出(Off-Line I/O)方式:

等待人工操作纸带输入数据的不是CPU,而是外围机,一定程度解决人机矛盾。

脱机I/O方式的主要优点:减少CPU的空闲时间

                        提高I/O速度

脱机I/O方式的主要缺点:系统开销大

3.单道批处理系统(Simple Batch Processing System)

作业成批、脱机方式输入到磁带或磁盘

进一步减少脱机I/O中装卸磁带等耗时操作

系统监督程序(Monitor)控制作业自动过渡,一个接一个的连续处理

特征:单道性  顺序性  自动性

优点: 一定程度解决人机矛盾,CPU与I/O速度矛盾;

提高资源利用率和系统吞吐量;

算做OS的前身,但还不是现在所理解的OS;

4. 多道批处理系统

*一个重要思想诞生:多道程序设计*

用户作业、外存上排队,称为“后备队列”;

作业调度程序、按一定的算法、从后备队列中选择若干作业 调入内存

入内存的作业、共享CPU和系统中的各种资源,自动批量处理。

“多道”程序优点

CPU利用率提高:减少CPU等待时间(正在运行的程序若因为I/O操作暂停,可调度其他程序执行,不必装卸。)

内存利用率提高:容量尽可能多的被利用

多种I/O设备并发被使用,提高利用率

总体->系统吞吐量增加(虽然CPU总是串行的,但一段时间内被运行的作业数相对要多)

1)多道批处理系统的特征:

多道性

无序性 作业入内存由算法决定,不按提交顺序。入内存后顺序执行。

调度性 包括作业调度、进程调度

2)多道批处理系统的优缺点:

优点:资源利用率高:CPU和内存利用率较高;

系统吞吐量大:单位时间内完成的工作总量大;

缺点:平均周转时间长:短作业的周转时间显著增长;

无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;

3)多道批处理系统解决的五大问题:

处理机管理问题

内存管理问题

I/O设备管理问题

文件管理问题

作业管理问题

5.分时系统(time-sharing system)

1)分时系统的产生

用户的新需求是主要动力: 人—机交互

共享主机

便于用户上机

2)分时系统实现中的关键问题

交互:当用户在自己的终端键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。

共享:强调即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。

(1)及时接收:多路卡,缓冲区

(2)及时处理:终端请求作业直接进入内存,设置时间片

(3)分时系统的实现方法

改变批处理系统的运行方式:

多个用户连接主机

请求的作业发送到主机后,直接进入主机内存以快速响应

系统采用时间片轮转方式处理服务请求

响应时间RT(response time)≈时间片×用户数

分时系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。分时系统是多道程序的逻辑扩充。

(4)分时系统的特征:多路、独立、及时、交互

多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分利用系统资源。宏观上:多个人同时使用一个CPU

微观上:多个人在不同时刻轮流使用CPU

独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不干扰

及时性:通过时间片技术和轮转调度算法保证及时响应

交互性:系统及时响应用户的请求,显著提高调试和修改程序的效率:缩短周转时间

6. 实时系统(Real-Time System)

实时系统是指:系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

实时系统的实现

系统必修有能够保证其承担的多个任务在规定的时间完成,调度和能力是关键。

(1)按任务执行时是否呈现周期性来划分

周期性实时任务

非周期性实时任务——截止时间

(2)根据对截止时间的要求来划分

硬实时任务

软实时任务

 

操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度(多道),方便用户使用的程序的集合。

 

1.3  操作系统的基本特征

各种典型操作系统各有特色,但均具有共同的基本特征:并发 共享  虚拟 异步

多道并发是最根本的特征 并发引出五大管理功能 同时使OS具有更多的特征

1.并发concurrence

并行性:两个或多个事件在同一时刻发生

并发性:两个或多个事件在同一时段发生

并发和进程是现代OS最重要的基本概念

2.共享sharing

系统中的资源可供内存中多个并发执行的进程(线程)共同使用。主要有两种共享方式:

互斥共享方式:

       对临界资源(如打印机)采用该方式,资源分配给某进程后未释放前,不能被其他进程所用。

临界资源(独占资源):一段时间内只允许一个进程访问的资源。

同时访问方式:

       对允许“同时”访问的资源(如磁盘)采用该方式,但“同时”仍然是“宏观并行微观串行”的,不是真正的同时。

 

并发和共享互为存在的条件,多个程序并发才导致资源需要共享,资源共享若没有协调好,必然影响程序的并发执行。

3. 虚拟virtual

通过某种技术把一个物理实体变为若干个逻辑对应物(用户感觉上的东西),两种实现方式:

时分复用

一个物品被多人分时使用,在一段时间内就表现为每个人都有一个该物品可用,1虚拟为n。

空分复用

一个物品划分为多个部分,多个人每人都有一部分可用,主观上看也是1虚拟成n。

1.4  操作系统的主要功能

1.处理机管理功能

传统多道程序系统,处理机分配和运行都以进程为基本单位,对处理机的管理,就是对进程的管理。引入线程后,也包括对线程的管理。

主要解决内存中多道并发执行的“进程”如何占用CPU,如何运行的问题。

1)进程控制:

为作业创建进程、撤销已结束的进程,控制进程在运行过程中的状态转换。以及线程的创建撤销等。(可理解为对单个进程基本信息进行管理)

2)进程同步:

为多个进程运行进行协调(包括互斥和同步)

3)进程通信:

用来实现在相互合作进程间的信息交换;(直接通信和网络通信)

4)调度:

作业调度(入内存)和进程调度(分配CPU)

  1.   存储器管理功能

1)内存分配:为每道程序分配内存空间,具体分配涉及许多细节:

分配方式:动态、静态

分配机制需要的数据结构、分配算法、回收内存功能

2)内存保护:确保每道用户程序都只在自己的内存空间中运行

需要一个硬件——界限寄存器,存放正在执行进程的内存上下界,每条指令的访问地址都要进行越界检查,一般用硬件实现检查

3)地址映射(变换):进程的逻辑地址到内存物理地址的映射

程序编译形成的目标程序地址都是从0开始,是逻辑地址

真正调入内存某个空间存放的地址是物理地址

4)内存扩充:用虚拟存储技术解决内存容量不足的问题;

请求调入功能

页面置换功能

  1.   设备管理功能

1)缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;

2)设备分配:按某种设备分配策略,为之分配所需的设备; 应设置设备控制表等数据结构记录设备及其控制器的标识符和状态;不同的设备,分配方式不同

3)设备处理:设备处理程序即驱动程序,及时X响应设备控制器请求,实现CPU和设备控制器之间的通信

  1.   文件管理功能

1)存储空间的管理:分配外存空间,提高外存的利用率,提高文件系统的运行速度;

       需要相应的数据结构,记录文件存储空间的使用情况;要有对存储空间分配和回收的功能

2)目录管理:为文件建立目录项,并有效组织,实现方便的按名存取;提供快速的目录查询手段,提高文件检索速度;还需实现文件共享

3)文件的读写管理和保护:读写操作与有效的存取控制功能

  1.   用户接口

1)命令接口

       用户可通过键盘终端发出命令以控制作业的运行。

联机用户接口:由一组磁盘操作命令和命令解释程序组成。

脱机用户接口:由一组作业控制语言组成,如批处理文件。

2)程序接口

用户程序在执行中访问系统资源而设置,由一组系统调用组成。

早期汇编语言才能使用,后高级语言及C语言中都给出了系统调用对应的库函数。

3)图形接口

1.5  操作系统的结构

传统OS结构:无结构OS  模块化OS结构  分层式OS结构

微内核OS结构

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值