1.计算机系统概述
1.1操作系统的基本概念
1.计算机系统从下而上分为四个部分:硬件、操作系统、应用程序、用户
操作系统(os)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机地工作与资源分配,进而为用户和其他软件提供方便接口与环境地程序集合。
操作系统是计算机系统种最基本的系统软件。
1.2操作系统的特征:并发、共享、虚拟、异步
并发:两个或多个事件在同一时间间隔内发生。
①os中的并发性:计算机系统中同时存在多个运行的程序。
②“并发”与“并行”的区别:“并行”:在同一时刻能完成两种或两种以上的工作。并行性的实现需要有相关硬件的支持。“并发“两个或多个事件在同一时间间隔内发生。
共享:资源共享即共享,指系统中的资源可供内存中多个并发执行的进程共同使用。共享可分为“互斥共享方式”和“同时访问方式”
①“互斥共享方式”
“临界资源”:在一段时间内只允许一个进程访问的资源
②“同时访问方式”
可通过“分时共享”的方式实现。
并发和共享是操作系统两个最基本的特征,两个之间互为存在的条件。
虚拟:把一个物理上的实体变为若干逻辑上的对应物。用于实现虚拟的技术“虚拟技术”,
如虚拟处理器、虚拟内存、虚拟外部设备等。
1.os的虚拟技术可归纳为:时分复用技术(处理器的分时共享);空分复用技术(虚拟存储器)。
异步:多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是os的异步性。
1.3操作系统的目标和功能
1.os作为计算机系统资源管理者
处理机管理、存储器管理、设备管理、文件管理。(为给多道程序提供运行环境)
2.os作为用户与计算机硬件系统直接的接扣
3.os用作扩充机器。
1.2操作系统发展与分类
2.1手工操作阶段(无os)
缺点:1.用户独占全机,资源利用率低。2.cpu等待手工操作,cpu利用不充分。
2.2批处理阶段(出现os)
1.单道批处理系统:系统怼作业的处理是成批进行,但内存中始终保持一道作业。
特点:自动性、顺序性、单道性。
2.多道批处理系统:允许多个程序同时进入内存并允许它们在cpu中交替进行,这些程序共享系统中的各种软/硬件资源。
特点:多道、宏观上并行、微观上串行。
优点:资源利用率高,多道程序共享计算机资源,从而使各资源得到充分利用;系统吞吐量大,CPU和其他资源保持“忙碌“状态。
缺点:用户响应的时间较长;不提供人机交互能力。
2.3分时操作系统:把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。
特征:同时性(多路性)、交互性、独立性、及时性
解决了多道批处理系统人机交互问题。无法实时响应。
2.4实时操作系统:为了能在某个时间限制内完成某些紧急任务而不需要时间排排队。
主要特点:及时性、可靠性。
1.3操作系统运行环境
3.1 os的运行机制
CPU执行两种不同性质程序:操作系统内核程序;用户自编程序(应用程序)。
内核程序会执行一些特权指令(指计算机中不允许用户直接使用的指令,I/O程序、置中断程序等),用户自编程序出于安全考虑无法执行特权指令。
将CPU状态划分为用户态与核心态。
- 时钟管理:计时;通过时钟中断管理,可以实现进程的切换。
- 中断机制:提高CPU利用率。os的各项操作的基础,如:键盘或鼠标信息的输入、进程的管理和调度、系统功能的调用、设备驱动、文件访问。现在操作系统是靠中断驱动的软件。
中断机制中,只有一小部分功能属于内核,它们负责保护和恢复中断现场的信息,转移控制权到相关处理程序。这样可以减少中断的处理时间,提高系统的并行处理能力。
3.原语:
特点:1.处于os的最底层,是最接近硬件的部分。2.原子性,其操作一气呵成。3.程序运行时间短,且调用频繁。
定义原语的直接方法是关闭中断,让所有动作不可分割地完成后再打开中断。
- 系统控制的数据结构及处理
1.进程管理:进程状态管理、进程调度和分派、创建与撤销进程控制块等。
2.存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
3.设备管理:缓冲区管理、设备分配和回收等。
3.2中断和异常概念
1.中断和异常的定义
中断:也称外中断,指来自CPU执行指令以外的事件的发生。
异常:也称内终端、例外或陷入(trap),指源自CPU执行指令内部的事件
2.中断处理过程
1.关中断。保护程序现场2.保存断点。保证中断服务程序执行完毕后能正确返回原来的程序3.中断服务程序寻址。(1.2.3由硬件完成)
4.保存现场和屏蔽字。5.开中断。6.执行中断服务程序。7.关中断。8恢复现场和屏蔽字。9.开中断、中断返回 (由中断程序完成)
3.3系统调用:指用户在程序中调用os所提供的一些子功能,系统调用可视为特殊的公共子程序。
系统调用可分为:设备管理、文件管理、进程控制、进程通信、内存管理。
注:由用户态转到核心态,用到的访管指令是在用户态使用,不是特权指令
1.4操作系统的体系结构
4.1大内核和微内核
1.大内核:将os的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。
缺点:随着体系结构和应用需求发展,os提供的服务越来越多,os的设计规模越来越大。解决方案:提出了微内核体系。
2.微内核:将内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能转移到用户态执行,从而降低内核的设计复杂性。
优点:有效分离了内核与服务、服务与服务,使得它们之间的接口更加清晰,维护代价降低。
存在的问题:性能问题。需要频繁地在核心态和用户态之间切换,os执行开销较大。
解决方案:库操作系统:将系统服务作为运行库 链接到用户程序。