第一章 操作系统引论

  1. OS的目标
    方便性:用户无需了解底层硬件,无需用0、1机器语言操作。(可以说不用手,用工具,进入石器时代了。)
    有效性:CPU、I/O、存储等的管理专门、合理地被组织管理起来,提高资源的利用率。
    可扩充性:扩充应用软件;适应硬件和体系结构发展,扩充底层管理功能模块等。
    开放性:网络环境,遵循开放互联标准。
  2. OS的作用
  1. 作为用户与计算机硬件系统之间的接口
  • 达成了方便性的目标。*
    用户通过OS来使用计算机系统。或者说,用户在OS帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。
    推动OS萌芽、发展、变化的主要动力:
    ①方便用户
    ②提高计算机资源利用率
    ③硬件器件不断更新换代:8bit ->16,32
    ④计算机体系结构的不断发展:单CPU,多CPU,网络
    计算机工作特点:
    用户独占全机,资源利用率极低;
    CPU等待用户,计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;
    主要矛盾:
    人机矛盾----人工操作严重降低了计算机资源的利用率
    提高效率的途径:
    脱机输入/输出技术。
    单道批处理系统
    作业成批、脱机方式输入到磁带或磁盘上
    系统监督程序控制作业自动过渡,一个接一个的连续处理。
    特征:
    ①单道性
    ②顺序性
    ③自动性
    优点:
    ① 一定程度解决人机矛盾,CPU与I/O速度矛盾;
    ②提高了资源利用率和系统吞吐量;
    ③算做OS的前身,但还不是现在所理解的OS。
    多道批处理系统
    用户作业、外存上排队,称为“后备队列”;
    作业调度程序、按一定的算法、从后备队列中选择若干作业 调入内存
    入内存的作业、共享CPU和系统中的各种资源,自动批量处理。
    特征:
    ①多道性
    ②无序性
    作业入内存由算法决定,不按提交顺序。入内存后顺序执行。
    ③调度性
    包括作业调度、进程调度
    多道批处理系统的优缺点:
    优点:
    ①资源利用率高:CPU和内存利用率较高;
    ②系统吞吐量大:单位时间内完成的工作总量大;
    缺点:
    ①平均周转时间长:短作业的周转时间显著增长;
    ②无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改。
    操作系统是:
    一组控制和管理计算机硬件和软件资源,
    合理地对各类作业进行调度(多道),
    方便用户使用的程序的集合。
    分时系统实现中的关键问题:
    交互:当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。
    共享:强调即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。
    (1)及时接收:多路卡,缓冲区;
    (2)及时处理:终端请求作业直接进入内存,设置时间片。
    分时系统的实现方法

改变批处理系统的运行方式:
多个用户连接主机;
请求的作业发送到主机后,直接进入主机内存以快速响应;
系统采用时间片轮转方式处理服务请求。

分时系统的特征:
多路、独立、及时、交互
多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分利用系统资源。
独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不干扰。
及时性:通过时间片技术和轮转调度算法保证及时响应。
交互性:系统及时响应用户的请求,显著提高调试和修改程序的效率:缩短了周转时间。

实时系统的引入
(1)实时控制
(2)实时信息处理
实时系统的实现
系统必修有能够保证其承担的多个任务在规定的时间完成,调度和能力是关键。

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

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

时分复用
一个物品被多人分时使用,在一段时间内就表现为每个人都有一个该物品可用,1虚拟为n。
空分复用
一个物品划分为多个部分,多个人每人都有一部分可用,主观上看也是1虚拟成n。

虚拟磁盘
时分复用:多个程序可“同时”读写
空分复用:1个硬盘对应成4个逻辑区

虚拟内存
时分复用:一块内存空间分时的分配给多个进程使用,逻辑上扩大内存空间。
空分复用:充分利用内存空闲空间,提高内存利用率。

异步性
指进程的执行顺序和执行时间的不确定性。

