操作系统基础-第一章:操作系统引论

博主能力水平有限,如有错误敬请指正,欢迎补充~


一、操作系统的目标和作用

1.1 操作系统的目标

  1. 方便性:使计算机易学易用,普及大众
  2. 有效性
    1. 提高系统资源利用率
    2. 提高系统的吞吐量
  3. 可扩充性:无结构 -> 模块化结构 -> 层次化结构 -> 微内核
  4. 开放性:遵循开放系统互联OSI国际标准

1.2 操作系统的作用

  1. 作为用户与计算机硬件系统之间的接口
  2. 作为计算机系统资源的管理者
  3. 实现了对计算机资源的抽象(无需关心操作如何具体实现,黑盒子)

二、OS的发展与分类

2.1 手工操作阶段

缺点:人机速度矛盾(I/O慢,处理快)

2.2 批处理阶段

2.2.1 单道批处理系统(引入脱机输入输出技术)

优点:缓解人机速度矛盾
缺点:资源利用率依然很低

2.2.2 多道批处理系统(操作系统开始出现)

优点:多道程序并发执行,资源利用率很高; 吞吐量大(与单道批处理相比,还提高了I/O利用率)
缺点:不提供人机交互功能

2.3 分时操作系统

优点:提供人机交互功能
缺点:不能优先处理紧急任务

2.4 实时操作系统

优点:能优先处理紧急任务

2.4.1 硬实时系统

必须在绝对严格的规定时间内完成处理

2.4.2 软实时系统

能接受偶尔违反时间规定

2.5 微机操作系统的发展

Unix是一种多用户、多进程的计算机操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。

三、OS的基本特性

并发、共享、虚拟和异步是OS的四个基本特性。
并发离开了共享无法实现,共享离开了并发没有意义,虚拟与异步基于并发。
  1. 时间片:一个时间片就是一段很短的时间(例如30ms)
  2. 进程:未引入进程的系统应用程序的计算与I/O顺序执行;引入后,可以为计算程序和I/O程序分别建立进程,这两个进程可以并发执行。
    进程:系统中能独立运行并作为资源分配的基本单位,由一组机器指令、数据和堆栈等组成。
  3. 临界资源:临界资源是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有,打印机,磁带机等;软件有消息队列,变量,数组,缓冲区等。诸进程间采取互斥方式,实现对这种资源的共享。
  4. 时分复用技术
    1. 虚拟处理机技术
    2. 虚拟设备技术
  5. 空分复用技术:用于对存储空间的管理,用以提高存储空间的利用率
  6. 异步:进程的执行通常都不可能“一气呵成”,而是以“走走停停”的方式运行的

四、OS的运行机制与体系结构

4.1 特权与非特权指令

4.1.1 两种状态
  1. 用户态(目态)此时CPU只能执行非特权指令
  2. 核心态(管态)特权指令、非特权指令都可以执行
4.1.2 两种程序
  1. 内核程序:OS的内核程序是系统的管理者,既可以执行特权指令也可以执行非特权指令,运行在核心态。
  2. 应用程序:只能运行非特权指令,运行在用户态。

操作系统的内核

  1. 内核是计算机上配置的底层软件,是OS最基本、最核心的部分。
  2. 实现操作系统内核功能的程序就是内核程序。
  3. 与硬件关联较紧密的模块:
    1. 时钟管理:实现计时功能
    2. 中断处理:实现中断机制
    3. 原语
      1. 处于OS最底层,是最接近硬件的部分
      2. 具有原子性,运行不可中断
      3. 运行时间较短,调用频繁
  4. 对系统资源进行管理的功能如进程管理、存储器管理和设备管理等,有的OS不把这部分归为内核功能。
  5. 大内核与微内核
    在这里插入图片描述

五、中断和异常(内中断)

5.1 要点

  1. 当中断发生时,CPU立即进入核心态
  2. 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
  3. 对于不同的中断信号,会进行不同的处理

中断是使 用户态->核心态 的唯一途径
有了中断,才能实现多道程序并发执行。
(通过程序状态字(PSW标志位切换状态)

5.2 中断的分类

5.2.1 内中断(也称异常、例外、陷入)

来自CPU内部,与当前执行的指令有关

  1. 自愿中断——指令中断
  2. 强迫中断:硬件故障、软件中断(如整除0)
    *另一种分类方式:
    1. 陷阱、陷入
    2. 故障
    3. 终止
5.2.2 外中断(狭义的中断)

来自CPU外部,与当前执行的指令无关

  1. 外设请求(如I/O操作完成发出的中断信号)
  2. 人工干预(如用户强行终止一个进程)

5.3 外中断的处理过程

在这里插入图片描述

六、系统调用

6.1 概念

操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。程序接口由一组系统调用组成。
系统调用 可以理解为一种可供应用程序调用的特殊函数
(系统调用的相关处理在核心态下完成的)
系统调用会使处理器从用户态进入核心态(执行一个int指令(陷入指令))
在这里插入图片描述
凡是与资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成
保证系统稳定性和安全性
在这里插入图片描述

6.2 系统调用背后的过程

在这里插入图片描述
在这里插入图片描述
传递系统调用参数 → 执行陷入指令(用户态) → 执行系统调用相应服务程序(核心态) → 返回用户程序

注意:

  1. 陷入指令是在用户态执行的,执行后立即引发一个内中断,从而CPU进入核心态
  2. 发出系统调用请求是在用户态,而对系统调用的相应处理核心态
  3. 陷入指令是唯一一个只能在用户态执行,不能在核心态执行的指令
    👉系统调用发生在用户态,对系统调用的处理发生在核心态!👈
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值