王道操作系统笔记1

本文详细介绍了操作系统的基础知识,包括操作系统的定义、特征、发展和分类。强调了并发和共享作为操作系统的核心特征,阐述了中断、异常和系统调用的作用。此外,还讨论了操作系统的内核及其体系结构,以及系统调用在用户与内核之间的交互过程。
摘要由CSDN通过智能技术生成

1.1 操作系统概述

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

  1. 是系统资源的管理者
  2. 向上层提供方便易用的服务
  3. 最接近硬件的一层软件
    在这里插入图片描述
    2 向上层提供方便易用的服务
    封装思想:操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可
  • 联机命令接口(交互式命令接口)
    *用户说一句,系统跟着做一句
  • 脱机命令接口(批处理命令接口)
    *用户说一堆,系统跟着做一堆
  • 程序接口:在程序中进行==系统调用(广义指令)==来使用程序接口(普通用户不能直接使用程序接口,只能通过程序代码间接使用)
    在这里插入图片描述

在这里插入图片描述
命令接口和程序接口统称为用户接口

3 最接近硬件的层次
实现对硬件机器的拓展:在裸机上安装的操作系统可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强,使用更方便的机器
将CPU、内存、磁盘、显示器、键盘等硬件合理的组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能
*通常把覆盖了软件的机器称为扩充机器,又称为虚拟机


1.2 操作系统的四个特征

在这里插入图片描述
*没有并发和共享,就谈不上虚拟和异步,故并发和共享是操作系统的两个最基本的特征

1 并发:两个或多个事件在同一时间间隔内发生(宏观上同时发生,微观上交替发生)
*并行:两个或多个事件在同一时刻同时发生

操作系统的并发性指计算机系统中“同时”运行着多个程序,操作系统就是伴随着“多道程序技术”而出现的,故操作系统和程序并发是一起诞生的
单核CPU同一时刻只能执行一个程序,各个程序只能并发执行
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行执行

2 共享(资源共享):指系统中的资源可供内存中多个并发执行的进程共同使用

  • 互斥共享方式:系统中某些资源虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
  • 同时共享方式:系统中某些资源允许一个时间段内多个进程“同时”对它们进行访问(宏观上同时访问,微观上交替访问)

注:并发和共享的关系
互为存在条件
*失去并发性则系统中只有一个程序正在运行,则共享性失去存在的意义;失去共享性无法实现同时发送文件,也就无法并发

3 虚拟:指把一个物理上的实体变为若干个逻辑上的对应物(物理实体是实际存在的,逻辑上对应物是用户感受到的)
一个程序需要放入内存并给它分配CPU才能执行
虚拟技术:

  • 空分复用技术(如虚拟存储器技术)---->运行程序的内存远大于电脑内存
  • 时分复用技术(如虚拟处理器)---->单核CPU同时运行多个程序
    *若失去并发性则一个时间段内系统只需运行一道程序,则失去了实现虚拟性的意义

4 异步:在多道程序环境下允许多个程序并发执行(并发运行的程序会争抢着使用系统资源),但资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进
*若失去并发性则一个时间段内系统只需运行一道程序,则系统只能串行地运行各个程序,那么每个程序的执行会一贯到底


1.3 操作系统的发展和分类

1 手工操作阶段
缺点:用户独占全机、人机速度矛盾导致资源利用率低

2 批处理阶段
(1)单道批处理系统
引入脱机输入、输出技术(用外围机+磁带完成),并由监督程序负责控制作业的输入和输出
*通过外围机把程序提前存到磁带里
*监督程序是操作系统的雏形

优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升
缺点:内存中仅能有一道程序运行;CPU有大量时间在空闲等待I/O完成

(2)多道批处理系统
每次往内存中读入多道程序,在计算机空闲时(计算)读入第二个程序
*操作系统正式诞生,用户支持多道程序并发运行

优点:多道程序并发进行,共享计算机资源,资源利用率大幅提升,系统吞吐量增大
缺点:用户响应时间长,没有人机交互功能(用户提交作业后只能等待计算机处理完成,中间不能控制自己的作业执行)

3 分时操作系统
计算机以时间片为单位轮流为各个用户、作业服务,各个用户可通过终端与计算机进行交互

优点:用户请求可以被即时响应,解决人机交互问题;允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立
缺点:不能优先处理一些紧急任务,对各个用户、作业是公平的,循环地为每个用户、作业服务一个时间片

