操作系统 | 了解操作系统的基础知识
Posted chaochao️
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统 | 了解操作系统的基础知识相关的知识,希望对你有一定的参考价值。
创作不易,来了的客官点点关注,收藏,订阅一键三连❤😜
目录
思考:为什么应用程序不能直接访问外设,而要先访问操作系统?
操作系统基础知识
用户角度
操作系统:控制软件:管理应用程序,为应用程序提供服务,杀死应用程序。
资源分配角度
操作系统的实现了资源管理;管理外设、分配资源
操作系统架层次结构
硬件之上:
应用程序之下:为应用软件提供服务支撑
Linux、Windows、android的界面:属于外壳(shell),而不是内核(kernel);kernel是研究重点,在shell之下。
内部组件
Kernel包括
CPU调度器、物理内存管理、虚拟内存管理、文件系统管理、中断处理与设备驱动
OS Kernel的特征
OS Kernel的特征
并发(指一段时间内多个程序运行;而并行是指一个时间点上多个程序运行,要求多个CPU):计算机系统中同时存在多个运行的程序,需要OS管理和调度
共享:“同时”访问 或 互斥共享
虚拟:利用多道程序设计技术,让每一个用户都觉得有一个计算机专门为他服务
异步:程序的执行不是一步到底的,而是走走停停,向前推进的速度不可预知。但只要运行环境相同,OS要保证程序运行的结果也相同
操作系统的结构
(1)简单的操作系统:
MS-DOS 不分模块的单体内核 (内部通过函数调用访问,缺点:复杂,紧耦合,易受攻击)
(2)微内核
尽可能把内核功能移植到用户空间,缺点性能低。
(3)外核
内核分为一块,一块负责和硬件打交道,另一部分和应用打交道。
(4)虚拟机
VMs(虚拟机)->VMM(虚拟机监视器)->物理机硬件,多操作系统共享硬件资源。
顶级会议
SOSP、USENIX
学术界
ACM、IEEE、USENIX、CCF
意义
操作系统是系统安全的基础;
权衡:空间和时间;性能和可预测性;公平和性能。
操作系统的启动
CPU、I/O、内存
操作系统先存放在DISK(存放OS)、Bios(基本I/O处理系统)
Bootloader -->加载OS
POST(加电自检)-->寻找显卡和执行BIOS
系统调用、异常、中断
系统调用:来源于应用程序,应用程序主动向操作系统发出服务请求
异常:来源于不良的应用程序,非法指令或者其他的处理状态
中断:来源于外设,来自不同的硬件设备的计时器和网络的中断
中断的处理机制:
1.硬件:设置中断标记(CPU初始化)将内部、外部事件设置中断标记,中断事件的ID
2.软件:操作系统来保存当前处理状态,然后根据中断号中断读物程序处理,随后清楚标记,最后恢复之前保存的处理状态
异常的处理机制:
1.异常编号:保存现场,随后进行异常处理,杀死产生的一场程序,重新执行异常指令,最后恢复现场。
系统调用的处理机制:
1.-一条指令会触发一个系统调用。应用程序调用printf()时,会触发系统调用write()
2.专门的API-->系统调用端口。
系统调用:触发CPU从用户态到内核态的转换,切换程序和内核的堆栈,需要一定的开销
3.
三者的区别
1.源头不同
中断来源于外设(鼠标、键盘、网卡、声卡、显卡等);异常来源于应用程序意想不到的行为;系统调用来源于应用程序请求操作提供服务。
2.处理时间不同。
中断和异常为异步(异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位),系统调用为异步或者同步。
3.响应不同
中断是持续的,对用户应用程序是透明的;异步是杀死或者重新执行意想不到的程序指令;系统调用的响应是等待或者持续的。
跨越操作系统边界的开销
用户态:操作系统运行中,CPU处于的特权级别,不能直接执行特权指令
内核态:操作系统运行中,CPU处于的特权级别,可以执行任何一条指令
思考:为什么应用程序不能直接访问外设,而要先访问操作系统?
在计算机运行中,内核时被信任的第三方,只有内核可以执行特权指令,同时为了方便应用程序。
创作不易,客官点个赞,评论一下吧!超超和你一起加油❤😜
以上是关于操作系统 | 了解操作系统的基础知识的主要内容,如果未能解决你的问题,请参考以下文章