第二章 认识计算机系统(下)
什么是操作系统
什么是操作系统
- 操作系统:有效地管理计算机系统中的资源,合理地管理计算机系统的工作流程,方便用户使用的程序的集合。
- 资源
- 软件资源
- 硬件资源
- 操作系统五大任务
- 文件管理
- 处理器管理
- 内存管理
- 设备管理
- 作业管理
Linux内核模块
- 进程调度
- 内存管理
- 虚拟文件系统VFS
- 网络接口
- 进程间通信
操作系统管理硬件
- 防止硬件被失控的应用程序滥用
- 向应用程序提供简单一致的机制来控制复杂而又通常大相径庭的低级硬件设备。
操作系统三个基本抽象
ㅤ ㅤ操作系统通过三个基本抽象概念来实现这两个功能。(进程、虚拟存储器和文件)。
- 文件是对I/0设备的抽象表示,
- 虚拟存储器是对主存和磁盘I/0设备的抽象表示
- 进程则是对处理器、主存和I/O设备的抽象表示。
进程上下文切换
用户模式:用来运行用户所编写的程序代码
内核模式:用来运行操作系统本身的代码
ㅤ ㅤ一个程序想要访问硬件资源,就必须切换到内核模式运行,硬件的管理是由操作系统来完成的
ㅤ ㅤ进程是操作系统对正在运行的程序的一种抽象个系统可以运行多个进程,而每个进程好像在独占使用硬件。
进程虚地址空间
- 虚拟存储器为每个进程提供了一个大的、一致的、私有的地址空间
- 它将内存看成是存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在主存与磁盘中来回交换数据。
- 为每个进程提供一致的地址空间,简化了存储管理
- 保护每个进程的地址空间不被其他进程破坏。
每个进程都有4GB的地址空间 2^32
最底下的空间:保存的异常向量表,系统启动的时候,要对异常进行初始化;对于32位的机器,0-0x8048000
虚拟文件系统(VFS)
ㅤ ㅤ虚拟文件系统是内核实现的一种架构,为用户空间提供统一的文件操作接口,即文件系统调用。它在内核内部为不同的真实文件系统提供一致的抽象接口。
用户通过系统用与内核中的虚拟文件系统交互,进而操作实际的文件系统和设备。
- 文件是一系列的字节序列
- 它向应用程序提供了一个统一的视角,来看待系统中各式各样的I/0设备。