操作系统之概述
应用程序开发和运行需要系统程序做底层支撑,系统程序有:
- 实用工具
- 库程序
- 操作系统
除了应用程序开发和运行的支持,OS还提供哪些功能呢?
- IO访问(驱动程序)
- 文件访问控制
- 程序开发
- 内存管理
- 进程管理
- 系统访问控制
- 错误处理
- 监控记账
历史
- 串行处理
- 批处理(监控程序常驻内存,作业控制语言JCL):内存保护,定时器,特权指令,中断
- 多道批处理
- 分时系统:时间片(适应实时用户交互)
如果没有操作系统
- 与设备交互的同步问题
- 同时访问一个资源时
- 内存保护问题
- 死锁问题
操作系统的虚存机制
- 进程拆分为很多固定大小的块,称为页
- 进程通过虚地址访问,虚地址包括页号和偏移地址
- 虚地址和实地址之间的映射由操作系统的分页系统提供
关于接口
- ABI:从动态进程角度看机器(虚地址空间、寄存器、机器指令、IO调用)
- API:从静态程序角度看机器(操作系统功能实现、库函数功能实现)
- ISA:从操作系统角度看机器(计算机资源)
虚拟机
- 进程虚拟机:为进程提供ABI
- 系统虚拟机:为操作系统提供ISA
Linux内核组件
- 信号:内核通过信号通知进程
- 系统调用:进程通过系统调用接口调用内核模块
- 进程调度器
- 虚拟内存:面向进程
- 物理内存:面向虚拟内存
- 文件系统
- 网络协议
- 陷阱和错误
- 驱动:块设备驱动、网络设备驱动、字符设备驱动(外存以外的IO设备)
- 中断:面向驱动
一些概念
- 环境子系统
- 对称多处理SMP
- 线程池机制GCD
- 对象句柄:系统服务的调用指针,不命名则供进程自己使用,命名则可以给与之交互的进程使用

浙公网安备 33010602011771号