什么是用户和计算机物理设备之间的接口,《王道操作系统》学习笔记计算机系统概述...

《王道操作系统》学习笔记计算机系统概述

《王道操作系统》学习笔记:计算机系统概述

一、计算机系统概述

1、操作系统的概念、功能和目标

1)、概念

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

2)、功能和目标

400083345c170fa4d970e32075345d26.png

1)作为系统资源的管理者

进程是一个程序的执行过程。执行前需要将该进程放到内存中,才能被CPU处理

提供的功能:处理机管理、存储器管理、文件管理、设备管理

目标:安全、高效

51e7c7673751a2363a408dd73aa97f96.png

2)作为用户和计算机硬件之间的接口

提供的功能:

命令接口:允许用户直接使用,命令接口又分为联机命令接口(又叫交互式命令接口,例如windows的cmd)和脱机命令接口(又叫批处理命令接口,例如windows的*.bat文件)

程序接口:允许用户通过程序间接使用,由一组系统调用组成,例如windows的.dll文件

GUI:图形用户界面

目标:方便用户使用

7ec95816cc0eb964d189605e4712cb1f.png

3)作为最接近硬件的层次

没有任何软件支持的计算机称为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器

2、操作系统的四个特征

操作系统的四个特征:并发、共享、虚拟、异步

1)、并发

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

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

一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行

2)、共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用

7ea782ae9a2fe4620ec7f192686bd9a3.png

3)、虚拟

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

9a2e29009e13d69864d75a76998e9068.png

4)、异步

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

3、操作系统的发展与分类

1)、手工操作阶段

e8c122e8f3d8559f9b269cbd08fb71e8.png

2)、批处理阶段

1)单道批处理系统

c9953effc0becffd440691e060ddba6c.png

2)多道批处理系统

e9178166d15886231836b6eb77452a66.png

3)、分时操作系统

ed1ecb84dd519b59f0b20cd1285e15be.png

4)、实时操作系统

2c8311c5d6f2e7110ee8bbb4663ea14b.png

6bc0b99b409d79bc8ea17fe234b608ac.png

4、操作系统的运行机制与体系结构

1)、什么是指令

1938509c335b677ce4dc839fe1851b96.png

一条高级语言的代码翻译过来可能会对应多条指令

指令就是处理器(CPU)能识别、执行的最基本命令

2)、运行机制

92821619df67b5c61bf7fc9903e6aac4.png

e200a90dd3d7b2b41ca170dfc6dc3bba.png

97b026b418706f6d3da4ba1fac170f8a.png

3)、操作系统内核

518ee8be884b4cfc761def7e812add61.png

内核是计算机配置的底层软件,是操作系统最基本、最核心的部分

实现操作系统内核功能的那些程序就是内核程序

ebc77dedbee4222665c71045cfea3bd5.png

4)、操作系统的体系结构

beaa5fe2701f64b7505995aad346f4a4.png

5、中断和异常

1)、中断机制的诞生

a9bb28dc2d87d3b3266baf6815f71bc4.png

为了解决上述问题,人们发明了操作系统,引入中断机制,实现了多道程序并发执行。只要发生了中断就意味着需要操作系统介入,开展管理工作

进程1:

8f451aa744f5c4e7bbf25f727690ac2e.png

6c1b5bd768c0368ed43c118b5e2cd999.png

2b0fc92a8b554236589c61382ee5dd4d.png

进程2:

a6f687edc1c9d41d268ba3916bc9e74c.png

64f314eb71fdfe25a28ec4a59090ed18.png

fafa69e2891931c4914d54dd94563036.png

81592351ebb3d447c8838b0bfb6d76c7.png

ca2dc8ccd295c3aea108c59d2fa2f50c.png

900f3604934d434fb06eade295864c79.png

2)、中断机制的概念和作用

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

当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理

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

发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行

用户态、核心态之间的切换是怎么实现的?

用户态->核心态是通过中断实现的,并且中断是唯一途径

