OS第一章随手记
一、WD
系统调用只能通过用户程序间接调用
单道批处理系统 + 引入多道程序设计技术 = 多道批处理系统:
1、资源利用率高:CPU和I/O设备可以并行工作,内存,磁盘等也在同时被不同的作业使用
ps:计算机每个地方都在工作
2、系统吞吐量大:CPU空闲时间少了,同样的时间可以完成更多的作业:单位时间内系统完成的作业数量
3、没有人机交互能力
多道程序设计技术::允许多个程序同时进入内存并在CPU中交替执行。当一个程序因为等待I/O操作(如读写硬盘、打印)而暂停时,CPU立刻转去执行另一个程序。这样就极大地减少了CPU的空闲时间,从而显著提高了单机的资源利用率和系统吞吐量。
脱机技术:
1、 脱机:输入输出脱离主机
2、在单批道联机批处理中,CPU要执行监督程序,来将纸袋/卡片的01信息送到磁盘上,再将磁盘的作业调入内存,最后将结果保存到外存上,再打印。而脱机批处理是卫星机负责输入输出
它将数据输送到磁盘,再将结果从磁盘中拿出来
3、主要用于解决慢速输入输出设备与高速CPU之间的速度不匹配问题(如使用SPOOLing假脱机技术)。
虚拟技术:用于把一个物理实体变为若干个逻辑上的对应物(如虚拟内存、虚拟处理器)。
交换技术(Swapping):是把暂时不能运行的进程从内存换到外存,把具备运行条件的进程换入内存,主要是为了解决内存不足的问题。
分时操作系统:
1、交互性:交互式系统
2、独立性:该系统用户可以彼此独立的使用
3、及时性 :用户请求能在短时间内得到响应
4、同时性:多个用户同时用
实时OS:
1、目的是要紧急处理一些进程
2、交互式系统
3、硬实时和软实时
4、接受到信号会及时处理,响应,并在严格时限内处理完
5、及时性,可靠性
现代操作系统都是多任务的
CPU利用率:使用CPU的时间/题目中的总时间
中断机制:从CPU检测到异常/中断事件,到调出相应的处理程序(中断响应)是硬件完成的:
1、保存断点和PSW,修改CPU的状态位
2、关中断:由硬件将中断允许位清零 (对中断允许位清零还可以通过执行指令sti / cli )
3、转向中断服务程序
只有一小部分功能是内核的:
1、保护中断现场:保存所有通用寄存器
2、执行中断处理程序
3、回复所有通用寄存器
4、sti 指令:开中断
5、iret指令:从中断返回,恢复断点,PSW ,CPU
系统调用是自陷的一种
系统调用的过程:
1、用户程序中提前有将系统调用号以及参数压入堆栈
2、执行陷入指令,中断响应
3、中断服务程序

访管中断/访管指令:陷入指令
系统调用/缺页异常..... 只能在内核态下执行事件,都有可能发生在用户态
子程序就是函数调用,内核态函数会有函数调用,应用态也会有。
断点:不是CPU手头上的事发生都是下一跳指令的地址,异常就是当前指令的地址
设置断点指令:就是程序调试的时候打一个断点,本质是一条指令
系统调用一定是应用程序做不到,找操作系统帮忙的事,不是什么内核做的事都是系统调用,它的前提是应用程序想去做,而因为权限做不到的事
分层OS:
1、层次划分困难
2、运行效率较低
模块化OS:
1、支持并行开发
2、很难满足对接口的实际需求
3、模块之间相互调用,相互依赖,任何一个模块出错,都会导致内核崩溃
宏内核:
1、单内核/大内核
2、在内核中的各个模块可以直接相互调用,减少了上下文切换和消息传递,性能好
3、把一堆主要功能集中在一起
微内核:
1、只把与硬件紧密相关的部分:中断,设备驱动,时钟管理,进程调度
2、基本资源管理机制:进程管理
3、客户与服务器间的通信支持(进程间通信)
4、把一小部分放到内核态,大部分按功能分到不同的服务器,均以用户态运行,
5、可靠,性能差
6、内核足够小,基于客户/服务模式,机制与策略分离,采用面向对象技术
7、移出内核的代码,被分成若干服务程序,它们执行相互独立,交互都借助内核进行通信,效率低下
操作系统自举程序:操作系统引导程序:BIOS
BIOS只能将MBR加载到内核中
软件能实现的功能,硬件也能实现
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)