计算机操作系统学习笔记(一)

文章目录

  • 第一章 操作系统概述
    • 1. 概念
    • 2. 功能和目标
      • 2.1 系统资源的管理者
      • 2.2 用户和计算机硬件之间的接口
      • 2.3 最接近硬件的层次
    • 3. 四个特征
      • 3.1 并发性
      • 3.2 共享性
      • 3.3 虚拟技术
      • 3.4 异步性
    • 4. 发展
      • 4.1 手工操作方式
      • 4.2 脱机输入输出方式
      • 4.3 单道批处理系统
      • 4.4 多道批处理系统
      • 4.5 分时系统
      • 4.6 实时系统
    • 5. 运行机制和体系结构
      • 5.1 运行机制
        • 两种指令
        • 两种CPU状态
        • 两种程序
      • 5.2 操作系统内核
      • 5.3 体系结构
        • 大内核
        • 微内核
    • 6. 中断和异常
      • 6.1 概念
      • 6.2 分类
        • 内中断(CPU内部信号)
        • 外中断(CPU外部信号)
    • 6.3 处理过程
    • 7. 系统调用
      • 7.1 作用
        • 概念
        • 作用
        • 分类(按功能)
      • 7.2 系统调用过程
      • 7.2 系统调用过程

第一章 操作系统概述

1. 概念

操作系统控制管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作好资源分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件

2. 功能和目标

2.1 系统资源的管理者

目标:安全、高效

例:打开QQ视频聊天

  • 文件管理

    在文件夹中找到QQ.exe执行文件

  • 存储器管理

    将程序相关数据放入内存

  • 处理机管理

    对应的进程被处理机(CPU)处理

  • 设备管理

    将摄像头设备分配给进程

2.2 用户和计算机硬件之间的接口

目标:方便用户使用

  • 命令接口(用户直接使用)

    联机命令接口,脱机命令接口

  • 程序接口(系统调用)

  • GUI

2.3 最接近硬件的层次

目标:实现对硬件机器的拓展

3. 四个特征

3.1 并发性

并发:指两个或多个事件在同一时间间隔内发生。这些事件在宏观上是同时发生的,但在微观上是交替发生的

并行:指两个或多个时间在同一时刻发生

3.2 共享性

指系统中的资源可提供多个并发执行的进程共同使用

互斥共享:一段时间内只允许一个进程访问该资源

同时共享:允许一个时间段内由多个进程“同时”对它们进行访问 (分时共享)

并发和共享互为存在条件

3.3 虚拟技术

指吧一个物理的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上对应物是用户感受到的

(1) 时分复用技术:利用处理机的空闲时间运行其他程序,提高处理机(CPU)的利用率。
(2) 空分复用技术:利用存储器的空闲空间存放其他程序,提高内存的利用率。

3.4 异步性

指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进

4. 发展

4.1 手工操作方式

纸带输入输出数据(慢),计算机处理数据(快)

缺点:用户独占全机,CPU等待人工操作。

4.2 脱机输入输出方式

事先将装有用户程序和数据的纸带装入纸带输入机,在外围机的控制下,把纸带上的数据输入到磁带上(类似于磁盘)。当CPU需要时,从磁带将其高速地调入内存。反之类同。

优点:减少了CPU的空闲时间,提高了I/O速度。

4.3 单道批处理系统

首先监督程序将磁带第一个作业装入内存,运行控制权在该作业,该作业处理完成时,控制权交回到监督程序,再由监督程序把磁带上的第二个作业调入内存。系统自动对作业成批处理。(内存始终只保持一道作业—单道批处理)。
缺点:内存浪费,不能充分利用系统资源。

4.4 多道批处理系统

用户所提交的作业先存放在外存,排成一个“后备队列”,再由作业调度程序按一定的算法从队列选择若干作业调入内存,使他们共享CPU和系统中的各种资源。

优缺点:资源利用率提高,系统吞吐量大,平均周转时间长,无交互能力。

4.5 分时系统

在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。因此,作业直接进入内存,采用轮转运行方式,系统配置一个多路卡(实现分时多路复用),及时接收用户终端命令(数据)。
特征:多路性、独立性、及时性、交互性。

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

