文章目录
第一章:操作系统导论
1.1 操作系统的目标
-
方便性
-
有效性
-
可扩充性
-
开放性
1.2 操作系统的作用
-
OS作为用户与计算机硬件系统之间的接口
-
OS作为计算机系统资源的管理者
-
OS实现了对计算机资源的抽象
1.3 操作系统的发展过程
概述
-
20世纪50年代
- 第一个简单的批处理OS
-
60年代
- 多道程序批处理系统
- 分时系统
- 实时系统
-
20世纪70年代
- 微机OS
- 多处理机OS
- 网络OS
1、未配置操作系统的计算机系统
2、单道批处理系统
3、多道批处理系统
4、分时系统
5、实时系统
6、微机操作系统
1.4 微机操作系统的发展
1、单用户单任务操作系统
2、单用户多任务操作系统
3、多用户多任务操作系统
1.5 操作系统的基本特征
1、并发性
-
并发
-
是指两个或多个时间间隔内发生
- 两个程序在同一时刻交替执行,宏观上看,在一段时间内两道程序是同时执行的
-
-
并行
-
是指两个或多个事件在同一时刻发生
- 同时处理不同的程序(多CPU,多处理机)
-
-
单处理机系统中采用多道程序技术后,可以实现硬件之间的并行操作和程序之间的并发执行
-
并发和并行都需要多道程序技术的支持
2、共享性
-
计算机系统中的各种软硬件资源都可以为多个用户同时使用
-
分类
-
互斥共享
- 多个进程互斥地或者排他地性的使用某个资源
-
同时共享(并发共享)
- 指在一段时间内,多个程序可以同时使用系统中某个资源。这里的同时是宏观的,微观上,多个进程交替使用该资源
-
注:并发与共享相辅相成、互为依存
- 只有系统能够高度并发,资源才能充分共享;
- 只有资源被充分共享,系统才能更好地并发
3、虚拟性
- 通过某种技术物理上的一个实体映射为逻辑上的多个对应物。前者是实际存在的,后者是虚的
4、异步性
- 所谓异步是指内存中的多个进程都按照各自独立的、不可预知的速度向前推进。这是由于它们共享资源、并发执行的缘故
1.6 操作系统的主要功能
概述
-
处理机管理功能
-
存储器管理功能
-
设备管理功能
-
文件管理功能
-
操作系统与用户之间的接口
现代操作系统的新功能
- 系统安全
- 网络的功能和服务
- 支持多媒体
1.7 OS结构设计
传统操作系统结构
-
无结构操作系统
-
模块化结构OS
-
模块独立性
- 高内聚低耦合
-
-
分层结构OS
- 如此一层一层地自底向上增添软件层,每一层都实现若干功能,最后构成一个满足需求的OS
客户/服务器模式
-
两个部分
-
提供各种服务的一组服务器(进程),所有这些服务器(进程)都运行在用户态
-
内核
- 用来处理客户和服务器之间的通信,即由内核来接收客户的请求,再将请求送至响应的服务器;同时它也接收服务器的应答,并将此应答回送给请求客户.
-
-
客户/服务器模式的优点
- 提高了系统的灵活性和可扩充性
- 提高了OS的可靠性
- 可运行于分布式系统中
面向对象的程序设计
微内核OS结构
-
基本概念
-
概述
- 它更小更精炼,不仅运行在核心态,而且开机后常驻内存,它不会因内存紧张而被换出内存。微内核OS并非完整的OS,而只是为构建通用OS提供一个重要的基础。
-
1、足够小的内核
-
2、基于客户/服务器模式
-
3、应用”机制策略分离原理“
-
4、采用面向对象技术
-
-
微内核基本功能
- 进程(线程)管理
- 低级存储器管理
- 中断和陷入处理
- 进程通信管理
- I/O设备管理
-
微内核操作系统的优点
-
微内核操作系统存在的问题
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.1 计算机操作系统的概念
一、计算机操作系统的地位
-
裸机
- 没有任何软件支持的计算机,仅仅构成了计算机系统的物质基础
-
一个完整的计算机由计算机硬件和计算机软件构成
-
计算机硬件
-
概念
- 指的是计算机系统中的电子、机械和光电元件等组成的各种计算机部件和计算机设备
-
计算机硬件系统基本组成
- (1)运算器
- (2)控制器
- (3)存储器
- (4)输入输出设备
-
-
计算机软件
-
软件的概念
- 软件是由计算机硬件执行以完成一定任务的所有程序及其数据
-
软件分类
-
系统软件
-
操作系统
- 系统软件的核心
-
程序设计语言
-
数据库管理系统
-
网络系统和常用服务系统组成
-
-
应用软件
- 专门为某一应用目的而生
-
-
-
-
操作系统的功能
-
五大管理功能
- 处理机管理
- 存储器管理
- 设备管理
- 用户接口管理
- 文件管理
-
-
操作系统的定义
- 合理组织计算机的工作流程,有效控制和管理计算机系统的各类资源,并方便用户使用计算机的程序集合.
-
重点说明
- OS是用户和计算机的接口
- OS是最重要的系统软件
1.2操作系统的发展过程
发展需求
- 提高资源的利用率和系统性能
- 方便用户:用户上机、调试程序
- 分赛计算时的事务处理和非专业用户
- 器件的发展
1946–50年代
- 第一代电子管计算机
50年代末-60年代初
-
单批道处理系统(晶体管计算机)
- 利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的及三度程序自动依次处理
- 可以使用汇编语言开发
- 存在问题:CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。对计算机为主的作业,外设空闲;对I/O为主的作业,CPU空闲。人机矛盾仍然存在。
-
操作系统的完善
-
通道技术和中断技术的出现使监督程序在负责作业运行同时提供I/O控制功能。
-
通道
- 专用的I/O处理器,可与CPU并行工作,使I/O联机处理。
-
中断
- 是指CPU在收到外部中断信号后,停止原来工作,转去处理中断事件,完毕后回到原来的端点继续工作。
-
60年代中
-
多道程序批处理系统
- 进一步提高资源利用率和系统吞吐量,引入多道程序批处理系统,操作系统终于代替人工成了计算机系统的“管家”
- 典型代表UNIX
从19080年至今
- 微机操作系统、并行操作系统、分布式操作系统、网络操作系统和嵌入式操作系统等,相继产生
- 典型:DOS、OS/2,windows和Linux
1.3操作系统的类型
批处理操作系统
-
单道批处理系统
-
多道批处理系统
-
内存中同时存放几个作业
-
运行方式
- 宏观上并行运行:都处于运行状态,但都未运行完成。
- 微观上串行运行:个作业交替使用CPU
-
特征
-
优点
- (1)资源利用率高
- (2)作业吞吐量大
- (3)系统开销小
-
缺点
- (1)用户交互性差
- (2)作业平均周转时间长
-
-
分时操作系统
-
概念
- 分时:指若干并发程序对CPU时间的共享,通过系统软件实现。
- 指多个用户分享使用同一台计算机。两个或多个时间按时间划分轮流使用计算机系统中的某一资源
-
实现
- 实现分时的基本方法是设立一个事件分享单位—时间片。它是系统规定进程一次使用处理机最长的时间。时间片长短可以因为不同系统而异,通常100ms左右。
- 实现思想:每个用户在格子的中断上以问答的方式控制程序运行,系统把中央处理器的时间划分成时间片,轮流分配给各个联机中断用户,每个用户只能在极短的时间内执行,若时间片用完,而程序还未做完,则挂起等待下次分得时间片。
-
引入
- 解决批处理系统中用户交互性差的问题
-
特征
-
交互性
-
及时性
- 终端用户的请求能在很短的时间内获得响应,通常2~3秒
-
独占性
- 用户各占一个终端,彼此独立操作,互不干扰,就类似自己独占主机一样.
-
同时性
- (多路性)提高了系统资源的利用率,节省了开支
-
实时操作系统
-
概念
- 指系统特定输入做出反映的速度足以控制发出实时信号的对象,或者说计算机能够实时地响应外部事件的请求,在规定的短时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地运行
-
类型
-
实时控制系统
-
实时信息处理系统
- 信息查询系统
- 事务处理系统
-
-
特征
-
多路性、独占性
-
(1)稍微弱的人机交互性
- 仅允许操作人员访问系统中某些特定的专用服务程序,一般不许写入或修改现有程序
-
(2)实时性
- 以控制对象所能接受的延迟时间来确定,可以是秒级、毫秒级,甚至是微妙级
-
(3)可靠性
- 常采用多级容错性,以保证系统的安全可靠
-
单用户操作系统
-
单用户单任务操作系统
- 在同一段时间内仅为一个用户提供服务。由于一个用户独占整个操作系统,操作系统资源管理的人去变得不重要,为用户提供良好工作环境成为操作系统最主要的目标。
-
单用户多任务操作系统
- 只允许一个用户上机,但允许将用户程序分为若干任务,使他们并发执行。
网络操作系统
- 将地理上分散的自主计算机通过通信系统的线路互联而形成的计算机网咯。
- 网络操作系统通常在操作系统的功能基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享。
分布式操作系统
- 指多台分散计算机,经互联网络连接而成的系统。每太计算机高度自治,又相互协同,能在范围内实现资源管理,任务分配、能并行运行分布式程序.