目录
1.0 什么是操作系统
1.0.1 计算机系统的组成
1.0.2 操作系统的定义
操作系统(Operating System)是计算机系统中的一个系统软件,管理和控制计算机系统中的硬件和软件资源,合理组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强大、使用方便、可扩展的工作环境,从而在计算机与用户之间起到接口作用。
1.0.3 操作系统在软硬件中的地位与层次
操作系统是计算机系统的核心,是唯一的控制和管理整个计算机系统硬件的软件。
1.1操作系统的目标和作用
1.1.1 操作系统的目标
方便性(用户的观点)
提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别,使计算机更容易使用。
提高资源的利用率:使CPU、I/O设备和存储空间得到有效利用;
提高系统的吞吐量:管理和分配硬件、软件资源,合理地组织计算机的工作流程。
可扩充性
OS应采用层次化结构,以便于增加新的功能层次模块,并能修改老的功能层次和模块。
遵循标准规范,方便地实现互连,实现应用的可移植性和互操作性。
1.1.2 操作系统的作用
1.OS作为用户与计算机硬件系统之间的接口
2. OS作为计算机系统资源的管理者
处理机管理:用于分配和控制处理机;
存储器管理: 主要负责内存的分配与回收;
OS是扩展机(extended machine)/虚机器(virtual machine)将覆盖了软件的机器称为扩充机器或虚机器。
在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU)。
1.1.3 推动操作系统发展的主要动力
提高资源的利用率和系统性能; 方便用户; 器件的发展; 计算机体系结构的发展; 不断提出 新的需求
1.2 操作系统的发展过程
1.2.0 计算机及操作系统的形成和发展
1.2.1 无操作系统计算机系统
1.手工操作方式
2.脱机输入/输出(Off-Line I/O)方式
工作特点:就是靠人力放纸带,还得等,效率低下,没什么好说的 ^_^
1.2.2 单道批处理系统
工作特点:利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。提供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件。
两种批处理方式- 脱机批处理,联机批处理
单道批处理系统的特征:
对I/O为主的作业,CPU空闲
1.2.3 多道批处理系统
工作特点:多道批处理系统中, 用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
多道批处理系统的特征 :多道性,无序性,调度性(作业调度,进程调度)
本系统发展过程中的一些重要的技术概念:
现场保护/恢复:指处理机从一个作业向另一个作业切换时进行的有关寄存器值的保护/恢复。
通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。
中断:是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。
系统吞吐量:系统在单位时间内所完成的总工作量。
作业的周转时间:是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。 ps:这个周转时间做大题会很重要,到时会详解
1.2.4 分时系统
分时"的含义分时是指多个用户分享使用同一台计算机;多个程序分时共享硬件和软件资源。
分时系统的特征:
多路性:共享系统资源,提高了资源利用率。节省维护开支,可靠性高。促进了计算机的普遍应用,提高资源利用率:远地用户通过终端(较便宜)联机使用。
独立性:每个用户一台终端,互不干扰,感觉像一个人独占计算机。
1.2.5 实时系统
实时系统(Real-Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。用于工业过程控制、军事实时控制、金融等领域,包括:实时控制,实时信息处理。
通常把兼有分时、实时和批处理三者或其中两者功能的操作系统,称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX系统、Windows NT等。
1.2.6 微机操作系统
微机操作系统是配置在微型机上的操作系统,最早配置在8位微机上。 后来出现了16、32、64位微机系统。
1. 单用户单任务系统 如:CP/M,MS-DOS
2. 单用户多任务操作系统 如:Windows 95/98
3.多用户多任务操作系统 如:Solaris OS Linux OS Windows NT/Server
1.2.7 嵌入式系统
在各种设备、装置或系统中,完成特定功能的软硬件系统。它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机”。由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统
1.2.8 网络操作系统
计算机网络:通过通信设施将物理上分散的具有自治功能的多个计算机系统互连起来的实现信息交换、资源共享、可互操作和协作处理的系统。
1.2.9 分布式操作系统
分布式系统:定义:基于软件实现的一种多处理机系统,是多个处理机通过通信线路互连而构成的松耦合系统。特征:分布性、透明性、同一性、全局性。
分布式OS:定义:配置在分布式系统上的公用OS。例子:万维网、鸿蒙OS。
1.3 操作系统的基本特性
ps:这四个特性是指各类操作系统所共有的特征
1.3.1 并发(Concurrence)
指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。一个处理器同时处理多个任务。如下图所示:
补充概念:
串行:在内存中每次只能放一道作业,只有它完全执行完后别的作业才能进入内存执行。
并行:存在于有多个CPU或者多核CPU的环境中,在内存中放多道作业,在任一时间点上都可能有多道作业在不同的CPU上同时执行。如下图所示:
1.3.2 共享(Sharing)
系统中的资源可供内存中多个并发执行的进程(线程)共同使用。
两种资源共享方式:a.互斥共享方式(临界/独占资源)b.同时访问方式
并发与共享互为条件!
1.3.3 虚拟(Virtual)
虚拟是指通过某种技术,将一个物理实体变为若干个逻辑上的对应物。用来实现虚拟的技术,被称为虚拟技术。
1.3.4 异步性(Asynchronism)
指在多道程序的环境下,每个程序不知何时执行、何时暂停,即它们以不可预知的速度向前推进。操作系统应保证程序的执行结果是可再现的。即只要运行环境相同,一个作业的多次运行都会得到相同的结果。
1.4 操作系统的运行环境
1.4.1 硬件支持
1.4.2 操作系统内核
常驻内存,通常与硬件紧密相关。
支撑功能:中断处理;时钟管理;原语操作。
资源管理功能:进程管理、存储器管理、设备管理
1.4.3 处理机的双重工作模式
内核态:内核态,也称为“操作系统态”或“特权态”,是计算机处理器运行在最高特权级别的一种状态。在这种状态下,CPU可以访问计算机的所有硬件和所有内存,这使得内核可以执行非常底层和强大的操作,例如管理进程、访问硬件和执行系统调用。
用户态:用户态是指程序运行在最低特权级别的一种状态。在用户态下,程序不能直接访问计算机的硬件和内存资源,需要通过操作系统提供的接口来请求相关资源的访问权限。
特权指令:在内核态下运行的指令,不仅能访问用户空间,还能访问系统空间。如启动外部设备、设置系统时钟、管中断、切换执行状态、I/O指令。
非特权指令:在用户态下运行的指令,应用程序所使用的都是非特权指令。防止应用程序的运行异常对系统造成破坏。仅能访问用户空间。
1.4.4 中断与异常
操作系统是中断驱动的,OS总在等待某个事件的发生,事件总是由中断或异常引起的。
中断(interrupt):由硬件引起。
异常/陷阱(trap):由软件引起。
a.出错(如除数为零或无效存储访问)。
b.用户程序的特定请求(如执行OS的某个服务)
1.5 操作系统的主要功能
1.5.1 处理机管理功能
处理机是最重要的资源,现代操作系统允许多个程序共享处理机,按照某种算法(分时、优先级)交替地使用处理机。处理机管理包括以下几方面:
调度:按照一定的算法把处理机分配给进程。
1.5.2 存储器管理功能
存储器管理主要是为多道程序的运行提供良好的环境。存储器管理要具备下列功能:
1.5.3 设备管理功能
设备管理主要是完成用户的 I/O 请求。它的主要功能包括:
设备处理
1.5.4 文件系统管理
文件管理主要是使用户能方便、安全地使用各种信息资源。主要功能包括:
文件的读/写管理和保护
1.5.5 接口管理功能
为方便用户使用计算机,操作系统还应提供友好的用户接口。该接口通常是以下列方式提供给用户的: 命令接口;程序接口;图形用户接口
1.5.6 现代操作系统的新功能
ps:期末复习吴用
1.6 操作系统的结构
1.6.1 简单结构
1.6.2 模块化结构
1.6.3 分层式结构
1.6.4 微内核结构
微内核的四个特点:
1、内核足够小
2、基于客户/服务器模式
3、应用“机制与策略分离”原理
4、采用面向对象技术
基本功能:进程(线程)管理,低级存储器管理,中断和陷入处理
1.6.5 外核结构
内核不提供传统OS中的进程、虚拟存储器等抽象,而是专注于物理资源的隔离(保护)与复用。内核非常小,负责保护系统资源;应用程序管理硬件资源。
1.7 系统调用
1.7.1 系统调用的基本概念
系统调用目的:使应用程序可以通过它间接调用OS内核中的相关过程,取得相应的服务。
系统调用概念:应用程序请求OS内核完成某功能时的一种过程调用;用户与内核的接口。
嵌套调用
1.7.2 系统调用的类型
补充目前使用的操作系统
1.Windows操作系统:由微软公司开发的操作系统,广泛应用于个人电脑和服务器领域。
2. MacOS操作系统:由苹果公司开发的操作系统,运行在Macintosh系列的电脑上。
3. Linux操作系统:一种自由和开放源代码的操作系统,广泛应用于服务器领域和嵌入式设备等领域。
4. Android操作系统:由谷歌公司开发的移动操作系统,运行在大部分智能手机和平板电脑上。
5. iOS操作系统:由苹果公司开发的移动操作系统,运行在iPhone、iPad等移动设备上。
6. Chrome OS操作系统:由谷歌公司开发的面向云计算的操作系统,广泛应用于Chromebook等笔记本电脑上。
end.