一、操作系统引论


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

学习思路

在这里插入图片描述

1.操作系统的概念

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

2.操作系统的功能和目标

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

在这里插入图片描述
在这里插入图片描述
第一步体现了功能中的文件管理
第二步体现了功能中的存储器管理
第三步体现了功能中的处理机管理
第一步体现了功能中的设备管理

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

在这里插入图片描述

红色框里的是重点考点

在这里插入图片描述
联机命令接口例子:
在这里插入图片描述
用户说一句,操作系统做一句

脱机命令接口例子:
在这里插入图片描述
相当于把很多命令打包在一个文件里,然后操作系统一条一条执行;就是用户说一堆,操作系统做一堆。

程序接口例子:
在这里插入图片描述
只能通过程序间接使用,用户没办法直接使用
在这里插入图片描述

这三个其实是一个意思

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

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

在这里插入图片描述

二、操作系统的四个特征

在这里插入图片描述

1.并发

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

2.共享

在这里插入图片描述

并发和共享的关系

在这里插入图片描述

3.虚拟

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

4.异步

在这里插入图片描述
当前一个人把心占用了之后,后一个就要阻塞等待
在这里插入图片描述

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

学习思路

在这里插入图片描述

1.手工操作阶段

在这里插入图片描述
需要人工换纸袋机,换一次执行一次程序,换的时候就会浪费大量时间

2.批处理阶段

2.1单道批处理

将纸袋机的程序存入了磁带,计算机一次读一道程序,避免了换纸袋机浪费时间
在这里插入图片描述

2.2多道批处理

在这里插入图片描述
在这里插入图片描述
假设输入需要一秒,计算一秒,输出一秒,用单道批处理完成三个作业就需要9秒,并且输入设备,CPU,输出设备是串行的,在进行输入时候CPU和输出设备都处于空闲状态,很浪费资源。
在这里插入图片描述
多道批处理的时候,在第一个作业输入完成,进行计算的时候,输入设备处于空闲,那么就可以继续进行第二个作业的输入,三种系统资源开始并行的工作了,也就是说系统资源空闲时间大幅度减少了,大部分时间处于忙碌的状态,所以说多道批处理系统能够使资源利用率大幅提升。

4.分时操作系统

在这里插入图片描述
为了解决分时操作系统的缺点,又发明了实时操作系统

5.实时操作系统

在这里插入图片描述
导弹响应处理不及时可能会射到别的地方

火车订票需要及时告诉别人还剩下多少张票

6.其他几种操作系统

在这里插入图片描述

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

学习思路

在这里插入图片描述

1.什么是指令

在这里插入图片描述

2.运行机制

2.1两种指令

在这里插入图片描述

2.2两种处理器状态

在这里插入图片描述

2.3两种程序

在这里插入图片描述

小结

在这里插入图片描述

特权指令需要在处理器的核心态下才可以执行,非特权指令可以在核心态下执行也可以在用户态下执行。需要使用特权指令执行的程序叫做内核程序,不需要使用特权指令执行的程序叫做应用程序。内核程序由于需要使用特权指令,所以执行在核心态下

操作系统中的哪些功能应该由内核程序实现?

这个问题引出要学习的操作系统内核

3.操作系统内核

在这里插入图片描述
在操作系统中并不是所有都是必不可少的
最接近硬件的部分被叫做操作系统内核,其中包含很多和硬件紧密相关的功能
所有的进程切换和进程调度的管理工作都是需要计时才可以实现的,所以时钟管理是非常重要的。

原子性: 这种程序要么不执行,要执行就必须执行到结束,中间不能被中断

在这里插入图片描述

3.操作系统的体系结构

在这里插入图片描述

把进程管理、存储器管理这些都算在内核里的话就叫做大内核
只把时钟管理这些基本功能保留在内核的话就叫做微内核
在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

五、中断和异常

学习思路

在这里插入图片描述

1.中断机制的诞生

在这里插入图片描述
在计算机的内存当中,同一时刻最多只能有一道程序,这种方式会使系统的资源利用率特别的低
在这里插入图片描述
在这里插入图片描述
引入中断机制之后就可以把多道程序同时放入到内存,各个程序并发的执行
在这里插入图片描述
比如说第一道程序或者说进程在用户态下运行,运行了一段时间之后,CPU可能会收到计时部件(用于计时的一个硬件设备)发出的中断信号,通知CPU时间已经过了一个时间片了,当CPU收到这个信号之后,就意味着需要操作系统介入开展管理工作,因此CPU会立即切换到核心态
在这里插入图片描述
在这里插入图片描述
在完成一系列的管理工作之后,操作系统会把CPU的使用权交还给用户进程,接下来进程二就会在用户态下继续执行
在这里插入图片描述
当进程二执行了一段时间之后,可能会发出系统调用的内中断信号,为了保证系统的安全性,像输入输出操作那些指令是属于特权指令,不允许用户进程直接使用,因此用户进程这些普通的应用程序,只能通过系统调用的方式(内中断信号的方式)来主动的要求操作系统介入工作,让操作系统代他完成请求输出工作。

接下来CPU同样会;立即进入核心态
在这里插入图片描述
然后操作系统二接管进程二提出的系统调用的请求
在这里插入图片描述
之后操作系统会按照进程二的请求按照要求,要求打印机这个输出设备开始工作
然后进程二由于要等待I/O设备的工作完成,所以会让进程二暂停运行。然后换进程三运行。
完成这一些列操作之后操作系统会把CPU的使用权还给用户进程,然后进程三开始工作
在这里插入图片描述
并且输出设备在操作系统的要求下会并行的工作,当他工作结束之后,会向CPU发出一个I/O完成的中断信号,当CPU接收到这个中断信号之后,他就知道现在又应该用操作由操作系统介入,进行后续的管理工作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

所以接下来把CPU的使用权还给用户进程,然后进程二重新投入运行,开始后续的工作
在这里插入图片描述

2.中断的概念和作用

通过上述中断机制的诞生得出中断的概念和作用
在这里插入图片描述

3.中断的分类

在这里插入图片描述

比如上述打印机完成了输出工作之后向CPU发出一个外部中断信号,这就属于外部中断
软件中断: 比如当前执行的指令是一个除法指令,并且这个指令进行了一个整数除0的非法操作,这种情况下就会抛出一个异常,或者说内中断,由于这个内中断的产生和当前正在执行的除法指令有关,所以中断信号来源是CPU内部

在这里插入图片描述

4.外中断的处理过程

在这里插入图片描述
CPU在用户态下运行一个用户程序相关的指令,那么CPU会按顺序一次执行这些指令
在这里插入图片描述
如果没有外部中断信号需要处理就执行下一个指令
在这里插入图片描述
知道有一天指令执行完之后,检查到有一个外部中断信号需要处理,那么接下来就需要操作系统介入来处理字符外部中断信号,因此用户程序需要暂停运行,由于需要暂停运行,所以要保护被暂停的用户进程的CPU环境。类似于玩游戏玩到一半,需要游戏进行存档,处理完别的事情再回来玩的时候再接着存档玩就行
在这里插入图片描述

小结

在这里插入图片描述

六、系统调用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
write()这个函数使用了系统调用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
左边是在Linux系统中int输入的数字对应的操作
在这里插入图片描述

小结

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸葛东_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值