操作系统:内存分层体系

什么是操作系统

  • 用户角度,操作系统是一个控制软件
  • 管理应用程序(为应用程序提供服务、杀死应用程序)
  • 资源管理(管理外设、分配资源)

站在计算机内部,操作系统把CPU、磁盘、内存这三部分物理资源抽象成进程、文件、地址空间,来给我们的应用程序使用。

操作系统层次结构:硬件之上,应用程序之下。

Kernel (操作系统内部组件),包括:

  • CPU调度器
  • 物理内存管理
  • 虚拟内存管理
  • 文件系统管理
  • 中断处理与设备驱动

OS kernel的特征:

  • 并发 :计算机系统中同时存在多个运行的程序
  • 共享:”同时”访问、互斥共享
  • 虚拟:利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务
  • 异步:程序的执行不是一贯道底,而是走走停停,向前推进的速度不可预知。但只要运行环境相同,OS需要保证程序运行的结果也要相同。

计算机体系结构以及内存分层体系

计算机基本硬件结构:
这里写图片描述
CPU:完成对整个程序(软件)执行的控制。
内存:放置程序的代码和处理的数据。
I/O设备:硬盘、键盘、鼠标

内存的层次结构:
这里写图片描述

磁盘 (虚拟内存)、主存、缓存(CPU上的)

什么叫“内存的层次结构”?意思就是CPU要访问的指令或者数据在什么地方。
CPU可以访问的内存包括2大类:寄存器、cache(L1缓存、L2缓存)。都是位于芯片内部的,操作系统对它们无法直接管理的,它们速度很快,容量很小。

“主存”也就是我们的物理内存,放置我们的程序代码。一掉电数据就没有了。
硬盘:保持永久性数据。

操作系统要完成的4个目标

操作系统具体要完成的工作:

  • 抽象(逻辑地址空间)
  • 保护(独立地址空间)
  • 共享(访问相同内存)
  • 虚拟化(更多地址空间)

抽象:应用程序在运行的时候由操作系统有效管理,使得程序不必考虑太多底层的细节,不必考虑物理内存在什么地方,外设在什么地方。只需要访问一个连续的地址空间,我们把这个地址空间称之为逻辑地址空间。
保护:因为在我们的内存中可以运行多个不同的应用程序,我们需要保护多个进程之间的地址空间是需要隔离的。
共享:保障进程之间安全有效可靠的数据传递。
虚拟化:当内存有运行了很多应用程序之后,会出现内存不够的情况,如何让正在运行的程序获得它所需要的内存空间呢?把最需要放到内存的数据放到内存中,暂时不需要访问的数据可以放到硬盘上。

展开阅读全文

没有更多推荐了,返回首页