一,计算机系统分为以下4个部分:
1,hardware硬件(CPU,内存,I/O)
2,operating system操作系统
3,Application programs应用程序
4,Users用户
(计算机系统的基本目的是:执行用户程序并能更容易地解决用户问题)
二,操作系统概念(是什么):
操作系统是管理计算机硬件的程序,充当计算机硬件和用户的中介。
- 操作系统是管理和控制计算机硬件和软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
三,操作系统的设计目标:
- 执行用户程序(Execute user programs)
- 使计算机系统使用更便利(convenient)
- 更高效(efficient)地管理计算机硬件
四,操作系统定义:
- 资源分配器(resource allocator)
操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平地运行
- 控制程序(control program)
- 操作系统是一直运行在计算机上的程序——内核(Kernel)
五,操作系统分类:多道程序系统和分时系统是现在操作系统的主题
- Mainframe Computer System(大型计算机系统)
- Batch Processing System 批处理系统:用户不能直接与计算机系统交互
- Multiprogrammed System多道程序系统:任何时候都有一个进程在运行,提高CPU的利用率
(由于批处理系统会导致CPU区间空闲而IO区间忙碌,因此多道程序系统诞生)
- 长期作业调度——决定多道程序的度(度:并发运行的进程数)
- 从作业池中选择一个作业,将它调入内存(ready to be brought into memory)
- 短期作业调度——CPU调度
- 从多个就绪作业中选择一个作业,准备运行(ready to run)
- Time-Sharing System分时系统:多道程序设计的自然延伸,用到中期调度
(由于作业切换非常快,用户可在每个程序运行期间进行交互)
- 为获得合理的响应时间,要将作业换入内存或由内存换出到磁盘。此时采用虚拟内存技术(一种允许一个作业的执行不必完全在内存中的技术)
- 需提供文件系统
- 需提供磁盘管理(∵文件系统在磁盘上)
- 需提供并发机制
- 需提供实现作业同步和通信机制
- Desktop Operating System个人计算机系统
- Parallel Operating System并行系统/多处理器系统/紧耦合系统
- 它们共享计算机总线、时钟、内存、外设
- 三大优点:
- 增加计算量(吞吐量)
- 规模经济
- 增加可靠性
- 这种能提供与正常工作的硬件成正比服务的能力称为功能退化,具有功能退化特征的系统称为容错系统
- 对称多处理SMP(Symmetric multiprocessing)
- 非对称多处理(Asymmetric multiprocessing)
- Distributed Operating System分布式系统/松耦合系统(Lossely coupled system)
- 一组不共享内存、外设和时钟的处理器的集合
- 各自拥有本地内存
- 通过通信线路来相互通信
- Clustered Operating System集群系统(集群计算机共享存储,通过网络紧密连接)常用于计算中心
- 非对称集群
- 一台机器热备份模式,只监视现役服务器,如果现役服务器失效,热备份主机顶上去
- 另一台运行应用程序
- 对称集群
- 同时运行应用程序,互相监督
- 非对称集群
- Real-Time Operating System实时系统(对数据操作有严格时间要求)
- 硬实时系统:处理必须在确定的时间约束内完成
- 软实时系统:降低限制,保证高优先级任务能按时完成
- Handheld Operating System手持系统
六,计算机系统组织
- 计算机系统操作
- 一个或多个CPU与若干设备控制器通过共同的总线相连而成,该总线提供对共享内存的访问。
- I/O设备能和CPU并发执行
- CPU在内存和本地缓存之间移动数据
- I/O从设备到本地缓存控制器
- 对每个设备控制器
- 负责特定设备类型
- 有本地缓存和寄存器
- 当IO完成,通过它产生中断告诉CPU
七,中断:
类型:程序中断,时钟中断,硬件故障中断,IO中断
操作系统通过上下文切换保存当前进程状态(通过保存寄存器和程序计数器)。
(能分析途中每一时刻状态变化的原因)
八,I/O结构
- 同步I/O结构
- 任何时刻最多只能处理一个IO请求,需等待IO完成才能处理下一个请求
- 异步I/O结构
- 当IO开始,控制可返回至用户程序而无需等待IO完成
- 系统调用 可允许用户等待IO完成
- 设备状态表(Device-status table) 记录IO设备的条目
- 该条目包括设备类型、地址、状态
- 发生中断时,操作系统查找IO设备状态表,确定设备状态,修改条目,以反映出现中断
- 当IO开始,控制可返回至用户程序而无需等待IO完成
九,Direct Memory Access Structure直接内存访问结构(DMA)
- 用于告诉IO设备,专门用于大量数据传输
- 设备控制器能在本地缓冲存储器和内存之间直接传送一整块数据,无需CPU干预
- 每块只产生一个中断
十,OS一般组成
- Process Management 进程管理
- 进程时正在运行的程序
- 资源可以在创建进程时赋予或者执行进程时分配
- 进程时系统的工作单元
- Main Memory Management 内存管理
- 内存是CPU唯一能寻址访问的大容量存储器
- File Management文件管理
- 文件:逻辑存储单元,由创建者定义的一组相关信息的集合
- I/O System Management IO系统管理
- Secondary-Storage Management二级存储管理/硬盘管理
- Networking 网络/分布式系统
- Protection System 保护系统
- 3种安全性问题
- 多个进程并发执行时,进程间不能互相干预
- 用户进程不能干预操作系统进程
- 用户模式(User model)
- 内核模式(Kernel model):也叫特权指令(privilege instruction)
- 用户进程的死循环
- 3种安全性问题
- Command-Interpreter System 命令解释系统
十一,系统调用System calls
- 系统调用提供了操作系统和进程之间的接口
- 通常以汇编语言指令形式提供(通常由C或C++编写)
- 向操作系统传递参数(parameters)的三种方法:
- 寄存器
- 参数个数>寄存器个数时,参数存到内存的块或表,并将块地址作为参数传给寄存器
- 压到堆栈中(操作系统偏爱)
- 绝大多数用户看到的操作系统由系统程序定义,而不是实际的操作系统。
十二,操作系统结构
- Simple structure简单结构
- MS-Dos,未定义modules
- Layered Approach分层法
- 操作系统分成若干层,每层建立在较低层之上,仅利用较低层提供的操作来实现。
- 最底层(0层)是硬件,最高层(N层)是用户接口
- 一个典型的操作系统,由数据结构和一组可为上层所调用的子系统集合组成,层M能调用低层操作。
- 优点:构造调试简单
- 缺点:定义每一层困难,执行效率低
- Virtual Machines虚拟机是分层法自然而逻辑的沿伸,优点:
- 提供坚实安全层,完全保护系统资源
- 允许系统开发,不必中断正常系统操作
- Micro-Kernels微内核
- 提供最小的进程管理和内存管理以及通信功能。
- 优点:
- 便于扩充操作系统
- 新服务增加到用户空间,不必修改内核
- 内核本身小,需要修改时改动也很小
- 提供更好的安全性和可靠性