wordpress网站都有哪些,设计专业招聘信息,wordpress导入微信,安阳seo公司2024.06.11:操作系统的运行环境学习笔记 第3节 操作系统的运行环境 3.1 操作系统引导3.2 操作系统内核3.2.1 内核资源管理3.2.2 内核基本功能 3.3 CPU的双重工作模式3.3.1 CPU处于用户态#xff08;目态#xff09;3.3.2 CPU处于内核态#xff08;管态#xff09; 3.4 特权… 2024.06.11:操作系统的运行环境学习笔记 第3节 操作系统的运行环境 3.1 操作系统引导3.2 操作系统内核3.2.1 内核资源管理3.2.2 内核基本功能 3.3 CPU的双重工作模式3.3.1 CPU处于用户态目态3.3.2 CPU处于内核态管态 3.4 特权指令非特权指令3.4.1 非特权指令3.4.2 特权指令 3.5 系统调用3.5.1 用户态到内核态3.5.2 内核态到用户态3.5.3 系统调用的过程CPU变态的过程 3.6 中断和异常的处理现代OS是由中断驱动的3.6.1 异常处理过程3.6.2 中断处理过程 3.1 操作系统引导
从开机到操作系统加载到主存中过程是怎么样的
电脑主板
计算机启动时首先进行电源自我检查确保所有的硬件设备都正常并且准备就绪 准备就绪后计算机就会从主板的ROM区去激活一个BIOS程序这个程序会负责初始化硬件进一步进行硬件自检 大家做题的时候题目问你主存是由什么样的存储器组成的见招拆招看情况 RAM 大部分RAMROM题干把存放BIOS这个程序的这个ROM去给它并到主存里面了 硬件自检没有问题之后这个BIOS就会从硬盘也就是磁盘它的主引导记录MBR中去读取引导程序
BIOS程序读取硬盘0号扇区的主引导记录MBRMBR包括磁盘引导程序和分区表信息
磁盘会被分成好几个区分区表信息就是用来记录这个区的我们的电脑里面系统分区最常见的这个C盘C盘里面不仅有我们下载的这些数据更多的是一些系统的文件这个东西我们会把它叫做系统分区 假设我们要去启动windows的话我们会根据MBR里面的磁盘引导程序去读取系统盘的第一个扇区0号扇区也就是分区表里面告诉我们windows所在的这个系统分区它的盘是C盘。我们就会根据这个起始地址找到C盘然后通过MBR里面的磁盘引导程序去启动这个盘的第一个扇区。这个盘的第一个扇区又叫做分区引导记录PBR它里面会存储windows这个操作系统它的引导程序这个引导程序会帮助你找到操作系统的内核从而你就可以把内核调到内存了 我们最终的结果就是将一个操作系统它的内核部分调入到了主存中并且让它常驻主存。这样就可以让以后的用户直接使用这样的操作系统。注意操作系统并不是一整个全部调入到了内存引导的过程中我们只是把内核部分调入到了内存。这个过程中也请大家去注意区别MBR和PBRMBR是磁盘的0号扇区也就是第一个扇区里面的内容它叫做主引导记录它里面有磁盘引导程序和分区表信息。根据分区表你可以找到一个系统分区这个系统分区里面的第一个扇区就是0号扇区它会存放分区引导记录这个里面存放的是这个操作系统的引导程序其实也就是几段代码把它调入到主存里面它就会告诉你这个内核它的位置在哪里 3.2 操作系统内核
定义操作系统中与硬件紧密相关的模块负责管理系统的各种资源 注意只有内核从引导开始就一直在内存的某一个空间常驻这个空间我们把它叫做内核空间而主存的其他部分我们把它叫做用户空间
3.2.1 内核资源管理
进程管理、存储器管理、设备管理都是由操作系统的内核代码去执行的
进程管理确保操作系统可以高效、公平、安全地同时运行多个应用程序存储器管理确保有效、安全地分配管理计算机系统中的内存资源设备管理确保所有外围设备和硬件都能有效且安全地与计算机系统交互
3.2.2 内核基本功能
原语在单个步骤中完成操作系统的基本构件原语处于操作系统最底层运行时不可以被打断原语运行时长较短调用频繁中断处理系统调用、键盘命令输入、进程调度、设备驱动等很多重要的活动都依赖于中断 操作系统是靠中断去驱动的。每一次去处理中断的时候呢都是由操作系统的内核先对中断进行一个有限处理然后转入相关的进程这些进程会完成后续的一个处理工作 时钟管理操作系统用来处理和控制时间和时间相关函数的机制 3.3 CPU的双重工作模式
在引导操作系统的时候这个内核部分会被加载到内存的内核空间然后常驻到操作系统内核。内核空间以外的这些内存空间就是用户空间。
在访问用户空间和访问内核空间的时候CPU其实是处于两种不同的工作模式的那么由谁来代表当前的工作模式呢计组里面学过CPU内部有这样的一个寄存器PSW状态字寄存器它里面会有一个模式位这个模式位会用来记录当前CPU的工作模式是怎么样的 3.3.1 CPU处于用户态目态
CPU在用户态可以访问内存的用户空间 3.3.2 CPU处于内核态管态
CPU只有在内核态可以访问内存的内核空间内核空间其实放的就是操作系统的内核 3.4 特权指令非特权指令
3.4.1 非特权指令 此时应用程序里的所有指令都是非特权指令非特权指令不能直接访问系统硬件和软件非特权指令对内存的访问也只限于用户空间
所有应用程序里面的所有指令它都是非特权指令 3.4.2 特权指令 如果应用程序中出现特权指令则硬件不会执行该指令而是发出错误信号操作系统捕捉到信号后会停止该进程的运行并转入错误处理程序
特权指令是在CPU内核态下才可以运行的一种指令它对内存的访问是不受限制的 3.5 系统调用
系统调用system call形如一组打包号的库函数这些函数的功能需要由操作系统内核来实现系统调用提供了用户程序和操作系统内核之间的接口。应用程序通过系统调用来获得操作系统的服务。
3.5.1 用户态到内核态
用户程序发起系统调用发生中断必须陷入内核态由OS内核处理中断发生异常必须陷入内核态由OS内核处理中断用户程序试图执行特权指令 3.5.2 内核态到用户态
设置程序状态字寄存器PSW中的CPU模式位将其置为1 3.5.3 系统调用的过程CPU变态的过程 3.6 中断和异常的处理现代OS是由中断驱动的 3.6.1 异常处理过程
异常触发
当程序执行中发生异常CPU会自动检测并触发异常
保存上下文
与中断处理相似CPU会保存当前的执行状态包括程序计数器和寄存器值
执行异常处理程序
CPU查找异常向量表根据异常类型跳转到相应异常处理程序处理
处理结果
根据异常的性质处理程序可能会修正错误并允许程序继续执行或终止程序返回错误信息
恢复或终止
如果异常可恢复CPU将恢复之前的程序状态并继续执行若不可恢复终止程序并进行错误处理 3.6.2 中断处理过程
触发中断
中断指由外部设备键盘、鼠标等发起通常是设备完成任务或需要注意时触发
中断信号接收
CPU会在当前执行的指令完成后检测中断暂停当前进程的执行
保存上下文
CPU会保存当前任务的状态包括程序计数器和其他寄存器值现场信息以便中断处理完成后能恢复运行
执行中断服务程序
CPU根据中断向量表找到相应中断处理程序并执行
恢复上下文并返回
中断服务程序完成后CPU恢复之前保存的程序状态继续执行被中断的程序