操作系统第一章:计算机系统概述

本文详细介绍了操作系统的概念、功能和目标,包括资源管理、用户接口和系统调用。阐述了操作系统的四个特征:并发、共享、虚拟和异步,并讨论了其发展与分类,如批处理、分时和实时操作系统。此外,还讲解了操作系统的运行机制,如特权指令、用户态与核心态,以及中断和异常处理。系统调用的概念、作用和过程也被深入解析,它是应用程序与操作系统交互的重要方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作系统的概念

在这里插入图片描述

用户和操作系统直接也有接口(不用软件也可以实现一部分功能)

操作系统的功能和目标

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

补充:执行一个程序前需要将该程序放到内存中,才能被CPU处理。

2.向上层提供方便易用的服务

在这里插入图片描述
在这里插入图片描述

GUI:图形化用户接口(“拖拽”到回收站即可删除一个文件)

联机命令接口:交互式命令接口(说一句左一句)

脱机命令接口:批处理命令接口(说一堆做一堆)

在这里插入图片描述

程序接口:可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程

序代码间接使用。

tips:程序接口=系统调用=广义指令

在这里插入图片描述

3.最接近硬件的层次

实现对硬件机器的扩展,安装操作系统可以提供更多功能,使机器用起来更方便

通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机

小结

在这里插入图片描述

操作系统的四个特征

在这里插入图片描述

1.并发

并发:看上去是同时发生的,其实是交替发生的(宏观上同时发生,微观上交替发生)
并行:几个事件同时发生
在这里插入图片描述

2.共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
在这里插入图片描述
互斥共享:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。

同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件, 说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。

并发和共享的关系

在这里插入图片描述
并发和共享互为存在的条件,这两个也是操作系统两个最基本的特征

3.虚拟

就是通过一定的技术,本来没有那么多资源,但是可以让用户感觉到有足够的资源

背景知识:一个程序需要放入内存并给它分配CPU才能执行

虚拟技术中的时分复用技术:微观上处理机在各个微小的时间段内交替着为各个进程服务
在这里插入图片描述

4.异步

异步是指多个程序并发执行,但是某个关键的资源有限,比如A用了那么B就要停下来等A用完了把资源释放出来,B才能继续进行。
在这里插入图片描述

只有系统拥有并发性,才有可能导致异步性。(都不抢资源了,直接一头进行到底)

小结

在这里插入图片描述

操作系统的发展与分类

在这里插入图片描述
每个阶段的发展,主要优点都是对上一个阶段缺点的改良

1.手工操作阶段

在这里插入图片描述
就是人拿纸戳孔孔(010101这种机器语言)放到纸带机里面去读,读完之后机器再打出结果给人看
缺点:人处理的时候太慢了(打孔这些),纸带机输入输出也慢,而机器一会就搞定了,这样就导致资源很浪费(机器在那等半天)

2.批处理阶段
单道批处理系统

在这里插入图片描述
用外围机+磁带的方式,比纸带机的速度快,因此提高了一些速度

缺点:CPU大量时间都在等待I/O完成

多道批处理系统

在这里插入图片描述
多道批处理系统——“标志操作系统的诞生”

多道程序并发执行,输入了J1后就开始输入J2,同时开始计算J1…这样使各个资源充分利用起来

缺点:用户响应时间长,没有人机交互功能(用户提交自己的作业之后就只能等待 计算机处理完成,中间不能控制自己的作业执行。eg:无法调试程序/无法在程序运行过程中输入一些参数)

3.分时操作系统

在这里插入图片描述

4.实时操作系统

在这里插入图片描述

小结

在这里插入图片描述

操作系统的运行机制

补充知识:程序运行的过程其实就是CPU执行一条一条的机器指令的过程(高级语言会被编译器翻译成一条条机器指令)

机器指令就是机器看得懂的语言

1.特权指令、非特权指令

在这里插入图片描述
在这里插入图片描述

2.内核程序、应用程序

在这里插入图片描述
特权指令只能内核程序执行,而应用程序只能执行非特权指令(内核程序是高层)

3.用户态、核心态

在这里插入图片描述
处理器的两种状态,内核程序运行在核心态里,应用程序运行在用户态里。
两者经常切换(一会用内核程序执行特权指令,一会要用应用程序执行非特权指令)

4.操作系统的内核

在这里插入图片描述
操作系统内核需要运行在内核态
操作系统的非内核功能运行在用户态
在这里插入图片描述

大内核、微内核

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

小结

在这里插入图片描述

中断和异常

1.中断的作用

在这里插入图片描述
比如说一个多道批处理系统,如果不能中断,那么一个程序就要运行到结束其他的程序才能运行。
而有中断,那么J1输入结束后通过中断把控制权交给操作系统(先把中断前的各种数据保存好,方便中断结束后继续执行),让它分配资源给J2的输入,也就是说,中断才可以让各个程序并发实现。
在这里插入图片描述

本质:发生中断意味着需要操作系统介入,开展管理工作

发生中断后会立即进入核心态

用户态——内核态:由中断引发,且只能由中断引发

内核态——用户态:修改PSW的标志位

执行完每个指令之后,CPU都要检查是否有外中断信号,如果有的话要把当前进程的CPU环境保存下来然后执行中断,中断结束后再回来继续执行(就像打游戏存档,回来再继续玩)

2.中断的类型

在这里插入图片描述

判断方法:只用关心中断信号来源即可,来自外面是外中断,来自内部是内中断

3.中断的基本原理

在这里插入图片描述
查表,根据信号类型找到对应中断处理程序,执行

小结

在这里插入图片描述

系统调用

1.概念

“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务
在这里插入图片描述

2.和库函数的区别

在这里插入图片描述
有些库函数就是封装的系统调用,会隐藏一些细节,让程序员用着更方便
有些库函数会涉及系统调用,比如创建文件
有些则不涉及,是程序员创造的一些,比如有关数学的一些函数,就不用系统调用

3.系统调用的作用

在这里插入图片描述
很多这些资源是需要管理的,这个时候就要用系统调用,进程要想使用资源就得用到系统调用,然后操作系统来处理,这样才不会出现两个同学的打印混在一起的情况。

4.什么功能用到系统调用

在这里插入图片描述
稍微可能影响到安全性的,都要用到系统调用

5.系统调用的过程

在这里插入图片描述
注意:
1. 陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态
2. 发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行

3. 陷入指令是唯一一个不能再核心态下执行的指令

小结

在这里插入图片描述

第一章小结

在这里插入图片描述
为OS办事时,OS会告诉CPU接下来要为哪个应用程序办事( OS的主动行为)
CPU为应用程序办事的过程中,可能会被OS召回(中断);也有可能是CPU自己检测到某些特殊情况(异常),然后按照OS的要求处理
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值