第4讲操作系统设计与启动操作系统设计方法操作系统的启动4操作系统的结构操作系统的结构操作系统的设计方法操作系统的设计方法单体结构模块化结构可扩展内核结构层次结构应用软件其他系统软件操作系统其他功能操作系统内核单体结构单体结构模块化结构模块化结构应用软件其他系统软件操作系统其他功能操作系统内核5可扩展内核结构可扩展内核结构内核操作系统应用软件其他系统软件操作系统其他功能内核核心功能基础核心层次结构层次结构操作系统应用软件其他系统软件操作系统其他功能内核什么是内核
•OS内核也称OS核心,是构成OS的最为基本的部分,其作用是为多道程序设计提供支持,或者说为进程的并发执行建造必需的环境
•从虚拟机的角度看,内核相当于对硬件裸机的第一次扩充,它将一个实的处理机改造为多个虚的处理机
•内核运行频率高,实现应当是高效的
哪些功能放到内核呢
•中断处理:OS是中断驱动的,即中断是进程之间切换的必要条件,因而中断处理程序应当属于内核•原语管理:进程执行原语操作可能导致自身进入等待状态,也可能导致其他进程被唤醒
因而同步原语应当负责完成进程由运行状态到等待状态之间的转换以及由等待状态到就绪状态之间的转换
•短程调度(低级调度或进程调度):中断处理结束后如果需要切换运行进程,内核将转到低级调度程序
它负责保存下降进程的现场,选择上升进程,并恢复上升进程的现场
实例实例操作系统的结构操作系统的结构UNIXUNIX操作系统的结构操作系统的结构UNIX核心层处理机管理存储管理设备管理文件系统UNIX实用层实用程序——编辑程序、调试程序、系统状态监控、文件管理等的实用程序软件工具——源代码控制程序SCCS、文档准备程序包等8LinuxLinux系统的核心结构系统的核心结构系统调用界面程序库进程通信进程调度存储管理文件子系统高速缓冲字符设备块设备设备驱动程序用户程序硬件控制硬件用户级核心级