什么是操作系统呢
- 站在用户的角度就是一个控制软件, 管理用户软件, 为应用程序提供服务,
- 对下, 就是管理资源, 管理外设, 分配资源
操作系统的层次结构
- 硬件之上
- 应用程序之下
Linux, Windows, Android的界面属于外壳shell, 而不是内核kernel
- 并发
- 共享
- 虚拟
- 异步
是怎样将OS加载到内存中的呢
OS是存放在DISK中的
通电之后, BIOS: 检查外设 加载Bootloader到内存中, 然后再将OS加载到内存中运行,OS来管理计算机硬件资源
要实现应用程序与硬件的交互, 需要什么呢
- 中断 来源于外设, 当外设变化时会引起中断,加载完后, 继续执行当前程序
- 异常 应用程序执行异常时引起的, OS会根据表作出一些操作 , 被动
- 系统调用 应用程序主动申请资源时, 引起的用户态到内核态的转化
用户态: 指当前不能访问一些特权指令
内核态: CPU可以执行访问任何指令
系统调用: 应用程序和内核 拥有各自的堆和栈
计算机的硬件结构
CPU 内存 IO设备 通过BUS交互
CPU: 运算器, 控制器, 寄存器. 缓存, 存储管理单元
逻辑地址与物理关系的映射
在程序执行之前, OS就会将逻辑地址和物理地址建立好映射关系, 放在CPU中MMV.
C —> 汇编语言 ——> 机器语言 (点O文件)这是也是逻辑地址 ---->加载到内存中执行.