1)进程控制:
为作业创建进程、撤销已结束的进程,控制进程在运行过程中的状态转换。以及线程的创建撤销等。
(可理解为对单个进程基本信息进行管理)
2)进程同步:
为多个进程运行进行协调(包括互斥和同步)
3)进程通信:
用来实现在相互合作进程间的信息交换;(直接通信和网络通信)
4)调度:
作业调度(入内存)和进程调度(分配CPU)

存储器管理功能
1)内存分配:为每道程序分配内存空间(包产到户)具体分配涉及许多细节:
分配方式:动态、静态
分配机制需要的数据结构、分配算法、回收内存功能
2)内存保护:确保每道用户程序都只在自己的内存空间中运行
需要一个硬件——界限寄存器,存放正在执行进程的内存上下界,每条指令的访问地址都要进行越界检查,一般用硬件实现检查。
3)地址映射(变换):进程的逻辑地址到内存物理地址的映射。
程序编译形成的目标程序地址都是从0开始,是逻辑地址
真正调入内存某个空间存放的地址是物理地址
4)内存扩充:用虚拟存储技术解决内存容量不足的问题;
请求调入功能
页面置换功能

设备管理功能
1)缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;
2)设备分配:按某种设备分配策略,为之分配所需的设备;
应设置设备控制表等数据结构记录设备及其控制器的标识符和状态;不同的设备,分配方式不同
3)设备处理:设备处理程序即驱动程序,及时X响应设备控制器请求,实现CPU和设备控制器之间的通信。

  1. 文件管理功能
    1)存储空间的管理:分配外存空间,提高外存的利用率,提高文件系统的运行速度;
    需要相应的数据结构,记录文件存储空间的使用情况;要有对存储空间分配和回收的功能
    2)目录管理:为文件建立目录项,并有效组织,实现方便的按名存取;提供快速的目录查询手段,提高文件检索速度;还需实现文件共享。
    3)文件的读写管理和保护:读写操作与有效的存取控制功能。

  2. 用户接口
    1)命令接口
    用户可通过键盘终端发出命令以控制作业的运行。
    联机用户接口:由一组磁盘操作命令和命令解释程序组成。
    脱机用户接口:由一组作业控制语言组成,如批处理文件。
    2)程序接口
    用户程序在执行中访问系统资源而设置,由一组系统调用组成。
    早期汇编语言才能使用,后高级语言及C语言中都给出了系统调用对应的库函数。
    3)图形接口

开发OS的过程中,先后引入了分解、模块化、抽象、屏蔽等方法,OS结构不断更新换代。

1.传统的OS结构
1)无结构OS
早期开发OS,只追求实现和效率,缺乏贯穿的设计思想。是一组过程的集合。
问题:
过程互相调用,没有清晰的结构
程序错误很多,调试复杂,阅读维护困难
2)模块化OS结构
20世纪60年代出现的一种程序设计技术。基于“分解”和“模块化”原则来控 制大型软件的复杂度。
制定功能模块
规定各模块接口
划分子模块
称为模块——接口的设计方法,关键是模块的划分和规定接口。

优点:
提高设计的正确性、可理解性和可维护性;
增强了OS的可适应性,可选用相应功能模块,也可进行增减和修补以满足新需求;
加速了开发过程;

3)分层式OS结构
改进设计方式,变无序为有序——分层的思想
优点:
易保证系统正确性
易扩充和维护
缺点:
分层单向依赖,执行一个功能,总要自下而上地穿越多层,增加系统通信开销,降低了效率。

微内核OS结构
微内核OS结构以OS为核心,以C/S为基础,采用了面向对象程序设计方法。
1)客户/服务器技术
2)面向对象技术
3)微内核

微内核
精心设计、实现一个可在其上构建通用OS的基础内核,该内核程序运行在核心态,开机常驻内存。

微内核的优点
灵活、可扩充:可选配功能服务器模块
增强可靠性:内核是稳定的核心,只有它能直接访问硬件。服务器在用户态出错绝不会导致系统瘫痪。
可移植性:操作系统绝大部分(各种服务器程序)与硬件平台无关,在不同硬件平台间移植时修改比较小。
该机制尤其适用于分布式系统
采用面向对象技术,减少开发开销

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值