操作系统笔记一

概述

cpu的管理:cpu的调度,及进程线程相关

内存:物理内存管理,虚拟内存管理

disk:磁盘块作为底层,不方便用户存取数据,需抽象出文件系统管理

OS Kernel特征:
并发,一段时间运行多个程序(并行是一个时间点运行多个程序,需多核cpu),
共享,表面多个程序可以访问一个资源,实际一个时间点只有一个程序可以访问,互斥共享
虚拟,cpu虚拟化成进程,内存虚拟化成地址空间,磁盘虚拟化成文件,使每个程序感觉在独自拥有一个计算机
异步,程序走走停停,执行不是一贯到底,但只要运行前环境相同,os保证运行结果相同

启动,中断,异常和系统调用

OS存放在DISK,由bios检测各种外设,加载相应软件
系统调用:应用程序向操作系统发出服务请求,主动操作接口,调用请求。处理时间同步或异步
异常:应用程序意想不到的行为,非法指令或其他坏的处理状态(如内存出错)。操作系统应对意外事件的一种机制的支持。处理时间同步
中断:来自不同硬件设备的计时器和网络的中断。处理时间异步
同步:等到回应才继续下一步。异步:直接下一步,不用等待回应

响应:中断,持续,对用户应用程序透明,用户感知不到。异常,杀死或重新执行意想不到的应用程序指令。系统调用,等待和持续

中断:硬件设置一个中断标记,cpu根据标记确定中断的原因,将中断号发给操作系统。OS根据中断号找到对应的处理。软件保存被打断的执行现场,根据中断号查到对应处理的地址,跳过去执行。处理完后清除中断标记,恢复保存的处理状态
异常:触发异常事件时,有一个异常编号,保存现场,根据编号做相应处理,杀死异常程序,或修复异常原因重新执行异常指令。恢复现场
系统调用:用户通过库来访问系统调用的接口,访问接口后,会触发从用户态到内核态的转换(用户态指用户程序在执行程序过程中,cpu处于特权级别低的状态,不能直接访问某些特殊的机器指令和访问io指令。内核态是OS运行过程中cpu处于的状态,可以执行任何一条指令),使控制权从用户程序交到OS。应用程序发出函数调用时,是在一个栈空间完成。系统调用过程中,用户程序和OS拥有各自的堆栈,切换到内核执行时,要切换特权级的转换和堆栈。切换过程会有一定开销代缴,回报是更安全可靠

体系结构及内存分层体系

在这里插入图片描述
cpu完成对程序执行的控制
内存存放程序的代码和数据
外设配合程序发挥作用
在这里插入图片描述
寄存器和cache(现在已有L3)换成都位于cpu芯片内部,OS无法直接管理,速度很快,容量很小
主存(物理内存)放置OS本身及要运行的代码,容量大,速度慢些
在这里插入图片描述
OS管理内存的4个目标,抽象:不用考虑物理内存的位置,外设的位置,只要考虑逻辑地址。保护:多个程序的地址空间相互隔离。共享:进程间数据传递。虚拟化:把最需要的数据放在内存,暂时不需要的放在DISK

地址空间/地址生成

物理地址空间:硬件直接对应的,如内存条/DISK代表的存储空间。有硬件完成管理与控制。起始地址0,直到MAXsys
逻辑地址空间:运行的程序所看到的地址空间,一维的线性地址空间。起始地址0,知道MAXproj

c程序里函数的位置,变量的名字就是一种地址

编译器会把基于符号的地址空间变成逻辑地址空间,OS完成逻辑地址到物理地址的映射

OS建立和维护表,通过一个起始地址和长度确定程序可以访问的有效地址空间

连续内存空间

外部碎片:在分配单元间的未使用内存
内部碎片:在分配单元中的未使用内存

OS需要把应用程序从DISK加载到内存中,需要给内存分配一块连续区域供程序运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值