本博客为B站 陈渝老师课程总结。
B站地址:https://www.bilibili.com/video/av6538245?from=search&seid=436175425155932048
1.1课程目录
- 基本概念及原理
- 操作系统介绍
- 中断及系统调用
- 内存管理
- 进程及线程
- 调度
- 同步
- 文件系统
- I/O子系统
课程配套实验:课程项目https://github.com/chyyuu/os_course_info
1.2什么是操作系统
- 管理应用程序
- 应用程序提供服务
- 杀死应用程序
- 资源管理
- 管理外设/分配资源
Linux,window,android的界面属于外壳(Shell),而不是内核(kernel),kernel是我们的研究重点,在Shell之下。
1.kernel包括:
- CPU调度器
- 物理内存管理
- 虚拟内存管理
- 文件系统管理
- 中断处理与设备驱动
2.OS kernel的特征:
并发:计算机系统中同时存在多个运行的程序,需要OS管理和调度
共享:"同时"访问或互斥共享
虚拟:利用多道程序设计,让每一个用户都觉得有一个计算机专门为他服务
异步:程序的执行不是一步到底的,而是走走停停,向前推进的速度不可预知但只要运行环境相同,OS要保证程序运行的结果也相同
1.3为什么要学操作系统
因为重要!
结合了许多不同的课程
- 程序设计语言
- 数据结构
- 算法
- 计算机体系结构
- 操作系统概念和原理,源代码
- 技能
- 操作系统设计和实现