操作系统学习笔记(一)操作系统的基本知识介绍
作者:互联网
操作系统的概念
首先引入计算机系统的层次结构
此处操作系统的作用有
- 负责管理协调硬件、软件等计算机资源的工作
- 为上层的应用程序、用户提供简单易用的服务
- 操作系统是系统软件,而不是硬件
**操作系统的定义 **
操作系统(Operating System OS):
指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件的方便的接口和环境,它是计算机系统中的最近的系统软件
操作系统的功能和目标
1.作为系统资源的管理者
提供的功能以打开一个qq为例
1.首先找到qq所在路径 (逐层打开文件夹找到QQ这个程序的存放位置 ->文件管理)
2.双击打开qq(需要将该程序的相关数据放入内存 ->存储器管理)
3.qq程序正常运行(对应的进程被处理机CPU处理 ->处理器管理)
4.开始与朋友视频聊天 (设备管理)
2.作为用户和计算机硬件之间的接口
[processon 地址](Central Topic (processon.com))
3.作为最接近硬件的层次
需要提供的功能和目标:实现对硬件机器的拓展
没有任何软件支持的计算机称为裸机
在裸机上安装操作系统可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器
类比:
硬件:锤子 锯子 木头 钉子
操作系统 : 优秀的工匠
通过优秀的工匠,讲这些简单地原材料组织成房子和帆船,共普通用户直接使用
操作系统的发展与分类
发展图
为什么说多道批处理系统能使资源利用率大幅提升
系统资源并行工作
作业的概念
通常指用户在一次计算过程中或者一次事物处理过程中要求计算机所做的工作的集合,也就是把一次计算过程或者事务处理过程中,从输入开始到输入结束,用户要求计算机所做的全部工作称为作业。
单道批处理操作系统
内存中始终只保持一个作业
主要特征有
- 自动性
- 顺序性
- 单道性
多道批处理系统
在多道批处理中,用户所提交的作业先存放在外存并排成一个队列,该队列称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享处理机和系统中的各种资源,以达到提高资源利用率和系统吞吐量的目的。
好处:
- 提高处理机的利用率
- 提高内存和I/O设备利用率
- 增加系统吞吐量
特征:
- 多道性
- 无序性
- 调度性:作业从提交给系统开始直至完成需要经过两次调度 作业调度,进程调度
缺点:
- 平均周转时间长
- 无交互能力
分时系统
特征:
- 多路性
- 独立性
- 及时性
- 交互性
实时系统
特征:
- 多路性
- 独立性
- 及时性
- 交互性
- 可靠性
推动操作系统发展的基本动力
- 不断提高计算机资源利用率的需要
- 方便用户
- 器件的不断更新换代
- 计算机体系结构的不断发展
操作系统的运行机制和体系结构
什么是指令?
代码和指令的区别
C语言代码 ----> 机器语言指令 (一条高级语言的代码翻译过来可能对应多条指令)
指令 :CPU能够识别和执行的最基本命令
- 两种指令:
- 特权指令
- 非特权指令
- 两种状态
- 核心态
- 用户态
- 两种程度
- 内核程序 :系统的管理者,即可执行特权指令,也可以执行非特权指令,运行在核心态
- 应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态
操作系统的内核
内核是计算机上配置的底层软件,是操作系统最基本 最核心的部分
实现操作系统内核功能的那些程序就是内核程序
中断和异常
本质:
发生中断就意味着需要操作系统介入,开展管理工作
中断的概念和作用
- 当中断发生时,CPU立即进入核心态
- 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
- 对于不同的中断信号会进行不同的处理
- 有了中断才能实现多道程序并发执行
❓ 用户态核心态之间的切换是怎么实现的?
用户态->核心态 是通过中断实现的,而且中断是唯一途径
核心态->用户态 是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为用户态
中断的分类
外中断的处理过程
- 执行完每个指令之后,CPU都要检查当前是否有外部中断信号
- 如果测试到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态PSW 程序计数器PC 各种通用寄存器)
- 根据中断信号类型转入相应的中断处理程序
- 恢复原进程的CPU环境并退出中断,返回原进程继续往下执行
系统调用
❓操作系统为什么要提供“系统调用功能”?
应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源相关的操作(如存储分配 I/O操作 文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
系统调用分类
系统调用与库函数的区别
不涉及系统调用的库函数: 取绝对值 一些数学函数
设计系统调用的库函数: 创建文件的函数
系统调用的背后
传递系统调用参数 --> 执行陷入指令(用户态) --> 执行系统调用的相应服务程序(核心态)–>返回用户程序
注意:
- 陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,从而是CPU进入核心态
- 发出系统调用请求是在用户态,而对系统调用的相应操作是在核心态下进行
- 陷入指令是唯一一个只能在用户态执行,而不可在核心态执行的指令
学习资料: [王道操作系统视频](王道计算机考研 操作系统_哔哩哔哩_bilibili)
操作系统 第四版 刘振鹏 张明 王煜著
标签:调用,操作系统,中断,基本知识,系统,用户,笔记,指令 来源: https://blog.csdn.net/qq_51088445/article/details/122168620