最近在B站自学清华大学向勇、陈渝老师的《操作系统》慕课视频课程,收获不少。
按照课程的授课进度安排,总结摘抄了一些老师的PPT重点,一方便是加深记忆,一方面方便以后查阅。
1.1操作系统的启动
从用户角度看:操作系统是一个控制软件,功能有:
-管理应用程序
-为应用程序提供服务
-杀死应用程序
-资源管理
-管理外设/分配资源
(1)在操作系统下,进程代表着CPU, 文件代表着磁盘,地址空间代表着内存。
(2)操作系统的架构层次:位于硬件之上,应用软件层之下(为应用软件提供服务支持)。
(3)Linux,Windows界面属于外壳shell(与用户交互),而不属于内核kernel,但是kernel是课程的研究重点,位于shell之下。
(4)Kernel包括:
-CPU调度器
-物理内存管理
-虚拟内存管理
-文件系统管理
-中断处理和IO设备驱动 (底层硬件)
(5) OS Kernel的主要特征:
-并发(指一段时间内多个程序运行;而并行是指一个时间点上多个程序运行,要求多个CPU):计算机系统中同时存在多个运行的程序,需要OS管理和调度
-共享:“同时”访问 或 互斥共享
-虚拟:利用多道程序设计技术,让每一个用户都觉得有一个计算机专门为他服务
-异步:程序的执行不是一步到底的,而是走走停停,向前推进的速度不可预知
但只要运行环境相同,OS尽量要保证程序运行的结果也相同
1.2操作系统实例
①UNIX (BSD)
②LINUX
③Windows
1.3操作系统的历史
①早期计算机使用纸带传输程序和数据,操作系统只起到加载的作用。
②后来CPU等硬件快速发展,计算机速度得到提升,但是性能未得到充分利用。
③再后来内存越来越大,CPU能够同时执行多个程序。
④为了更好的利用计算机资源,和更好的同用户交互,出现了分时系统。
⑤网络的快速发展,出现了分布式的操作系统。
⑥出现了松、紧耦合系统。
1.4操作系统的结构
①简单的操作系统:MS-DOS 不分模块的单体内核 (内部通过函数调用访问,缺点,复杂,紧耦合,易受攻击)
②微内核,尽可能把内核功能移植到用户空间,缺点性能低。
③外核,内核分为一块,一块负责和硬件打交道,另一部分和应用打交道。
④虚拟机,VMs(虚拟机)->VMM(虚拟机监视器)->物理机硬件,多操作系统共享硬件资源。