操作系统 第一章 概述
1.1 操作系统的定义
用户角度:操作系统是一个控制软件
- 管理应用程序
- 为应用程序提供服务
- 杀死应用程序
- 管理资源
- 管理外设/分配资源
(1)在操作系统下,进程<->CPU,文件<->磁盘,地址空间<->内存
(2)操作系统的架构层次:硬件之上,应用软件之下(为应用软件提供服务支持)
(3)Linux,Windows界面属于外壳shell(与User交互),而不是内核kernel,而krnel是本课程研究的重点,在shell之下。
(4)Kernel包括:
CPU调度器
- 物理内存管理
- 虚拟内存管理
- 文件系统管理
- 中断处理和IO设备驱动(底层硬件)
(5)OS Kernel的特征:
并发(指一段时间内多个程序运行;而并行是指一个时间点上多个程序运行,要求多个CPU):计算机系统中同时存在多个运行的程序,需要OS管理和调度
共享:“同时”访问或互斥共享
虚拟:利用多道程序设计技术,让每一个用户都觉得有一个计算机专门为他服务
异步:程序的运行不是一步到底的,而是走走停停,向前推进的速度不可预知,但只要运行环境相同,OS要保证程序运行的结果也相同。
1.2 操作系统的结构
(1)简单的操作系统:
MS-DOS 不分模块的单体内核(内部通过函数调用访问,缺点:复杂、紧耦合、易受攻击)
(2)微内核
尽可能把内核功能移植到用户空间,缺点性能低
(3)外核,内核分为一块,一块负责和硬件打交道,另一部分和应用打交道
(4)虚拟机
VMs(虚拟机)-> VMM(虚拟机监视器)->物理机硬件,多操作系统共享硬件资源。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构