4 实时操作系统
在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件

  • 硬实时系统:必须在绝对严格的规定时间内完成处理
  • 软实时系统:能接受偶尔违反时间规定
    特点:及时性可靠性
    优点:优先处理一些紧急任务,某些紧急任务不许时间片排队

5 其他操作系统
在这里插入图片描述


1.4 操作系统的运行机制

预备知识:“指令”指的是处理器CPU能识别的、执行的最基本命令
1 内核程序和应用程序
应用程序:跑在操作系统之上,由普通程序员写的程序
内核程序:编写实现操作系统的程序,很多内核程序组成“操作系统内核”
内核是操作系统最核心最重要的部分,最接近硬件的部分
*操作系统的功能未必都在内核中

2 特权指令和非特权指令
应用程序只能使用“非特权指令”
只允许操作系统内核(即管理者)执行“特权指令”
*在CPU设计和生产的时候就划分了特权指令和非特权指令,因此CPU执行一条指令前就能判断出其类型

3 内核态(核心态=管态)和用户态(目态)
处于内核态时说明此时正在运行内核程序,可以执行特权指令
处于用户态时说明此时正在运行应用程序,只能执行非特权指令
区分状态:CPU中有一个程序状态寄存器(PSW),以二进制位0/1标识状态
切换状态:在这里插入图片描述
内核态---->用户态:执行一条特权指令,修改PSW的标志位为“用户态”,操作系统将主动让出CPU使用权
内核态---->用户态:由==“中断”==引发,硬件自动完成变态过程,触发中断信号意味着系统将强行夺回CPU使用权
*需要操作系统介入的地方都会触发中断信号


1.5 中断和异常

1 中断作用
“中断”是让操作系统内核夺回CPU使用权,使COU从用户态变为内核态的唯一途径
如果没有“中断”机制,一旦应用程序上CPU运行,CPU就会一直运行这个应用程序

2 终端类型

  • 内中断(异常、例外):与当前执行的指令有关,中断信号来源于CPU内部
    • 试图在用户态下执行特权指令
    • 执行除法指令时发现除数为0
    • 执行陷入指令请求操作系统内核的服务(系统调用是通过陷入指令完成的)
  • 外中断(中断):与当前执行的指令无关,中断信号来源于CPU外部
    *每一条指令执行结束时,CPU都会例行检查是否有外中断信号
    • 时钟中断 (由外部时钟部件发来的中断信号):并发运行
    • I/O中断(由输入/输出设备发来的中断信号)
      在这里插入图片描述

3 中断机制的基本定理
不同中断信号需要用不同的中断处理程序来处理
CPU检测到中断信号后会根据中断信号类型查询中断向量表,找到相应的中断处理程序在内存中的存放位置
在这里插入图片描述
中断处理程序是内核程序,需要运行在“内核态”


1.6 系统调用

1 系统调用概念与作用
系统调用:是操作系统提供给应用程序(程序员/编程人员)使用的接口,可理解为一种可供应用程序调用的特殊函数
应用程序可以通过系统调用来请求获得操作系统内核的服务

2 系统调用与库函数区别
在这里插入图片描述
*库函数可能不涉及系统调用,如“取绝对值”的函数

2 为什么系统调用是必须的?
由操作系统内核对共享资源进行统一的管理,并向上“系统调用”,用户进程想使用共享资源,只能通过系统调用向操作系统内核发出请求,内核会对各个请求进行协调处理

3 什么功能要用到系统调用?
在这里插入图片描述
系统中各种共享资源都由操作系统内核统一掌管,凡是与共享资源有关的操作(如存储分配、I/O操作,文件管理等),会直接影响到其他进程的操作,都必须通过系统调用方式向操作系统内核提出服务请求,由操作系统内核代为完成
—>保证系统的稳定性和安全性,防止用户进行非法操作

4 系统调用过程
用户态:传参指令–向寄存器传入参数–>陷入指令(trap指令/访管指令)–内中断信号,转入系统调用的入口程序–>内核态:执行系统调用入口程序–根据寄存器参数判断用户需要的系统调用服务–>执行系统调用处理程序---->用户态:回到原本应用程序执行剩下语句
在这里插入图片描述
*陷入指令在用户态执行
*发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行


1.7 操作系统的内核

1 内核
在这里插入图片描述
*原语:即使收到内中断信号仍然继续执行
在这里插入图片描述
2 体系结构

  • 大内核
    在这里插入图片描述
  • 微内核
    在这里插入图片描述
    *变态的过程是有成本的,要消耗不少时间,频繁地变态会降低系统性能

3 不同体系结构的优缺点
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值