用一首圣诞歌的时间·入门操作系统吧~
Posted kikokingzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用一首圣诞歌的时间·入门操作系统吧~相关的知识,希望对你有一定的参考价值。
🌕写在前面
- 🍊博客主页:kikoking的江湖背景
- 🎉欢迎关注🔎点赞👍收藏⭐️留言📝
- 🌟本文由 kikokingzz 原创,CSDN首发!
- 📆首发时间:🌹2021年12月17日🌹
- 🆕最新更新时间:🎄2021年12月17日🎄
- ✉️坚持和努力一定能换来诗与远方!
- 🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢感谢感谢!
目录
例题:多道批处理操作系统、分时操作系统和实时操作系统各有什么特点?
🔥1.操作系统的概念
操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便的接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件
例子:操作系统的任务管理器如下
🍓系统软件:计算机中负责管理、运行、控制和维护计算机系统资源的软件;其包括操作系统、数据库管理系统、语言处理系统、服务性程序、标准库程序
🍓应用软件:使用系统软件所提供的服务为解决各种实际问题而编制的程序;如微信、QQ
🍓应用程序:一个游戏应用软件包括程序(*.exe)和其他图片(*.bmp)、音效(*.wav)等附件,那么这个(*.exe)称作“应用软件”;而它与其他文件(图片、音效等)在一起合称“软件”
📜例题1.操作系统加载的位置是(________)
✨✨✨我是分割线✨✨✨
🔥2.操作系统的特征
🍊2.1 并发
🍓并发概念
并发是指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的;操作系统的并发性是指计算机中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。
并发的实现方式:通过分时实现
🍓并行概念
并行是指两个或多个事件在用一时刻同时发生
🍓单核与多核CPU
单核CPU:同一时刻只能执行一个程序,各个程序只能并发地执行
多核CPU:同一时刻可以同时执行多个程序,多个程序可以并行地执行
例如:4核CPU可以并行地执行4个程序
🍊2.2 共享
资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
🍓互斥共享方式
系统中的某些资源,如打印机、磁带机,虽然可供多个进程使用,但为使得所打印或记录的结果不产生混淆,应规定在一段时间内只允许一个进程访问该资源。
因此,当进程A访问某个资源时,必须先提出请求,若此时该资源空闲,系统便将之分配给进程A使用,此后有其他进程也要访问该资源时,就必须等待
独占资源:把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源
🍓同时访问方式
系统中还有另一类资源,这类资源允许在一段时间内由多个进程“同时”访问,“同时”通常上是宏观上的“同时”,微观上是交替访问的(通过时间片的轮转)
可供多个进程“同时”访问的典型资源是磁盘设备,一些用重入编码写的文件也可被“同时”共享,即允许若干个用户同时访问该文件
🍊2.3 并发与共享的关系
·并发性:指计算机系统中同时存在着多个运行着的程序
·共享性:指系统中的资源可供内存中多个并发执行的进程共同使用
如果失去并发性,则系统中只有一个程序正在运行,共享性失去了存在的价值
如果失去共享性,则系统中的程序,例如QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发
可见,共享和并发之间你中有我,我中有你,互相不能分割
🍊2.4 虚拟
虚拟是指把一个物理上的实体变为若干逻辑上的对应物;用于实现虚拟的技术,称为虚拟技术。操作系统中利用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等······
🍓时分复用技术
虚拟处理器技术是通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器的,将物理上的一个CPU虚拟为多个逻辑上的CPU。此时,尽管只有一个处理器,但它能同时为多个用户服务,让多个终端用户感觉到有一个CPU在专门为它们服务。
🍓空分复用技术
可以采用虚拟存储技术将一台机器的物理存储器变为虚拟存储器,以便从逻辑上扩充存储器的容量。此时,用户感觉到的内存容量是虚的,我们把用户感觉到的,但实际上并不存在的存储器称为虚拟存储器
⭕️与并发的关系
如果失去了并发性,则一个时间段内系统中只运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性。
🍊2.5 异步
异步是指,在多道程序并发执行的情况下,由于资源有限,进程的执行并不是一贯到底的,而是走走停停,它以不可预知的速度向前推进。
⭕️与并发的关系
如果失去了并发性,即系统一次只运行一道程序,系统只能串行地运行各个程序,那么每个程序的执行会一贯到底。只有系统拥有并发性,才可能导致异步性。
✨✨✨我是分割线✨✨✨
🔥3.操作系统能做啥?
🍊3.1 管理计算机系统资源
🍓 进程管理(处理机管理)
计算机中同时并发运行多个进程,此时操作系统负责管理这些进程何时创建、何时撤销,避免这些进程之间发生冲突,合理共享
主要功能:进程控制、进程同步、进程通信、死锁处理、处理机调度
🍓 内存管理(存储器管理)
为多道程序运行提供良好环境,方便用户使用及提高内存利用率
主要功能:内存分配回收、地址映射、内存保护与共享、内存扩容
🍓 文件管理
操作系统中负责文件管理的部分称为文件系统
文件管理包括:文件存储空间的管理、目录管理及文件读写管理和保护
🍓 设备管理
完成✅用户的I/O请求,方便用户使用各种设备,并提高设备的利用率
设备管理包括:缓冲管理、设备分配、设备处理和虚拟设备
🍊3.2 为用户与计算机硬件系统之间提供接口
🍓命令接口
用户可以利用操作命令来组织和控制作业的执行
💎联机命令接口(交互式)
·用户与系统对话交互,告诉它做什么
由一组键盘操作命令组成。用户通过控制台输入操作命令,来控制作业的执行,可见提供的接口是实时的,适用于分时或实时系统的接口
分时操作系统:是一种联机的多用户交互式的操作系统。 一般采用时间片轮转的方式使一台计算机为多个终端服务 。
实时操作系统:它会按照排序运行、管理系统资源,并为开发应用程序提供一致的基础
💎脱机命令接口(批处理命令接口)
·用户写一份说明书让系统看着说明书做
由一组作业控制命令组成。用户把需要执行的作业写成一份作业操作说明书,连同作业一块提交给系统,系统调度到该作业时,系统中的命令解释程序逐条解释执行说明书上的命令,从而间接控制作业的运行。适用于批处理系统。
批处理系统:指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。
🍓程序接口
咱们代码设计师可以使用程序接口来请求操作系统服务,例如printf函数的底层使用了操作系统提供的显示相关的“系统调用”
程序接口由一组系统调用(广义指令)组成。用户通过使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存等要求
例子:图形化用户界面(GUI)使用系统调用为其实现“拖拽删除服务”
🍊3.3 扩充机器
没有任何软件支持的计算机称为裸机,在裸机上安装操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成为功能更强,使用更方便的机器。我们通常把覆盖了软件的机器称为扩充机器或虚拟机。
✨✨✨我是分割线✨✨✨
🔥4.操作系统的发展与分类
🍊4.1 手工操作阶段
用户在计算机上算题的所有工作都要人干预,如程序装入、运行、结果的输出等
缺点❌:
1.用户独占全机,资源利用率低
2.CPU等待手工操作,CPU利用不充分
🍊4.2 批处理阶段
🍓单道批处理系统
脱机技术:提前将作业数据输入/输出到磁带,不需要每次都靠人力去安装纸带,相当于脱离了主机的控制,因此用于缓和/设备与主机之间的速度矛盾
每次主机内存中仅存放一道作业,每当它在运行期间,即下图中的绿色和蓝色时间期间,高速CPU便处于等待低速的I/O完成的状态
单道批处理系统等特征:
1.自动性:在顺利的情况下,磁带上的一批作业能自动地逐个运行,而无须人工干预2.顺序性:磁带上的各道作业顺序地进入内存,先调入内存的作业先完成✅
3.单道性:内存中仅有一道程序运行,当该程序完成或发生异常时,才换入其后继程序进入内存运行
缺点❌:CPU有大量空闲时间等待I/O,导致资源利用率低
🍓多道批处理系统
引入中断技术:多道程序设计允许多个程序同时进入内存并允许它们在CPU中交替地运行,当一道程序因I/O请求而暂停时,此时发生外中断,CPU立即转去运行另一道程序;
·可以说中断技术使得多道批处理系统和I/O设备可与CPU并行工作
缺点❌:无交互性,只能通过作业说明书交互
📜例题2.使用甘特图求解计算
🍊4.3 分时操作系统
🍓分时技术
把处理器运行时间切分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用,若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。
🍓分时操作系统
计算机以时间片为单位轮流为各个客户/作业服务,各个客户可以通过终端与计算机进行交互
例如:下图中每个时间片为50ms,有4个用户,每隔200ms任何一个用户都可以被响应;因此当时间片一定时,用户数越多,响应的时间越长
✅主要优点
1.用户请求可以被即时响应,解决了人机交互问题
2.允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在
❌主要缺点
1.不能优先处理一些紧急任务
2.操作系统对各个用户/作业都是完全公平的,循环地为每个用户/ 作业服务一个时间片,不区分任务的紧急性
🍊4.4 实时操作系统
·诞生原因:为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,主要应用在需要对外界输入立即做出反应对场合,不能有拖延,否则会产生严重后果
·在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性。
🍓算法实现
实时系统的进程调度,通常使用抢占式的优先级高者优先算法
抢占式——保证在某段时间内只完成该任务,该任务占用全机
优先级高者——保证越紧急的任务,越优先执行
🍊4.5 网络操作系统
网络操作系统:是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如:Windows NT 就是 一种典型的网络操作系统,网站服务器就可以使用)
🍊4.6 分布式操作系统
·若干计算机相互协同完成同一任务
分布式操作系统由多台计算机组成并满足下列条件:系统中任意两台计算机通过通信方式交换信息;系统中每台计算机都具有同等的地位;每台计算机上的资源为所有用户共享;系统中的任意台计算机都可以构成一个子系统,并且还能够重构;任何工作都可以分布在几台计算机上,由它们并行工作、协同完成这个任务
例题:多道批处理操作系统、分时操作系统和实时操作系统各有什么特点?
可见多道批处理的缺点是分时系统的优点;分时系统的缺点是实时系统的优点;实时系统的缺点是多道批处理的优点;可见三种操作系统互相弥补对方的缺点,环环相扣
✨✨✨我是分割线✨✨✨
🔥5.操作系统的运行环境
🍊5.1 操作系统的两类程序
计算机系统中,CPU通常执行两种不同性质的程序:一种是操作系统的内核程序;另一种是用户自编的应用程序
💎特权指令
特权指令是指计算机中不允许用户直接使用的指令;如I/O指令、置中断指令、存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器、修改PSW的指令、开中断指令、关中断指令等指令(会考!)
注意⚠️:访管指令(trap指令)不是特权指令,运行在用户态中
🍓内核程序
1.内核程序是应用程序的管理者,因此能执行一些特权指令,当然它们也可以执行非特权指令,但是唯独不能执行“访管”指令
2.由很多内核程序组成了“操作系统内核”,简称“内核”
3.内核是操作系统最重要最核心的部分,也是最接近硬件的部分
🍓应用程序
1.被管理的应用程序出于安全考虑不能执行特权指令,不然一些恶意软件要是能执行特权指令,你的电脑不就凉凉了~但是它们可以执行非特权指令
2.普通程序设计师写的程序就是“应用程序”
🍊5.2 CPU的两种状态
·CPU有两种状态,一种是“内核态”,一种是“用户态”
·CPU中有一个寄存器叫程序状态字寄存器(PSW),其中有个二进制位,1表示“内核态”,0表示“用户态”
🍓内核态(核心态/管态)
·处于内核态时,PSW中的二进制位 置1,说明此时正在运行的是内核程序,此时可以执行特权指令
·内核态——>用户态:执行一条特权指令,修改PSW的标志位为“用户态”,这个动作意味着操作系统主动让出CPU使用权
🍓用户态(目态)
·处于用户态时,PSW中的二进制位 置0,说明此时正在运行的是应用程序,此时只能执行非特权指令
·用户态——>内核态:由“中断”触发,硬件自动完成CPU状态转换,触发中断信号意味着系统将强行夺回CPU使用权
🍊5.3 操作系统的内核
🍓时钟管理
⭕️功能1 计时⌛️
操作系统需要通过时钟管理,向用户提供标准的系统时间
⭕️功能2 实现进程切换
操作系统通过时钟中断的管理,可以实现进程的切换;例如在分时操作系统中采用时间片轮转调度,在实时系统中按截止时间控制运行,在批处理系统中通过时钟管理来衡量一个作业的运行程度等
🍓中断处理
(下文详细介绍)
🍓原语
原语是操作系统底层的一些可被调用的公共小程序,它具有以下特点:
1.处于操作系统最底层,是最接近硬件的部分
2.这些程序的运行具有原子性,其操作只能一气呵成(为了系统安全和便于管理)
3.这些程序的运行时间都特别短,而且调用频繁
💎定义原语的直接方法:关闭中断,让其所有动作不可分割地完成后再打开中断;系统中的设备驱动、CPU切换、进程通信等功能中的部分操作都可定义为原语,使他们成为内核的组成部分
🍓系统控制的数据结构及处理
系统中用来登记状态信息的数据结构有很多(如:各类链表、消息队列、缓冲区),为了实现有效的管理,系统需要一些基本的操作:
1.进程管理
2.内存管理
3.设备管理
📜例题3
答:本题使用排除法处理
B、D:都属于中断,在核心态执行
C:进程调度是操作系统内核进程,无需用户干预,在核心态执行
A:命令解释程序属于命令接口,是四个选项中唯一能面对用户的,它在用户态执行
📜例题4
答:本题与上题的区别在于“发生”二字,而不是执行
A:系统调用发生在用户态,被调用程序在核心态执行
B:外部中断是用户态到核心态的“门”,发生在用户态,在核心态完成中断过程
C:进程切换属于系统调用执行过程中的事件,只能发生在核心态
D:缺页产生后,用户态发生缺页中断,然后进入核心态执行缺页中断服务程序
🍊5.4 中断和异常
🍓中断是什么?
操作系统内核工作在核心态,而用户程序工作在用户态。系统不允许用户程序直接实现核心态的功能,而它们又必须使用这些功能。因此,需要在核心态建立一些“门”,以便实现从用户态进入核心态。而唯一能进入这些“门”的途径就是通过中断和异常。发生中断或异常时,运行用户态的CPU会立即进入核心态,这是通过硬件实现的(例如,用一个特殊寄存器的一位来表示CPU所处的工作状态,0表示核心态,1表示用户态)
🍓为什么需要中断?
因为操作系统的发展过程大体上是一个想方设法,不断提高资源利用率的过程,而提高资源利用率就需要在程序未使用某种资源时,把它对那种资源的占有权释放,而这一行为就需要通过中断来实现。例如之前多道批处理时,当计算机CPU处理完数据后,便释放那种资源,进而处理下一条数据。
🍓外中断
指来自CPU执行指令以外的事情的发生,这一类中断通常是与当前指令执行无关事件,即它们与当前处理机运行的程序无关
💎例1.时钟中断,表示一个固定的时间片已到,让处理机处理计时⌛️、启动定时运行到任务
💎例2.I/O中断,表示设备输入/输出处理已经完成,希望处理机能够向设备发下一个输入/输出请求,同时让完成输入/输出后的程序继续运行
🍓异常(内中断)
指源自CPU执行指令内部的事件
💎例1.试图在用户态下执行特权指令
💎例2.执行除法指令时发现除数为0—>若当前执行的指令是非法的,则会引发一个中断信号
💎例3.有时候应用程序想要请求操作系统内核的服务,此时会执行一条特殊的指令:陷入指令,该指令会引发一个内部中断信号
·执行陷入指令(访管指令)意味着应用程序主动地将CPU控制权还给操作系统内核,系统调用就是通过陷入指令完成的,该陷入指令运行在用户态,因此不是特权指
以上是关于用一首圣诞歌的时间·入门操作系统吧~的主要内容,如果未能解决你的问题,请参考以下文章
距离IPAD到手还有不到一首歌的时间,幸运大奖正在向你飞奔而来
Flask:05-一首歌的时间掌握flask数据模型(01)