计算机结构基础
由于速度原因, CPU不直接与外设打交道, 而是通过内存进行交互.(CPU速度 >> 外设)
操作系统: 内核 (管理软硬件) + shell(给用户使用操作系统的方式)
操作系统封装了用户操作接口
- 相比于系统接口,使用更简单
- 跨平台性: 不同的操作系统,其系统调用接口是不同的, 但是用户操作接口是相同的, 如在windows或Linux下使用C语言库中打打印函数,都是使用printf
操作系统的目标
- 对硬件抽象
- 原因:操作系统是对软硬件资源管理的应用软件
- 抽象:内存管理, 进程管理, 文件管理, 驱动管理
- 软件:驱动程序(给软件提供访问硬件的软件)
- 硬件:磁盘(对应文件), 网卡等
- 隔离性
- 原因:同时运行的程序之间应该互不影响
- 如:进程, 虚拟内存
- 共享性
- 原因:能够分享资源
- 如:进程间的通信, 信号,套接字
- 访问控制
- 原因:部分资源不想分享, 安全性的考虑
- 如:权限, 用户态和内核态
- 高性能
- 原因:操作系统要为用户提供一个良好(高效,稳定,安全)的运行环境
- 如多线程, 多路复用, 缓冲区, 写时拷贝