2011年2月13日 10:50
利用一晚上和一早上的时间看了下OS并根据书的目录写一些总结(因为一些术语都在之前了解过所以在总体上看的时间比较快)
------------------------------------------华丽的分割线------------------------------------
OS是一组控制和管理计算机和软件资源、合理地对各类作业进行调度,以及方便用户使用的程序的集合。
(一)操作系统的目标和作用
1、操作系统的目标:
方便性(易学易用)
有效性(设备的有效利用、数据有序可节省存储空间、组织计算机的工作流程改善资源的利用率及提高系统的吞吐量)
可扩充性(层次化结构<I/O设备管理软件+文件管理软件+窗口软件>)
开放性(系统遵循世界标准规范,如计算机网络的发展,lan局域网的迅速的发展)
2、操作系统的作用(OS为计算机系统资源管理者<处理机管理、存储器管理、I/O设备管理、文件管理>,作为用户与计算机硬件系统之间的接口<命令方式、系统调用方式、图形、窗口方式>,用作扩充器<多层扩充机器或多层虚机器>)
3、推动操作系统发展的主要动力(不断提高计算机资源利用率、方便用户、器件不断更新换代<体现在几位机>、计算机体系结构的不断发展<单片机OS->-多处理器OS->网络OS>)
(二)操作系统的发展过程
1、无OS的计算机系统
人工操作方式
缺点:用户独占全机,cpu等待人工操作
脱机输入/输出(off-line I/O)方式
优点:减少了cpu的空闲时间,提高了I/O速度
2、单道批处理的系统(提高了系统资源的利用率和系统吞吐量)
特性:自动性,顺序性,单道性
3、多道批处理的系统
优点:提高了cpu的利用率,可提高内存和I/O设备利用率,增加系统的吞吐 量
特征:多道性(驻留多道程序并允许他梦并发执行)、无序性(完成作业的顺 序)、调度性(作业调度、按一定的进程调度算法进行进程调度)
优缺点:资源利用率提高、系统吞吐量大、平均周转时间『指作业进入系统开始到作业完成并推出系统为止所经历的时间』长<作业需要排队依次进行处理>、无交互能力<用户不能与自己的作业进行交互对修改和调试程序造成极不方便>
4、分时系统(指在一台主机上连接了多个带有显示器和键盘的终端,同时允许许多个 用户通过自己的终端,以交互方式使用计算机,共享主机中的资源)
发展出来的主要动力是用户的需求
具体表现为:
人----机交互
共享主机
便于用户上机
特征:
多路性(一台主机上同时联接多台联接终端)
独立性(每个用户独占一个终端并互不干扰)
及时性(用户的请求在和很短的时间内得到响应)
交互性(用户可通过终端与系统进行广泛的人机对话)
5、实时系统:指能及时或即时响应外部事件的请求,在规定的时间内完成对该事件的 处理,并控制所实时任务协调一致地运行。
特征:为分时系统加上可靠性并在及时性在时间上有大大
的提高
(三)操作系统的基本特性
1、并发
并发性(同一时间间隔发生)和并行性(同一时间发生)
进程:使多个程序能并行执行 一个进程运行时需要一定的资源 在系统中能独立运行并作为资源分配的基本单位
进程:分配资源的基本单位
线程:对立运行的基本单位(不拥有系统资源)
2、共享
互斥共享方式
同时访问方式
并发和共享是互为存在的条件
3、虚拟(其实现主要是通过分时使用的方法)
虚拟技术:虚拟机处理机
虚拟内存
虚拟外部设备
虚拟信号等
4、异步性(进程的异步性)异步运行 停停走走的方式 宏观和微观的角度
(四)操作系统的主要功能
1、处理机管理功能(创建和撤销进程线程,对诸进程线程的运行进行协调,实现进程线程的信息交换,按照一定的算法把处理机分配个进程线程)
(1)进程控制(创建进程、撤销一结束的进程以及控制进程在运行 过程中的状态转换。 现代OS中,进程控制应为一 个进程创建若干个线程的功能和撤销<终止>已完 成任务的线程功能)
(2)进程同步(为多个进程含线程的运行进行协调<1、进程互斥方 式即上锁W 2、进程同步方式即信号量机制>)
(3)进程通信(消息队列 实现在互相合作的进程之间的信息交换)
(4)调度(1、作业调度 <从后背队列中按一定的算法选择出若干 个作业,为它们分配其必需的资源首先是内存,在将它们 调入内存后便分别为她们建立进程使之成为可能获得处 理机的就绪进程,并按照一定的算法将它们插入就绪队 列> 2、进程调度<从进程的就绪队列中选出一新的进程, 把处理机分配给它们,并为它设置运行现场,使进程投 入执行。在多线程OS中通常是把线程作为独立运行和 分配处理机的基本单位,为此须把就绪线程排成一个队 列,每次调度时,是从就绪线程队列中选出一个线程, 把处理机分配给它>)
2、存储器管理功能
(1)内存分配
静态分配方式(每个作业的内存空间是在作业装入时确 定的,在装入后的整个运行期间不允许该 作业再申请新的内存空间,也不允许作业 在内存中的“移动”)
动态分配方式(作业所需的内存空间也是在作业装入时 确定的,但允许作业在运行的整个过程中 继续申请新的附加内存空间一适应程序 和数据的动态整涨,也允许作业在内存中 “移动”)
(2)内存保护(内存保护机制<两个界限寄存器存放上界和下界>, 越界的检查都由硬件实现,发生越界后与软件配合 来完成)
(3)地址映射(在多道程序环境下,每道程序不可能都从0地址开 始存入内存,这就使地址空间的逻辑地址和内存空 间的物理地址不一致。为使程序能正确运行,存储 器管理器必须提供地址映射功能以将地址空间中 的逻辑地址转换为内存空间与之对应的物理地址。 该功能应在硬件的支持下完成
<程序中的其 它地址都是相对起始地址来计算的,有这些地址所形成的地址范围为地址空间 其中的地址称为逻辑地址或相对地址,一系列单元所限定的地址范围为内存空间其地址称为物理地址>)
(4)内存扩充(逻辑上扩充内存、内存扩充机制<请求调入功能和 置换功能>)
3、设备管理功能
(1)缓冲管理(提高cpu的利用率进而提高系统的吞吐量<单位时间 内完成工作的总量>)
缓冲机制:
单缓冲机制
双缓冲机制
公用缓冲池机制
(2)设备分配(分配策略 数据结构<设备控制表 控制器控制表> 回收)
(3)设备处理(设备驱动程序处理过程:略)
4、文件管理功能
(1)文件存储空间的管理
统一管理
分配外存空间<提高文件系统的运行速度>
分配(离散分配方式)和回收
(2)目录管理
目录项--->目录文件
文件共享
目录查询<检索速度>
(3)文件的读/写管理和保护
5、用户接口
(1)命令接口
联机用户接口
脱机用户接口(为批处理作业用户提供)
(2)程序接口
(3)图形接口
(五)操作系统的结构设计
无结构->模块式结构->层次式结构->微内核OS结构
1、软件工程的基本概念
(1) 软件的含义
(2) 软件工程的含义
2、传统的OS结构
(1)无结构的操作系统
(2)模块化OS结构
(3)分层式OS结构
3、微内核OS结构
(1)客户/服务器模式
(2)面向对象的程序设计技术
(3)微内核技术