文章目录
一、什么是操作系统
1、操作系统的定义
- (1)软件包括系统软件和应用软件。
- 系统软件:负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。例:操作系统。
- 应用软件:办公软件WPS、通讯工具软件QQ、绘图软件PS、绘声绘影等。
- (2)操作系统是一种复杂的系统软件,是不同程序代码、数据结构、数据初始化文件的集合,可执行。
- 操作系统提供 计算机用户 与 计算机硬件 之间的接口,并管理计算机软件和硬件资源。
- 操作系统本身并不向用户提供可直接使用的功能,一台仅装有操作系统的计算机对于用户而言几乎是没有用的,但为用户可直接使用的应用程序的运行提供了环境,并为应用程序的开发提供平台,使应用程序的开发变得简单、高效。
2、用户与硬件之间的接口
- (1)接口:硬件接口、软件接口;
- ① 硬件接口:如USB接口、串口和并口;
- ② 软件接口:如C语音中的函数调用printf();
- (2)计算机的所有功能最终都是由硬件的操作来实现的。
- (3)操作系统必须完成的两个主要目标(承上启下):
- ① 与硬件部分相互作用,为包含在硬件平台上的所有底层可编程部件提供服务。 例:文件的添加、删除。
- ② 为运行在计算机系统上的应用程序(即所谓用户程序)提供执行环境。
3、资源的管理者
资源的管理者:多个应用程序共同使用计算机硬件和软件资源时,就需要操作系统对这些资源进行有效的管理。
管理的资源还包括:网卡、宽带 等(网络操作系统)
- (1)操作系统 资源管理的作用:
- ① 一方面保证用户程序的顺利执行
- ② 另一方面使计算机系统资源得到尽可能高效的利用,保证计算机系统的高性能。
- (2)操作系统 资源管理方面的功能:
- ① 内存管理:给程序分配内存空间;
- 1)在多任务系统中,内存不再是独占资源,而是被多个应用程序共同占有。
- 2)如何为多个应用程序分配内存,使不同应用程序的地址空间互不干扰;
- 3)如何在程序执行完毕后回收其所占内存,
- 4)以及完成逻辑地址到物理地址的转换,都是操作系统内存管理程序要完成的功能。
- ② 设备管理:完成怎么分配设备,分配哪台设备,怎么和设备连接等;
- ③ 处理机(进程)管理:决定把处理机先给哪个程序用,后给哪个程序用;
- 由于程序的执行必须依靠处理机,任意时刻处理机都只能执行一个程序流。
- ④ 文件管理:为每个文件分配空间、建立目录,对目录进行组织管理以及根据用户请求从外存读取数据或将数据写入外存。
- 文件管理的功能:外存空间的分配、回收;文件的按名存取;文件的组织;文件的共享与保护;
- ① 内存管理:给程序分配内存空间;
二、操作系统的发展
CPU只能直接访问内存,不能直接访问外存
1、无操作系统时期
第一代计算机(1945-1955)使用电子管作为主要的电子器件,用插件板上的硬连线或穿孔卡片表示程序,没有用来存储程序的内存;第一台实用电子计算机“埃尼阿克”,用户程序进入和退出计算机都需要人工干预,计算机系统处于不能连续自动工作的状态;
2、单道批处理系统
单道批处理系统:内存只有一道作业,CPU和内存资源被用户作业独占。程序是指令的集合,程序的执行是CPU依次、逐条执行指令的过程。
(1) 特点:自动性、顺序性、单道性;
(2) 优点:减少了等待人工操作的时间;
(3) 缺点:CPU资源不能充分利用;
3、多道程序系统
多道程序系统:多道批处理系统、分时操作系统。
(1) 多道批处理系统
多道批处理系统:操作系统的 作业调度程序 按一定策略从 后备作业队列(即:外存) 中选择 若干个 作业调入内存,使它们共享CPU和系统中的各种资源
① 特点:多道性、无序性、调度性、复杂性;
② 优点:提高CPU、内存和IO设备的利用率;提高了系统的吞吐量;
③ 缺点:系统平均周转时间长、缺乏交互能力(人机交互);
(2) 分时操作系统
分时操作系统:允许 多个用户 通过终端机 同时使用 计算机,每个用户通过终端与助记交换时都能得到 快速响应。
① 特点:多路线、独立性、及时性、交互性;
② 优点:向用户提供了 人机交互的方便性,使多个用户可以通过不同的终端 共享主机(即用户感觉自己在独占计算机资源)。
③ 第一个通用分时系统CTSS是麻省理工学院于1962年在一台改装过的IBM 7094上开发成功的OS/360,后续又出现了MULTICS、UNIX、Linux、Windows等著名的既支持多道批处理功能、又支持分时功能的多道程序系统。
4、微机操作系统(个人计算机的操作系统)
1985年微软开始构建Windows操作系统。目前除Windows系列的微机操作系统之外,还有Linux、Chrome OS和Mac OS等一些支持个人计算机的操作系统
5、实时操作系统
实时系统必须 及时响应 外部事件的请求,对可靠性要求最高,在规定时间内完成对该事件的处理。主要用于 实时控制 和 实时信息处理 领域。
实时系统是支持实时计算的系统。实时计算的正确性不仅依赖于系统计算的 逻辑结果,还依赖于产生正确结果的 时间。
(1) 特点:多路性、独立性、及时性、交互性、可靠性;
补充:操作系统产品现状
操作系统 | 运行主体 | 提供的服务 |
---|---|---|
主机操作系统 | 大型主机 | 批处理、事务处理、分时处理 |
服务器操作系统 | 网络服务器 | 通过网络为众多用户服务,允许用户共享硬件和软件资源。服务器课提供打印服务、文件 |
服务、web服务 | ||
微机操作系统 | 微型计算机(PC机) | 为单个用户提供良好的应用环境和应用软件开发环境 |
嵌入式操作系统 | 嵌入式设备中 | 采用更易于移植的方法,以适应越来越多的新处理器 |
三、操作系统的特征
现代操作系统都支持多任务,具有并发、共享、虚拟和异步性特征。
- 并发:是指两个或多个事件在同一时间间隔内发生。
- (1) 并行是指多个时间 同时(时刻)发生。
- (2) 并发与共享的关系 相互依赖。
- 共享:是指系统中的 资源 可供内存中 多个 并发执行的 进程共同使用。资源共享有两种方式,即 互斥共享和同时共享 。
- (1) 互斥共享:任意时刻一种资源只能被一个进程访问。
- (2) 同时共享:从宏观上看,资源可以被多个进程同时访问。
- 异步性:是指进程以 不可预知的速度 向前推进。
- 虚拟:是指通过某种技术把一个 物理实体变成若干逻辑上的对应物(即:物理 变成 逻辑)。最常用 内存虚拟化,用户感受到的内存大于实际内存。
四、操作系统的功能
- 管理计算机资源:内存管理、进程管理、设备管理、文件管理。
- 提供用户接口:命令接口、图形用户接口、程序接口。
- 用户与硬件之间的接口:提供计算机应用程序与计算机硬件之间的接口。
- 资源的管理者:管理计算机硬件和软件资源。
- 为应用程序的运行提供环境,并为应用程序的开发提供平台。
五、操作系统的体系结构
- 简单的监控程序模型:功能简陋,任意时刻系统中只能运行一个任务,保证了对系统信息的 互斥访问,保护了系统数据的安全。
- 单体结构模型:所有的软件和数据结构都放置在一个逻辑模块中,对外层的用户程序提供一个完整的内核界面—系统调用。例:UNIX系统、MS-DOS、Linux、Mac OX X和BSD等系统。弊病:会乱,需层次性/排列。
- 层次结构模型:基本思想是 将操作系统分解为多个小的、容易理解的层,系统功能被隔离在不同层中。
- 客户/服务器模型 与 微内核结构:核心思想是核心功能外移,即把 传统操作系统内核中 的一些组成部分放到内核之外作为一个独立的服务器进程来实现。例:window NT、COS-IX V2.3、Vxworks
- (1) 出去:文件系统、网络和驱动程序;
- (2) 保留:处理机调度、存储管理和消息通信;
- 动态可扩展结构模型:(需要什么就动态扩展什么)基本思想就是在运行过程中,能够 动态地实现 系统行为扩展的结构,也可称之为 弹性结构。
六、操作系统内核
操作系统内核是计算机硬件的第一次扩充,内核执行操作。
系统与硬件关系密切,执行频率高的模块,常驻内存。
- 支撑功能:中断处理、时钟管理、原语操作。
- 资源管理功能:进程管理、存储管理、设备管理。
1、中断
(1)什么是中断?
中断是改变处理器执行指令顺序的一种事件。
出现中断时,计算机停止现在程序的运行,转向对这些中断事件的处理,处理结束后再返回到现行程序的间断处。
(2)为什么需要中断?
引入中断机制后,CPU可以与其他设备并行工作,能有效提高CPU的利用率,改善系统性能,支持系统的异步操作。
(3)中断的分类
- 同步中断(也称内部中断或异常)
- 异步中断(也称外部中断)
- 外部可屏蔽中断
- 外部不可屏蔽中断
(4)引起中断的原因
- 1)人为设置中断
- 2)程序性事故
- 3)硬件故障
- 4)I/O设备
- 5)外部事件
(5)中断响应
- 响应中断的条件
- 响应中断的时机
(6)中断的处理
单重中断处理
2、时钟管理
时钟的重要性:时钟是计算机系统的脉搏,计算机的很多活动都是由定时测量来驱动的。
计算机系统中的时钟:实时时钟RTC、OS时钟
操作系统的时钟机制:
-
时钟硬件:保持当前的日期和时间。
-
时钟驱动程序:维持定时器。
- 1)维护日期和时间
- 2)递减当前进程在一个时间片内的剩余执行时间,防止运行超时
- 3)对CPU的使用情况记账
- 4)递减报警计数器
3、系统调用
(1)什么是系统调用?
- 系统调用是一群预先定义好的模块。
- 提供一条管道让应用程序能由此到核心程序的服务。
- 系统调用是系统程序与用户程序之间的接口。
(2)系统调用和一般函数调用的区别?
- 区别1:系统调用运行在系统态,一般函数运行在用户态。
- 区别2:执行过程不同(系统调用执行时,当前进程被中断)
- 区别3:系统调用进行中断处理,多了系统开销。
系统 | 用户 |
---|---|
系统空间:含有一切系统核心代码的地址空间。 | 用户空间:用户进程所处的地址空间。 |
系统态执行:CPU执行系统核心代码时,称该进程处于系统态执行。 | 用户态执行:CPU执行用户空间的代码时,称该进程处于用户态执行。 |
(3)系统调用的类型
- 1)进程控制类
- 2)文件操纵类
- 3)设备管理类
- 4)通信类
- 5)信息维护类
七、指令的执行
- 程序是指令的集合,程序的执行就是按照某种控制流执行指令的过程。
- 一个 单一指令 需要的 处理 称为指令周期。
- 一个指令周期可以划分为两个步骤,分别是 取指周期 和 执行周期。