操作系统1

启动

操作系统放在了disk上,
BIOS:检索I/O,从特定地址执行,-》加载bootloder
CS段寄存器,
IP:指令寄存器
POSt(加电后):寻找显卡和执行BIOS
bootloder:把OS代码和数据从硬盘放到内存

操作系统与设备,程序交互

interface:系统调用,异常,中断。
系统调用:应用程序向操作系统发出请求,特殊的一条指令
异常:应用程序在执行中非法指令
中断:外设发出请求处理

应用程序为什么不能直接访问硬件呢?
OS可信任,提供安全的服务,而应用程序是不安全的
通过操作系统屏蔽底层的复杂性。

来源不同

中断:来源外设,键盘,鼠标,字符的事件,移动的事件
异常:应用程序不想主动产生的请求。去执行一些非法代码,恶意的程序想获取别的程序的地址
系统调用:应用程序主动请求莫方面的请求,打开文件,读写文件,打开网络包。

处理时间

中断:异步
异常:同步
系统调用:异步or 同步

响应状态:

中断:对应用程序透明,是操作系统的偷偷处理
异常:
系统调用:等待后持续运行

处理过程

分为硬件的处理过程和软件的处理过程
硬件:
中断异常由什么特定的去服务–中断号
对应的地址去处理对应的中断。
软件
即查中断表后去继续执行中断,将原处理时的执行现场环境保护起来
跳到中断具体情况去处理,处理完之后去继续执行原来的数据,清除中断标记。

异常:
异常编号:
保存现场,根据异常编号去进行异常处理。
1,杀死异常程序
2,重新执行异常执行,在之前将异常修补好(因为应用程序也不知道什么时候发生异常)

系统调用:
接口:

print() 触发系统调用write()

程序访问主要是高层次的API调用,java的API不是系统调用,而是虚拟机转换为win的API来系统调用

触发从 用户态 到 内核态 的转换 包括特权指令,控制权从应用程序到操作系统。堆栈也需要转换。

在执行中断。。。的开销

对应映射表,中断表,异常表,
操作系统有自己的堆栈,
操作系统不信任应用程序,对请求进行检查也需要开销

这些开销使操作系统安全可靠的执行。

内存管理(物理内存)

计算机体系结构,内存分层体系

硬件结构
CPU 内存 外设
内存(存储器)的层次结构:
主存(物理内存):断电后就没了
硬盘:永远保存。

进程间的交互:共享内存

方法

程序重定位
分段
分页
虚拟内存
按需分页虚拟内存

地址空间和地址怎么生成的

物理地址空间–硬件
逻辑地址空间–运行的程序看到的地址空间,最终会转换成物理地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值