计算机操作系统(壹)

目录

目录

本文章是关于计算机操作系统的学习笔记,笔记主要来自王道的操作系统课程,总共有五个章节:

一、操作系统概述

1、操作系统定义:

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

2、提供的功能:

(1)GUI(图形用户界面)

(2)命令接口:

联机命令接口:说一句做一句

脱机命令接口:说一堆做一堆

(3)程序接口:程序进行系统调用的接口

3、操作系统的功能和目标:

实现对硬件机器的扩展,方便用户使用

二、操作系统特征

1、并行与并发:

并发:多个事件交替发生,宏观上是同时发生,但微观上是交替进行的

并行:多个事件在同一时刻是同时发生的

2、单核CPU和多核CPU:

单核CPU:同一时刻只能执行一个程序,各个程序只能并发执行

多核CPU:同一时刻可同时执行多个程序,各个程序可以并行执行

3、共享:(资源共享)

互斥共享方式:一个事件段内只允许一个进程访问该资源

同时共享方式:一个时间段内由多个进程“同时”对它们进行访问(这个”同时“代表微观上可能是交替访问的)

4、虚拟:

把一个物理上的实体变为若干个逻辑上的对应物。(由并发性实现)

空分复用技术、时分复用技术

5、异步:

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

三、操作系统发展与分类

  • 手工操作阶段

    • 纸带机(用户独占全机、人机速度矛盾)
  • 批处理阶段

    • 单道批处理系统(外围机 —— 磁带)

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

  • 分时操作系统

    • 轮流处理作业

    • 不能处理紧急任务

  • 实时操作系统

    • 优先处理紧急任务

    • 硬实时系统:必须在严格的时间内完成处理

    • 软实时系统:可以偶尔犯错

  • 网络操作系统

  • 分布式操作系统

  • 个人计算机操作系统

四、操作系统的运行机制

1、内核程序与应用程序:

内核程序:负责实现操作系统的程序,多个内核程序组成内核

应用程序:普通程序员写的程序

2、特权指令和非特权指令:

CPU在设计生产时就划分了特权指令和非特权指令

特权指令:由操作系统内核调用,这些指令影响重大(如内存清零指令)

非特权指令:可由应用程序使用(如加法指令)

3、用户态和内核态:

CPU有两种状态,用户态和内核态,用于区分此时正在运行的是内核程序还是应用程序

别名:内核态=核心态=管态、 用户态=目态

4、内核态和用户态的转换:

内核态->用户态:使用一个特权指令,主动让出CPU控制权

用户态->内核态:触发中断信号则被操作系统强行夺回CPU控制权(凡是需要操作系统介入的地方,都会触发中断信号)

五、中断和异常

1、中断的作用:

中断是让操作系统内核夺回CPU使用权的唯一途径,没有中断机制,就没有并发。

每次接收到中断信号后,CPU就会先处理中断信号的内核程序。

2、中断的分类(广义):

内中断(异常):与当前执行指令有关,中断信号来自CPU内部

外中断(中断):与当前执行指令无关,中断信号来自CPU外部

大部分教材中,外中断被称作**“中断”,而内中断被称为“异常”**

3、内中断(异常)例子:

(1)试图在用户态下执行特权指令

(2)执行除法指令时除数为0(即执行非法指令,会引发一个中断信号)

(3)有时应用程序想请求操作系统内核的服务,会执行一条特殊指令——陷入指令,该指令会引发一个内部中断信号

4、外中断(中断)例子:

(1)时钟中断——由时钟部件发来的中断信号。比如两个应用程序并发运行,当其中一个应用程序占用了50ms(假设),就会发送中断信号,此时CPU先处理中断的内核程序,接着将使用权让给另外一个应用程序,如此往复。

(2)I/O中断——输入/输出设备发来的中断信号,当输入输出任务完成时,就会向CPU发送中断信号

5、中断机制的基本原理:

CPU检测到中断信号后,就会根据信号类型,去“中断向量表”中查询需要执行的中断处理程序

六、系统调用

1、概念:

系统调用是操作系统提供给应用程序的接口,应用程序可以通过系统调用来获得操作系统内核的服务,保证系统稳定性与安全性

2、系统调用与库函数的区别:

一些库函数封装了系统调用,屏蔽了一些细节,方便程序员使用

3、分类(按功能):

设备管理、文件管理、进程控制、进程通信、内存管理

七、操作系统体系结构

1、操作系统的内核:

资源管理功能:进程管理、存储器管理、设备管理等

时钟管理、中断处理、原语

操作系统内核

2、两种不同的结构:

内核只保留直接与硬件接触的部分,这种结构就是微内核,另一种将主要功能都包含的就是大内核

大内核:将操作系统主要功能模块都作为系统内核,运行在核心态

微内核:只把最基本的功能保留在内核

3、变态

”变态“正规说法应该是“CPU状态的转换”,微内核比大内核状态转换更频繁,因此使用微内核的性能消耗会大一些

4、外核操作系统结构:

外核可以分配未经抽象的硬件资源,比如分配连续空间时,物理上是真正连续的一片空间,而不是经过映射抽象得到的虚拟的连续空间。

八、操作系统引导

1、概念:

开机时,如何让操作系统运行起来

2、开机过程

① CPU从一个特定主存地址开始,取指令、执行ROM中的引导程序

② 将磁盘的第一块——主引导记录读入内存,执行磁盘引导程序,扫描分区表

③ 从活动分区(主分区,安装了操作系统的分区)读入分区引导记录,执行其中的程序

④ 从根目录下找到完整的操作系统初始化程序(启动管理器)并执行,完成开机的一系列动作

image-20251112084349204

九、虚拟机

两类虚拟机:

第一类VMM,直接运行在硬件上

第二类VMM,运行在宿主操作系统上

像VMware这种软件程序就属于第二类VMM