王道考研-操作系统b站学习第一章

参考链接:https://www.bilibili.com/video/BV1YE411D7nH?p=2&vd_source=48441c971575b39d0ac4284cbb7b0528

1.1-1操作系统概念 、功能、目标

操作系统概念:

1.负责管理协调硬件、软件等计算机资源的工作
2.为上层的应用程序、用户提供简单易用的服务
3.操作系统是系统软件,而不是硬件
在这里插入图片描述定义:是指控制和管理整个计算机系统的软件和硬件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
在这里插入图片描述
补充知识:
进程是一个程序的执行过程。执行前需要将该程序放到内存中,才能被cpu处理。
用qq和朋友视频聊天过程:
step1:在各个文件夹中找到qq安装位置(逐层打开文件夹,找到QQ.exe这个程序的存放位置)
step2:双击打开QQ.exe(需要把该程序相关数据放入到内存)
step3:QQ程序正常运行(对应的进程被处理机(CPU)处理)
step4:开始和朋友视频正常聊天(需要将摄像头设备分配给进程)

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

命令接口:允许用户直接使用
程序接口:允许用户通过程序间接使用
GUI:现代操作系统中最流行的图形用户接口
在这里插入图片描述在这里插入图片描述提示:系统调用=系统调用命令=广义指令

  1. 联机命令接口实例(Windows系统)联机命令接口=交互式命令接口

step1:win+R
step2:输入cmd,按回车,打开命令解释器
step3:尝试使用time指令
在这里插入图片描述输入一条指令,系统执行一条指令。

  1. 脱机命令接口实例(Windows系统) 脱机命令接口=批处理命令接口

使用windows系统的搜索功能,搜索C盘中的*.bat文件,用记事本任意打开一个
在这里插入图片描述

  1. 程序接口:如C:\Windows\System32\user32.dll程序员在程序中调用user32.dll(该调用过程即为系统调用)即可实现创建窗口等功能。只能通过用户程序间接使用。

GUI:图形用户界面

用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。
例子:在Windows操作系统中,删除一个文件只需要把文件“拖拽”到回收站即可。

知识回顾

在这里插入图片描述

1.1-2操作系统的特征-并发、并行、共享、虚拟、异步

知识总览

在这里插入图片描述

并发

指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观是交替发生的。
常考易混概念–并行:指两个或多个事件发生在同一时刻同时发生。

并行VS并发

eg:假设小渣和老渣每人有两个女朋友。任务1:和一号约会;任务2:和二号约会…
在这里插入图片描述

并发特征

操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但是宏观上是同时执行的)事实上,操作系统就是伴随着“多动道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
当今计算机,一般都是多个CPU,比如Intel的第八代i3处理器就是4核CPU,这意味着同一时刻可以有4个程序并行执行,但是操作系统的并发性依然是必不可少的,当代人使用计算机绝对有4个以上的程序需要同时工作。

共享特征

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
在这里插入图片描述  所谓的”同时“往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行柯访问的(即分时共享)
生活实例:
互斥共享方式:使用QQ和微信视频。同一时段内摄像头只能分配给其中一个进程。
同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。
并发和共享的关系:(互为)
使用QQ发送文件A,同时使用微信发送文件B。
1.两个进程正在并发执行(并发性,如果程序失去并发性,则系统中只有一个程序正在运行,则共享性时区存在的意义)
2.需要共享地访问硬盘资源(共享性,如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发)

虚拟

虚拟是指把一个物理上的实体变为诺干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
举例1:
背景知识:一个程序需要放入内存并给它分配CPU才能执行
GTA5游戏需要4GB的运行内存,QQ需要256MB的内存,迅雷需要256MB的内存,网易云音乐需要256MB的内存…
我的电脑:4GB内存
问题:这些程序同时运行需要的内存远大于4GB,那么为什么它们还可以在我电脑上同时运行呢?
答:这是虚拟存储器技术。实际只有4GB的内存,在用户看来狮虎远远大于4GB,使用的是虚拟技术中的“空分复用技术”
举例2:某单核CPU的计算机中,用户打开了QQ、微信、王者、抖音、csdn、QQ音乐等6个软件
问题:既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?
答:这是虚拟处理器技术。实际上只有一个单核CPU,在用户看来似乎有6个CPU在同时为自己服务
。虚拟技术中的“时分扶复用技术”。微观上处理机在各个微小的时间段内交替着为各个进程服务。

异步

在多道程序环境下,允许多个程序并发执行,但是由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
示例:老渣要和两个女孩并发约会
一号的指令1:老渣陪我吃饭
一号的指令2:老渣把心给我
二号的指令1:老渣把心给我
二号的指令2:老渣陪我吃饭
约会的情况如下:
在这里插入图片描述与一号、二号指令约会相当于对两个进程的处理,每个进程都有各自需要执行的指令。
老渣的心相当于有限的系统资源。由于可分配的资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。
显然,如果失去了并发行,则系统只能串行的处理各个进程,每个进程的执行都会一贯执行到底。只有系统拥有并发性,才有可能导致异步性。

知识回顾

在这里插入图片描述

1.1-3OS的发展和分类

知识总览

在这里插入图片描述

重点理解各阶段的优点和缺点。各阶段的主要优点都是解决了上一阶段的主要缺点。

手工操作阶段

人工操作和纸带的输入输出更不上电脑的速度,导致电脑的CPU处于空闲状态。
缺点:用户独占全机、人机矛盾导致资源利用率极低。

批处理阶段-单道批处理系统

