作者:枫的Lilyxj | 来源:互联网 | 2023-09-07 21:56
什么是操作系统用户角度,操作系统是一个控制软件管理应用程序(为应用程序提供服务、杀死应用程序)资源管理(管理外设、分配资源)站在计算机内部,操作系统把CPU、磁盘、
什么是操作系统
- 用户角度,操作系统是一个控制软件
- 管理应用程序(为应用程序提供服务、杀死应用程序)
- 资源管理(管理外设、分配资源)
站在计算机内部,操作系统把CPU、磁盘、内存这三部分物理资源抽象成进程、文件、地址空间,来给我们的应用程序使用。
操作系统层次结构:硬件之上,应用程序之下。
Kernel (操作系统内部组件),包括:
- CPU调度器
- 物理内存管理
- 虚拟内存管理
- 文件系统管理
- 中断处理与设备驱动
OS kernel的特征:
- 并发 :计算机系统中同时存在多个运行的程序
- 共享:”同时”访问、互斥共享
- 虚拟:利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务
- 异步:程序的执行不是一贯道底,而是走走停停,向前推进的速度不可预知。但只要运行环境相同,OS需要保证程序运行的结果也要相同。
计算机体系结构以及内存分层体系
计算机基本硬件结构:
CPU:完成对整个程序(软件)执行的控制。
内存:放置程序的代码和处理的数据。
I/O设备:硬盘、键盘、鼠标
内存的层次结构:
磁盘 (虚拟内存)、主存、缓存(CPU上的)
什么叫“内存的层次结构”?意思就是CPU要访问的指令或者数据在什么地方。
CPU可以访问的内存包括2大类:寄存器、cache(L1缓存、L2缓存)。都是位于芯片内部的,操作系统对它们无法直接管理的,它们速度很快,容量很小。
“主存”也就是我们的物理内存,放置我们的程序代码。一掉电数据就没有了。
硬盘:保持永久性数据。
操作系统要完成的4个目标
操作系统具体要完成的工作:
- 抽象(逻辑地址空间)
- 保护(独立地址空间)
- 共享(访问相同内存)
- 虚拟化(更多地址空间)
抽象:应用程序在运行的时候由操作系统有效管理,使得程序不必考虑太多底层的细节,不必考虑物理内存在什么地方,外设在什么地方。只需要访问一个连续的地址空间,我们把这个地址空间称之为逻辑地址空间。
保护:因为在我们的内存中可以运行多个不同的应用程序,我们需要保护多个进程之间的地址空间是需要隔离的。
共享:保障进程之间安全有效可靠的数据传递。
虚拟化:当内存有运行了很多应用程序之后,会出现内存不够的情况,如何让正在运行的程序获得它所需要的内存空间呢?把最需要放到内存的数据放到内存中,暂时不需要访问的数据可以放到硬盘上。