扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。
10年积累的成都网站制作、成都网站设计、外贸营销网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有秀山土家族苗族免费网站建设让你可以放心的选择与我们合作。1.2 四大特征并发、共享、虚拟、异步。
1. 并发只在同时发生,微观上是交替发生。
2. 并发 是指同一时间间隔内发生,并行 是指同一时刻发生。
3. 单核cpu同一时刻只能执行一个程序,各程序只能并发执行。
多核cpu同一时刻可同时执行多个程序,多个程序可并行执行。
4. 并发与共享是两个最基本的特征,二者互为存在条件。
5. 共享 分为:互斥共享方式和同时共享方式:
互斥共享方式:在一段时间内只允许一个进程访问该资源。
同时共享方式:允许在一段时间内有多个进程同时访问。
6. 虚拟技术 分为:空分复用技术(如虚拟存储器技术)和时分复用技术(如虚拟处理器技术)
作为系统资源的管理者
提供功能:处理机管理、存储器管理、文件管理、设备管理
目标:安全、高效
向上层提供方便易用的服务
给 一般用户直接使用的接口:
图形接口:如 GUI
命令接口:联机命令接口、脱机命令接口(区别在于一行和一堆)
给 应用程序/编程人员 使用的接口:
程序接口(系统调用),即通过程序间接使用。
最接近硬件的软件
单道批处理与多道批处理的区别:
注:多道批处理的并行,对于单核cpu指的是I/O与CPU并行。
两种指令:特权指令 和 非特权指令
操作系统内核作为 “管理者”,有时会让CPU执行一些特权指令,这些指令只允许 “管理者” 来执行。
常见的特权指令:
① 开中断指令、关中断指令
② 写时钟指令(置时钟指令)
③ 写入/输出指令(I/O指令)
④ 写 PSW 寄存器指令(访问程序状态指令)
⑤ 内存清零指令
两种处理器状态:内核态 和 用户态
处于内核态时,说明正在运行的是内核程序,即可执行特权指令,又可执行非特权指令。
处于用户态时,说明正在运行的是应用程序,只能执行非特权指令。
其中,内核态又称目态,内核态又称管态。
内核态→用户态:一条修改 PSW 的特权指令。
用户态→内核态:由中断引起,硬件自动完成。触发中断信号意味着 OS 将强行夺回CPU的使用权。
如:① 请求系统内核服务,CPU在用户态下执行陷入指令,引发中断,意味着应用程序主动将 CPU 控制权还给操作系统。
② 试图在用户态下执行特权指令,引发 OS 变成内核态,夺回 CPU 使用权等
注:陷入指令 = 访管指令 = trap指令
两种程序:内核程序 和 应用程序
三者关系:操作系统的内核程序,即可运行特权指令,又可运行非特权指令,程序运行在核心态。普通应用程序只能运行非特权指令,运行在用户态。
注:中断处理程序一定是内核程序,其运行在内核态。
中断是让操作系统夺回CPU使用权的唯一途径。
中断的分类:
注:故障(Fault)和自陷(Trap)统称为 软件中断,终止(Abort)是 硬件中断。
中断机制的基本实现原理:
1. 检查中断信号:
内中断:CPU在执行指令时,会检查是否有异常发生。
外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需处理。
2. 找到相应的中断处理程序:
硬件向量法(中断向量法)、软件查询法
中断处理时保存的数据:
1. 硬件负责:PC、PSW
2. OS负责:其他有 “必要” 保存的数据(如:通用寄存器)、中断屏蔽字
若此类寄存器在中断处理中不使用,则不用保存。
中断处理完整流程:
① 当 CPU 检测到中断信号后,由硬件自动保存被中断程序的断点(即程序计数器 PC)。
② 硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址(各中断向量统一存放在中断向量表中,该表由操作系统初始化)。
③ 开始执行中断服务程序,保存 PSW、中断屏蔽字、各通用寄存器的值,并提供与中断信号对应的中断服务,中断服务程序属于操作系统的内核。
操作系统完成: 提供中断服务、初始化中断向量表、保存中断屏蔽字(来源:20年408第25题)
系统调用是操作系统给 编程人员/应用程序 使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。
系统调用与库函数的区别:
库函数有时会对系统调用进行封装,以隐藏系统调用的一些细节,如“创建一个新文件”的函数。但也存在不涉及系统调用的库函数,如“取绝对值”的函数。编程人员调用库函数,会使得编程更加方便。
涉及系统调用的功能:
应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
系统调用过程:
过程: 传递系统调用参数 → 执行陷入指令(用户态)→ 执行相应的内请求核程序处理系统调用(内核态)→ 返回应用程序
注意: ①陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态
②发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行
③陷入指令 = 访管指令 = trap指令
操作系统的内核
注:① 宏内核,又名:大内核、单内核
② 操作系统内核需要运行在内核态
③ 操作系统的非内核功能运行在用户态
操作系统内核功能
分层法是将操作系统分为若干层,最底层是硬件,最高层是用户接口,煤层智能调用紧邻它的低层的功能和服务(单向依赖)。
优点: ①便于调试和验证,自底向上逐层调试验证。
② 易扩充和易维护,各层之间调用接口清晰固定。
缺点: ① 仅可调用相邻低层,难以合理定义各层的边界。
②效率低,不可跨层调用,系统调用执行时间长。
模块化是将操作系统按功能划分为若干个具有一定独立性的模块,各模块之间相互协作。
内核 = 主模块 + 可加载内核模块
主模块:只负责核心功能,如:进程调度、内存管理等
可加载内核模块:可以动态加载新模块到内核而无需重新编译整个内核,如:设备驱动程序
优点: ① 模块间逻辑清晰易于维护,确定模块间接口后即可多模块同时开发。
②支持动态加载新的内核模块(如:安装设备驱动程序、安装新的文件系统模块到内核),增强OS适应性。
③任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高。
缺点: ① 模块间的接口定义未必合理、实用。
② 模块间相互依赖,更难调试和验证。
内核负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全。
优点: ①外核可直接给用户进程分配 “不虚拟、不抽象” 的硬件资源,使用户进程可以更灵活的使用硬件资源。
②减少了虚拟硬件资源的 “映射层”,提升效率。
缺点: ① 降低了系统的一致性。
② 使系统变得更加复杂。
引导流程:
① 激活的 CPU 读取 ROM 中的自举程序,开始执行 BIOS 程序中的指令,并开始进行硬件自检。
② 将磁盘的第一块,主引导记录 MBR 读入内存,执行磁盘引导程序,其会扫描分区表,得知活动分区位置。
③ 从活动分区(又称主分区,即安装了操作系统的分区 C盘)读入分区引导记录 PBR,执行其中的程序,负责找到 “启动管理器”。
④ 从根目录下找到完整的操作系统初始化程序(即 启动管理器)并执行,完成开机的一系列动作。
注:操作系统最终被加载到 RAM 中。
理解: 第一类操作系统直接运行在硬件之上,第二类操作系统类似在 win 系统下安装的 VMware 软件。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流