1 基本概念
1.1 操作系统
定义:从计算机加电运行后一直在内存运行的程序,又称 “内核”。
1.2 进程
指进行中的程序,既进程=程序+执行。
1.3 线程
线程是进程的一个实体,是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
1.4 内核态和用户态
内核态:拥有计算机中所有的软硬件资源;
用户态:其访问资源的数量和权限均受到限制。
2 操作系统服务
2.1 UI
UI 分为 CLI 和 GUI。
2.2 程序执行
从磁盘中取出程序到内存中,CPU 从内存中取指执行,程序退出执行,资源回收。
2.3 IO 操作
I/O 被封装在内核中,不会让应用程序直接操作设备,并对 I/O 操作进行一定的抽象。
2.4 文件系统
文件命名,文件读写,目录遍历。
2.5 通信模块
多任务是现代操作系统的基本属性;任务间通信协同是必要的基本支持。
2.6 错误处理机制
硬件错误,软件错误。
2.7 保证内核高效、稳定、安全运转的服务
资源分配,日志记录,访问控制。
3 系统调用
操作系统向用户态环境提供内核服务的最原始接口,若进程在用户态想要申请操作系统服务,必须通过系统调用达到目的。
系统调用的两个要点:模式切换,参数传递。
3.1 操作系统结构
单内核:所有操作系统功能模块均在内核态工作,没有清晰的系统模块划分,缺少应用程序与操作系统内核的隔离保护;
微内核:仅将内存地址空间管理、线程调度、进程间通信纳入内核,而将文件系统等模块置入用户空间;
混合内核:单内核与微内核的混合结构。