核心态->用户态的切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为用户态

3)、中断的分类

90ed8dd1bd14ac0b47e1136804bcd1dd.png

39b97c5c8131abc97645dbf809ed480c.png

4)、外中断的处理过程

09acf59c74f515c4fec62bd194b4d301.png

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

ea4e8fb3b2331e9ed1b0f4f55774fc07.png

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

5cae9a6f351b94353fda7539dcc645fb.png

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

b0e61f69040557eeb34f76a65b957b25.png

恢复原进程的CPU环境并退出中断,返回原进程继续往下执行

6、系统调用

1)、什么是系统调用

4d6338de204be6fba385c32c24a8aa02.png

831be330c2c433ffa594ef9bbda1dfff.png

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

07629699edad448560b6d9805caf5d19.png

3)、系统调用背后的过程

7431fc522a7b25777528fbb9580b6db5.png

67df5dd5e10695cb757863fc40ba6289.png

传递系统调用参数->执行陷入指令(用户态)->执行系统调用相应服务程序(核心态)->返回用户程序

注意:

陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,从而CPU进入核心态

发出系统调用请求是在用户态,而对系统调用相应处理在核心态下进行

陷入指令是唯一一个只能在用户态执行,而不可在核心态执行的指令

《王道操作系统》学习笔记计算机系统概述相关教程

Linux小白菜尝试写学习笔记日记

Linux小白菜尝试写学习笔记日记 第一章 Linux系统概述 Linux是一种广泛使用的类UNIX操作系统,是真正的多用户、多任务操作系统,具有强大的信息处理功能。 推动Linux发展的人们: Linus —— 1991年发布 Dennis ——C语言之父 查理德 ——自由软件之父 Linux

JDK1.8 Stream流操作和lambda表达式学习记录

JDK1.8 Stream流操作和lambda表达式学习记录 lambda函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。 parallelization 并行 :所谓并行的意思就是在并行环境下,各个线程之间不需要同步或互斥。 lazy evaluation 惰性求值 :这个

分享一下我的Python自学历程分享下我自己学习方法实用

分享一下我的Python自学历程,分享下我自己学习方法【实用】 其实关于编程这事儿没有接触的那么早,大一的时候没什么关注点,有一门课是vb,一天天的,就抄抄作业啥的就完事儿了。当时也觉的自己不是学编程的料,想着以后估摸也不会干开发相关的工作。 我的自

NRF52832学习笔记(28)——一主多从连接

NRF52832学习笔记(28)——一主多从连接 一、简介 由于蓝牙主机和从机组网,如果不使用 Mesh 的话,只能组微微网。蓝牙5.0的微微网最大可以连接20个从机。 在主机与从机发生连接的时候会进行连接句柄的分配。连接句柄的作用是在蓝牙数据进行分组的时候进行设

springboot系列学习(十五):springboot项目里面,springMVC的

springboot系列学习(十五):springboot项目里面,springMVC的自动配置的原理是什么?springMVC是如何使用的 在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制。 只有把这些都搞清楚了,

Mysql学习记录【Mysql多表联合查询】

Mysql学习记录【Mysql多表联合查询】 user表创建语句: CREATE TABLE IF NOT EXISTS user ( uid int(11) NOT NULL, username varchar(30) NOT NULL, password char(32) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS order_good

大话数据结构学习笔记(8)二叉树

大话数据结构学习笔记(8)二叉树 声明:本篇博客的图来源于:https://blog.csdn.net/qq_35433716/article/details/89710720 一、相关名词说明 度:结点拥有的子树数;(树的度是树内各节点的度的最大值) 叶节点或终端结点:度为0的结点 非终端结点或分支节

RocketMQ高可用源码笔记

RocketMQ高可用源码笔记 RocketMQ,消息到达主节点,会同步到从节点。如果主节点宕机,Client可以在从节点拉取消息。 HAService中有三个重要的类: AcceptSocketService :Listens to slave connections to create HAConnection.监听从节点的连接并创建HAConn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值