4.6 实时系统

系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务的协调一致的运行。
特征:多路性(周期性信息采集,多个对象或执行机构进行控制)、独立性、及时性、交互性、可靠性(多级容错措施)。

5. 运行机制和体系结构

5.1 运行机制

  • 两种指令

    处理器能识别、执行的最基本的命令

    ① 特权指令:不允许用户程序使用(内存清零指令)

    ② 非特权指令:允许用户程序使用(普通加减乘除)

  • 两种CPU状态

    程序状态字寄存器(PSW)中的某标志位来表示当前处理器处于什么状态。

    ① 用户态(目态):CPU只能执行非特权指令

    ② 核心态(管态):两种指令都可以执行

  • 两种程序

    ① 内核程序:系统的管理者,运行在核心态

    ② 应用程序:运行在用户态

5.2 操作系统内核

操作系统最基本、最核心部分

  • 时钟管理:实现计时功能
  • 中断处理:负责中断机制
  • 原语: 特殊的程序,处于操作系统最底层,最接近硬件的部分,具有原子性,其运行不可中断
  • 资源管理功能:进程管理,存储器管理,设备管理功能

5.3 体系结构

  • 大内核

    将操作系统主要功能作为一个紧密结合的整体放到内核。

    优点:高性能

    缺点:内核代码庞大,结果混乱,难以维护

  • 微内核

    由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。 在微内核结构下,操作系统被划分成小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。

    优点:内核功能室,结果强袭,方便维护

    缺点:需要频繁地在核心态和用户态之间切换,性能低

6. 中断和异常

6.1 概念

诞生:为了实现多道程序并发执行

本质:发生中断意味着西药炒作系统接入,开展管理工作(如进程切换,分配I/O设备)。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。

① 中断发生时,CPU立即进入核心态

② 中断发生后,当前运行的进程暂停运行,内核对中断信号进行处理

③ 对于不同的中断信号,会进行不同的处理

用户态 --> 核心态:中断是唯一途径

核心态 --> 用户态:执行一个特权指令,经PSW的标识设为”用户态“

6.2 分类

  • 内中断(CPU内部信号)

    ① 陷阱、陷入 (trap):有意为之的异常,如系统调用

    ② 故障 (fault):有错误条件引起的,可能被故障处理程序修复,如缺页

    ③ 终止(abort):不可恢复的致命错误,不在将控制返回给引发终止的应用程序,如整除0

  • 外中断(CPU外部信号)

    ① I/O中断请求

    ② 人工干预

6.3 处理过程

① 执行完每个指令后,CPU都要检查当前是否有外部中断信号

② 如果监测点外部中断信号,则需要保护被中断进程的CPU环境(程序状态字PSW,程序计数器PC,通用寄存器)

③ 根据中断信号类型转入响应的中断处理程序

7. 系统调用

7.1 作用

  • 概念

    操作系统提供给应用程序使用的接口,可理解为一种可供应用程序调用的特殊函数,应用程序可发出系统调用请求来获取操作系统的服务

  • 作用

    应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

  • 分类(按功能)

    ① 设备管理:设备的请求/释放/启动 ioctl(); read(); write();

    ② 文件管理:文件的读/写/创建/删除 open(); read(); write();

    ③ 进程管理: 进程的创建/撤销/阻塞/唤醒 fork(); exit(); wait();

    ④ 进程通信:进程间的消息传递/信号传递 pipe(); shmget(); mmap();

    ⑤ 内存管理:完成内存的分配/回收

7.2 系统调用过程

传递系统调用参数 --> 执行陷入指令(用户态)–> 执行相应的内请求核程序处理系统调用(核心态)–> 返回
应用程序
注意:① 陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态

); exit(); wait();

④ 进程通信:进程间的消息传递/信号传递 pipe(); shmget(); mmap();

⑤ 内存管理:完成内存的分配/回收

7.2 系统调用过程

传递系统调用参数 --> 执行陷入指令(用户态)–> 执行相应的内请求核程序处理系统调用(核心态)–> 返回应用程序
注意:
① 陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态​
② 发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行

你可能感兴趣的:(计算机操作系统)