一、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加载到内核中

软件能实现的功能,硬件也能实现

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