本次笔记内容: 1.1 课程概述 1.2 什么是操作系统 1.3 为什么学习操作系统
资源站点: Bilibili 【清华大学】操作系统 陈渝 全113讲 av33394011 教师信息: 陈渝 清华大学
本课程学习什么?
基本概念及原理操作系统介绍中断及系统调用内存管理进程及线程调度同步文件系统I/O 子系统在uCore操作系统上做实验:github.com/chyyuu/ucore_os_lab
操作系统实验:
实验0:准备实验1:系统启动及中断实验2:物理内存管理实验3:虚拟内存管理实验4:内核线程管理实验5:用户进程管理实验6:CPU调度实验7:同步与互斥实验8:文件系统用户角度: 操作性是一个 控制软件:
管理应用程序;为应用程序提供服务;杀死应用程序对内角度: 操作系统用于资源管理:
管理外设、分配资源操作系统是硬件之上、应用程序之下的层次结构。 操作系统位于应用软件之下,为应用软件提供服务支撑。
Linux、Windows、Android界面属于外壳(Shell),而不是内核(Kernel)。 Kernel是我们研究的重点。
Shell可以理解为操作系统对外的接口,比如Windows的GUI,也有命令行类型的Shell。
硬件资源三大块:CPU、内存、磁盘。
CPU: CPU调度、进程线程 内存: 物理内存管理、虚拟内存管理(在有限物理内存之上为应用提供内存) 文件系统: disk过于底层,不方便上层应用。 中断处理与设备驱动: 驱动实现操作系统。
1.并发
并发:在一段时间内多个程序运行;并行:在一个时间点上共同运行(因此只有一个CPU无法完成并行) 2.共享 是“同时”访问还是互斥共享,根据情况而定。3.虚拟 利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务。
4.异步
程序执行不是一贯到底,而是走走停停,向前推进速度不可预知;但只要运行环境相同,OS需要保证程序运行的结果也相同。操作系统是一门综合课程,包含:
程序设计语言数据结构算法计算机体系结构操作系统还在不停地发展、在工控等各种领域 有强烈的需求。
USENIX、CCF(国内)等组织在开展操作系统的研究。
如何关注操作系统的研究:顶级会议:SOSP、USENIX 操作系统很大:Windows XP有4500多万行; 操作系统是并发的,很有挑战性; 操作系统要能够应对非法操作、硬件故障; 操作系统必须是可靠高效的。
操作系统在发展,比如I/O已经不需要操作系统管理,而是交给硬件进行。
操作系统需要权衡:
空间与时间性能和可预测性公平和性能硬件方面,操作系统需要:
良好的硬件管理合理的资源分配比如:磁盘速度与CPU、内存差很多,操作系统需要协调处理