引入脱机输入/输出技术(用磁带完成,比纸带快很多,CPU空闲时间减少),并监督程序(操作系统的雏形)负责控制作业的输入和输出。
主要优点:缓解了一定程度上的人机速度矛盾,资源利用率有所提升。
主要缺点:内存中仅能有一道程序运行,只有该程序运行结束后才能调入下一道程序。CPU有大量的时间是在空闲等待I/O完成。资源利用率依旧很低。

批处理阶段-多道批处理系统

程序员可以每次往内存中输入多道程序,操作系统正式诞生,并且引入了中断技术,由操作系统负责管理这些程序的运行。各个程序并发执行。
主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU和其它资源保持“忙碌”状态,系统吞吐量增大。
主要缺点:用户相应时间长,没有人机交互功能(用户提交自己的作业后就只能等待计算机处理完成,中间不能控制自己的作业执行)
图示比较,为何多道处理系统能大幅提升资源利用率?
假设计算机需要处理三个作业
作业一:输入1秒,计算1秒,输出1秒
作业二:输入1秒,计算1秒,输出1秒
作业三:输入1秒,计算1秒,输出1秒
在这里插入图片描述在这里插入图片描述

分时操作系统

计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。
主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务地紧急性。

实时操作系统

主要优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
在实时操作系统的控制下,计算机系统接收到外部信号后及时处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性。
![在这里插入图片描述](https://img-blog.csdnimg.cn/4f250437e7e44184bb806da40266d892.png

知识回顾

在这里插入图片描述

1.1-4操作系统的运行机制和体系结构

知识总览

在这里插入图片描述什么是指令?
在这里插入图片描述简单来说,“指令”就是处理器(CPU)能识别、执行的最基本命令
比如:加法指令就是让CPU进行加法算法
在这里插入图片描述在这里插入图片描述在这里插入图片描述小结:
在这里插入图片描述思考:操作系统中的那些功能应该由内核程序实现呢?
在这里插入图片描述总结:内核时计算机上配置的底层软件,是操作系统最基本、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序。
在这里插入图片描述我们可以将操作系统的体系结构分为大内核和微内核。
在这里插入图片描述类比:
操作系统的体系结构问题与企业的管理问题很相似。
内核就是企业的管理层,负责一些重要的工作。只有管理层才能执行特权指令,普通员工只能执行非特权指令。用户态、核心态之间的切换相当于普通员工和管理层之间的工作交接
大内核:企业初创时体量不大,管理层的人会负责大部分的事情。优点是效率高;缺点是组织结构混乱,难以维护。
微内核:随着企业体量越来越大,管理层只负责最核心的一些工作。优点是组织结构清晰,方便维护;缺点是效率低。

知识回顾

在这里插入图片描述

1.1-5中断和异常

知识总览

在这里插入图片描述概述:早期计算机运行程序只能串行工作,这会导致资源利用率极低。为了解决这个问题,人们发明了操作系统(作为计算机的管理者),引入了中断机制,实现了多道程序并发执行
本质:发生中断就意味着需要操作系统介入,开展管理工作。
在这里插入图片描述多个程序并发执行,进程一在用户态运行,然后可能受到CPU计时部件发出的中断信号,切换为核心态对中断进行处理。把操作权限交给操作系统,操作系统的内核对中断信号处理,操作系统发现时间片用完,换进程二运行,操作系统开展一系列工作,之后会交换给用户进程。
进程二执行一段时间后,可能发出系统调用(内中断信号),请求输出。CPU切换为核心态,对中断进行处理。
在这里插入图片描述输入输出指令是属于特权指令,不允许用户进程直接使用,普通应用程序,只能通过系统调用方式,内中断方式,来主动要求操作系统进入工作,待其完成相关工作。之后,操作系统按照进程二的请求,要求打印机开始工作,进程二要等待I/O进行完,会等待I/O完成。一系列完成后操作系统会将权限交还给用户进程,进程三开始工作,并且输出设备在操作系统要求下并行工作,当工作结束后会向CPU发出I/O完成信号。CPU收到I/O设备发来的中断信号,切换为核心态对中断进行处理。操作系统的内核会对中断信号进行处理。进程二的i/o操作完成后,让进程二恢复运行,以完成后续工作,接着把CPU操作权限交还给用户态。进程二重新投入运行。
通过以上分析,发现以下特点:
1.当终端发生时,CPU立即进入核心态。
2.当中断发生时,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3.对于不同的中断信号,会进行不同的处理。
发生了中断就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、范培I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。
在这里插入图片描述

中断的分类

在这里插入图片描述另一种分类:
在这里插入图片描述外中断处理过程:
step1step1:执行每个指令后,CPU都要检查当前是否有外部中断信号
step2:如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)
step3:根据中断信号类型转入相应的中断处理程序
step4:恢复原进程的CPU环境并推出中断,返回进程继续往下执行

知识回顾

在这里插入图片描述

1.1-6系统调用

什么是系统调用,有何作用?

知识点回顾:
操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。
在这里插入图片描述”系统调用“是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。
问题:操作系统为什么要提供“系统调用”功能?
生活场景:你去学校打印店打论文,当你按下“打印”之后,打印机开始工作。你的论文打印到一半时,另外一位同学也按下“打印”按钮开始打印他自己的论文。
最终,你的论文和该同学的论文页面并没有混杂在一起,都是按顺序依次打印的。
思考:如果各个进程可以随意打印,会发生什么情况?
你的论文打印到一半时,另外一个同学按下了“打印”按钮开始打印他自己的论文,结果,你的后半部分论文与该同学混杂在一起。。。。
应用程序通过系统调用请求操作系统的服务。系统中的各个共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源相关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
在这里插入图片描述

系统调用与库函数区别

在这里插入图片描述

系统调用的背后

在这里插入图片描述

知识回顾

在这里插入图片描述

让我们一起提前预习,一起学习。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值