现代计算机(2)
2017-06-24 本文已影响2人
汤尧
操作系统的对几种资源的分工管理
磁盘管理
化整为零,化零为整。
磁盘中分为文件夹(目录),文件分配表FAT,以及磁盘簇块。
文件夹负责记录文件的初始路径,文件分配表FAT负责记录文件的下一步储存路径,磁盘簇块负责存储数据。
磁盘的四个主要区域:
- 保留扇区
- 文件分配表区域
- 根目录区域
- 数据区域
我们说管理内存,那么内存为什么需要管理呢?
- 一个房间(可能有很多存储单元)是不用管理的,但数千万个房间呢?
- 当房间多的时候,如何使其利用效率提高呢?
那么内存管理管什么?
- 内存空间管理
- 内存空间分配
- 内存外存信息的自动交换
- 内存空间回收
CPU管理管什么?
- 内存中待执行程序段落的地址松控制器的PC(程序计数器)
- 内存中的多个程序,执行哪一个程序
- 程序执行,切换中的状态/环境保护问题
操作系统的合作与协同管理
几个需要被区分的概念
程序(文件):存储在磁盘上的程序文件
进程:装入内存中的程序
任务:大粒度的工作,一个应用程序的完整的执行。一个任务由多个进程来完成。
作业:小粒度的工作,不同的作业由不同的进程来完成。
操作系统的进程:为使应用程序顺利执行而做的辅助性管理性工作的进程。操作系统的进程也存储在内存中,也需要调度CPU去执行,CPU在操作系统进程和多个应用程序进程之间来回切换。
应用程序的进程:应用程序本身的进程。
协同完成应用程序执行这一任务的逻辑步骤是怎样的?
- 进程相关的准备工作
- 为进程分配相关的内存空间
- 将程序由外存装载到内存中
- 让CPU执行已经准备就绪的进程
这样现代计算机的思想可以理解了:
- 资源组合利用体系化:由外存和内存构成一个存储体系,这个存储体系由操作系统统一管理,不需要用户来干预。
- 管理分工合作协同化、外存程序内存进程化:操作系统独立管理CPU,独立管理内存,独立管理磁盘,然后合作协同完成外存中的程序装载到内存然后被CPU执行的任务。
- 硬件功能不足软件化,当硬件功能不足的时候,我们可以用操作系统进一步支持它,扩展它。
现代计算机的演进
操作系统如何高效地利用资源
- 分时:一台主机一个CPU执行多个程序(来自于多个用户的多个终端)。操作系统管理着一时间轮盘,按照时间轮盘的时间分区,轮流让CPU执行若干个程序。由于时间分区足够小,所以每个作业的用户都认为自己独占着CPU。
- 并行:一台主机多个CPU执行一个程序。操作系统讲一个作业分解成若干个可并行执行的小作业,有不同的CPU予以执行。其中一个CPU负责作业的拆分与合并工作,如CPU1,如此多CPU并行完成一个作业。
- 分布:网络中多台主机多个CPU执行一个任务一个作业被一台机器的操作系统拆分成若干个可分布与并行执行的小作业,通过局域网络或互联网传送到不同的机器,有不同机器的操作系统控制其CPU予以执行。如此网络上,多台计算机可并行完成一个作业。
云和SaaS是什么?
云操作系统:跨物理机管理。
虚拟机OS将虚拟机上的进程分配到物理机OS执行。
不同性能的虚拟机可以分配不同数目的CPU,内存容量,外存容量,网络带宽。
SAAS(Software As A Service)
将软件放在云端,让用户通过互联网使用,开发者通过互联网为千家万户进行结算,并且可以进行服务的预定、监控和结算。