结合王道,天勤,和汤的操作系统学习总结------【操作系统概述论】

目录

  • 1.1操作系统的基本概念
    • 1.1.1什么是计算机操作系统
      • 汤:
      • 天勤
      • 王道
      • 补充:
        • **天勤** :从不同的观点分析操作系统:
        • **汤** :操作系统的目标和作用以及推动其发展的主要动力
    • 1.1.2操作系统的特征
      • 汤:基本特性
        • (1)并发
        • (2)共享
        • (3)虚拟
        • (4)异步:
      • 天勤
      • 王道
        • 并发(Concurrence)
        • 共享(Sharing)
        • 虚拟(Virtual)
        • 异步(Asynchronism)
  • 1.2操作系统的分类与发展
        • 未配置操作系统的计算机系统
        • 单道批处理系统
        • 多道批处理系统
        • 分时系统
        • 实时系统(real time system)
        • 微机操作系统
        • 嵌入式操作系统
        • 网络操作系统
        • 分布式操作系统
      • 天勤
      • 王道
        • 手工操作阶段(此阶段无操作系统)
        • 批处理阶段(操作系统开始出现)
        • 分时操作系统
        • 实时操作系统
        • 网络操作系统和分布式计算机系统
        • 个人计算机操作系统
  • 1.3操作系统的运行环境
        • 硬件支持
        • 操作系统内核
          • (1) 中断处理
          • (2)时钟管理
          • (3)原语操作
        • 处理机的双重工作模式
          • 用户态(user mode)
          • 内核态(kernel mode)
          • 特权指令
          • 非特权指令
        • 中断与异常
      • 天勤
      • 王道
        • 操作系统的运行机制
        • 中断和异常的概念
  • 1.4操作系统的体系结构
        • 简单结构
        • 模块化结构
        • 分层式结构
        • 微内核结构
        • 外核结构
      • 天勤
      • 王道

1.1操作系统的基本概念

1.1.1什么是计算机操作系统

汤:

操作系统(operating system OS):是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理硬件设备,提高他们的利用率和系统吞吐量,并为用户和应用程序提供一个简单的接口,以便于用户和应用程序使用硬件设备。

OS是一组能有效地组织和管理计算机硬件和软件资源,合理对各类作业进行调度以及方便用户使用的程序集合。

天勤

操作系统(operating system OS):是裸机上的第一层软件,是对硬件功能的首次扩充。引进操作系统的目的是:提供一个计算机用户于计算机硬件系统之间的接口,使计算机系统更易容易使用;有效地控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用;合理地组织计算机系统地工作流程,改善系统性能。

王道

操作系统(operating system OS):是指控制和管理整个计算机系统的软件与硬件资源,合理组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。

补充:

天勤 :从不同的观点分析操作系统:

(1)用户观点:根据用户所使用的计算机的不同而设计不同类型的操作系统。资源利用率,操互方式,稳定性,或者良好界面。

(2)系统观点(资源管理的观点):操作系统是计算机系统的资源管理程序。在计算机系统中有两类资源硬件资源和软件资源。按其作用又将它们分为4大类资源:处理器、存储器、外设和信息(程序和数据)。这四类资源构成了操作系统本身和用户作业赖以依赖的物质基础和工作环境。他们的使用方法和管理策略决定了整个操作系统的规模。类型。功能和实现。操作系统可被分为处理器管理、存储器管理、设备管理和信息管理(文件系统)。

(3)进程观点:操作系统的核心则是控制和协调进程的运行,解决进程之间的通信;它从系统各个部分以并发工作为出发点,考虑管理任务的分割和相互之间的关系,通过进程之间通信来解决共享资源时所带来的竞争问题。通常进程可以分为用户进程系统进程两大类

(4)虚拟机观点:也称为机器的扩充观点。操作系统为用户使用计算机提供了许多功能服务和良好的工作环境。用户不再使用硬件机器(裸机),而是通过操作系统来控制和使用计算机。计算机被扩充为功能更加强大、使用更加方便地虚拟计算机。

:操作系统的目标和作用以及推动其发展的主要动力

操作系统的目标:方便性、有效性、可扩充性、开放性。

操作系统的作用
<1>.OS作为用户与计算机硬件系统之间的接口。
<2>.OS作为计算机系统资源的管理者。
<3>.OS实现了对计算机资源的抽象。

发展的主要动力
<1>.不断提高计算机系统资源的利用率
<2>.方便用户。
<3>.器件的不断更新换代。
<4>.计算机体系结构不断发展。
<3>.不断提出新的应用需求。

1.1.2操作系统的特征

汤:基本特性

(1)并发

并行:是指两个或多个时间在同一时刻发生。

并发:两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发是指在一段时间内宏观上有多个程序在同时运行;在单机处理机系统中,每一刻仅能有一道程序执行,故在微观上这些程序只能分时交替进行。

引入进程:进程(process),是指在系统中能独立运行并作为资源分配对象的基本单位,它是由一组机器指令、数据和堆栈组成的,是一个能独立运行的活动实体。

(2)共享
OS环境中的资源共享(资源复用),是指系统中的资源可供内存中多个并发执行的进程共同使用。

互斥共享方式:系统中的某些资源,如打印机、磁带机等。虽然额可以提供给多个进程(线程)使用,但应规定在一段时间内只允许一个进程访问该资源。这种资源共享方式称为互斥共享,我们把这种在一段时间内只允许一个进程访问的资源,成为临界资源(或独占资源)。

同时共享方式:系统中还有一类资源,允许在一段时间内由多个进程“同时”对他们进行访问。这里说的“同时”,在单片机处理环境下是宏观意义上的;在微观上这些进程对该资源的访问是交替进行的。

并发和共享是多用户(多任务)OS的两个最基本的特征。他们互为对方存在的条件,即一方面,资源共享是以线程的并发执行为条件的,若系统不允许并发执行,也就不存在资源共享问题;另一方面,若系统不能对资源共享实施有效的管理,以协调好各进程对共享资源的访问,则必然会影响各进程间并发执行的速度,甚至会使他们根本无法并发执行。

(3)虚拟
 在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能,称为“虚拟”。

时分复用技术:
<1>虚拟处理机技术:利用多道程序设计技术,可将一台物理上处理机虚拟为多台逻辑上的处理机,然后可在每台逻辑处理机上运行一道程序。我们把用户所感觉到的处理机成为虚拟处理机。
<2>虚拟设备技术:利用时分复用技术,将一台物理上的I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备。这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为允许多个用户“同时”访问的共享设备,即其在宏观上能“同时”为多个用户服务。
**空分复用技术:**如果说多道程序技术(时分复用技术)是利用处理机的空闲时间在运行其他程序以提高处理机的利用率,那么空分复用技术就是利用处理器的空闲空间来存放其他程序以提高内存的利用率的。

(4)异步:

进程是以人们不可预知的速度向前推进的,此即进程的异步性(asynchronism)

天勤

<1>并发性:并发性和并行性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生

<2>共享性:
资源共享是指系统中硬件和软件资源不再为某个程序独占,而是供多个用户共同使用。

根据资源性质的不同,可将资源共享方式分为两种。
1.互斥共享
2.同时访问

<3>虚拟性:例如在操作系统中引入多道程序设计技术可以把一台物理上的CPU虚拟为多台逻辑上的CPU。此外还有虚拟存储器(从逻辑上扩充存储器的容量)、虚拟设备(独占设备变为共享设备)等技术。

<4>异步性:在多道程序环境中由于资源等因素的限制,程序是以“走走停停”的方式运行的。系统中的每道程序何时执行。多道程序间的执行顺序以及完成没到程序所需要的时间都是不确定的,因此也是不可预知的。

王道

并发(Concurrence)
共享(Sharing)

(1)互斥共享方式

(2)同时访问方式

虚拟(Virtual)
异步(Asynchronism)

1.2操作系统的分类与发展

未配置操作系统的计算机系统

1.人工操作方式:早期的操作方式是由用户将事先穿孔的纸带(或卡片),装入纸带输入机(活卡片输入机),再启动它们以将纸带或卡片上的程序和数据输入计算机,然后计算机运行。

缺点: 用户独占全机;CPU等待人工操作。

2.脱机I/O方式:为了解决人机矛盾以及CPU与I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了脱机I/O。该技术是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带上的程序和数据输入磁带。

优点: 减少了CPU的空闲时间;提高了I/O速度

单道批处理系统

1.处理过程:为了实现对作业的连续处理,需要先把一批作业以脱机IO方式输入到磁带上,并在系统中配上监督程序。在它的控制下这批作业能一个接一个地被连续处理。虽然该系统对作业的处理是成批进行的,但是在内存中始终只保持一道作业,故称之单道批处理系统。

2.缺点:最主要的缺点就是,系统中的资源得不到充分利用。

多道批处理系统

1.基本概念:为了进一步提高资源利用率和系统吞吐量,在20世纪60年代中期引入了多道程序设计技术,由此形成了多道批处理系统。

2.优缺点
(1)资源利用率更高。
(2)系统吞吐量大。
(3)平均周转时间长。
(4)无交互能力。

3.需要解决的问题:
(1)争用处理机问题
(2)内存分配与保护问题
(3)IO设备分配问题
(4)文件的组织与管理问题
(5)作业组织与管理问题
(6)用户与系统的接口问题

分时系统

1.分时系统的引入:

分时系统(time sharing system)形成和发展的最主要动力,则是为了满足用户对人机交互的需求。
(1)人机交互
(2)共享主机

2.分时系统实现过程解决的关键问题

(1)及时接收
(2)及时处理

3.分时系统的特征

(1)多路性:是指系统允许将多台终端同时连接到一台主机上,并按分时原则为每个用户服务。
(2)独立性:是指系统提供了一种用机环境,即每个用户在各自的终端上进行操作,彼此之间互补干扰,给用户的感觉就像是他一人独占主机。
(3)及时性:
(4)交互性:是指用户可以通过终端与系统进行广泛的人机对话。

实时系统(real time system)

所谓“实时”,是指“及时”;而“实时计算”,则定义为这样一类计算:系统的正确定不仅由计算机的逻辑结果来确定,而且还取决于产生结果的时间。

1.实时系统的类型

(1)工业控制系统

(2)信息查询系统

(3)多媒体系统

(4)嵌入式系统

2.实时任务的类型

(1)周期性实时任务和非周期性实时任务
周期性:外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性恶控制某外部设别。

非周期性:必须联系着一个截止时间(deadline),或称为最后期限,其可分为两种。开始截止时间和完成截止时间。

(2)硬实时任务和软实时任务

硬实时(hard real time,HRT)任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。

软实时(soft real time,SRT)任务也联系着一个截止时间,但不严格,若偶尔错过了任务的截止时间,则其对系统产生的影响也不会太大。

(3)实时系统与分时系统特征比较

多路性:信息查询系统和分时系统中的多路性都表现为,系统按分时原则为多个终端用户服务;实时系统的多路性是,系统周期性地对多路现场信息进行采集,并对多个对象或多个执行机构进行控制。

独立性:终端用户在与系统交互式相互独立、互不干扰;

及时性:信息查询系统对实时性的要求是根据人所能接受的等待时间确定的。实时控制系统怎是以对控制对象所要求的截止时间来确定的,一般为秒级到毫秒级。

交互性;

可靠性:分时系统要求可靠,实时系统要求高度可靠,因为任何差错都可能带来无法预料的灾难性后果;

微机操作系统

个人计算机(personal computer)
1.单用户单任务OS
只允许一个用户上机,且只允许用户程序作为一个任务运行。
2.单用户多任务OS
只允许一个用户上机,但允许用户把程序分为若干个任务并发执行,从而有效地改善了系统性能。
3.多用户多任务OS
允许多个用户通过各自的终端使用同一台机器,共享主机系统的各种资源,儿每个用户程序又可以进一步分为几个任务,使他们能并发执行,从而可进一步提高资源利用率和系统吞吐量。

嵌入式操作系统

1.嵌入式系统(embedded system
是为了完成某个特定功能而设计的系统,或是具有附加机制的系统,或是其他部分的计算机硬件与软件的结合体。

2.嵌入式OS
嵌入式OS是指应用于嵌入式系统的OS。嵌入式OS是一种用于广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通讯协议、图形用户界面、标准化游览器等。

3.嵌入式操作系统的特点
(1)系统内核小:由于嵌入式OS一般应用于小型电子装置,系统资源相对有限,因此其内核较传统OS小很多。
(2)系统精简:嵌入式OS一般没有系统软件和应用软件的明显区分,不要求功能设计与实现过于复杂。这样既可以控制系统成本,也有利于系统安全。
(3)实时性高:实时性高是嵌入式软件的基本要求,此外,软件还要求固态内存以提高速度,软件代码要求高质量和高可靠性。
(4)具有可配置性;由于嵌入式系统的多样性,一个嵌入式系统OS若想应用在不同的嵌入式系统中,他就必须可以灵活配置,以便为特定的应用和硬件系统系统所需的功能。

网络操作系统

网络OS是用于在计算机网络环境下对网络资源进行管理和控制,实现数据通信及对网络资源的共享,为用户提供网络资源接口的一组软件和规程的集合

1.网络OS的特征

(1)硬件独立性:系统可以运行于各种硬件平台之上。

(2)接口一致性:系统为网络中的共享资源提供一致的接口,即针对同一性质的资源,采用统一的访问方式和接口。

(3)资源透明性:系统能对网络中的资源进行统一的管理,能根据用户的要求对资源进行自动选择和分配。

(4)系统可靠性:系统利用资源在地理上分散的优点,通过统一的管理、分配和调度手段,确保了整个网络的可靠性。

(5)执行并行性:系统不仅实现了在每个节点计算机中各道进程的并发执行,而且实现了网络中多个节点计算机上进程的并行执行。

2.网络OS的功能

为了实现网络中计算机之间的数据通信,网络OS应具有如下基本功能:

(1)连接的建立与拆除
(2)报文的分解与组装
(3)控制传输
(4)流量控制
(5)差错的检测与纠正

分布式操作系统

1.分布式系统(distributed system
是基于软件实现的一种多处理机系统,是多个处理机通过通信线路互联而构成的松散的耦合系,系统的处理和控制功能分布在各个处理及上。
与传统的多处理机系统相比,分布式系统的不同之处在于:分布式系统的每个结点都是一台独立的计算机,并配置有完整的外部设备;分布式系统中节点的耦合程度更低,地理分布区域更加广阔;分布式系统中的每个节点均可以运行不同OS,每个节点拥有自己的文件系统,除了本节点的管理外,还有其他多个机构会对其实施管理。
归纳起来分布式系统应具有一下几个主要特征:
(1)分布性
(2)透明性
(3)同一性
(4)全局性

2.分布式OS

分布式OS是配置在分布式系统上的公用OS,其以全局的方式对分布式系统中的所有资源进行统一管理,可以直接对系统中地理位置分散的各种物理和逻辑资源进行动态分配和调度,有效地协调和控制各个任务的我并行执行,协调和保持系统内的各个计算机间的信息传输与协作运行,并向用户提供一个统一的方便的透明的使用系统界面和标准接口。分布式OS除了涵盖单处理机OS的主要功能外,还应包括以下功能:
(1)通信管理功能
(2)资源管理功能
(3)进程管理功能

天勤

王道

手工操作阶段(此阶段无操作系统)

(1)突出的缺点:用户独占全机,虽然不会因资源已被其他用户占用而等待的现象,但资源利用率极低;CPU等待手工操作,CPU利用不充分。

批处理阶段(操作系统开始出现)

(1)单批处理系统

自动性
顺序性
单道性

(2)多批道处理系统
特点:多道,宏观上并行、微观上串行。
需要解决的问题:如何分配处理器、多道程序的内存分配问题、IO设备如何分配、如何组织和存放大量的程序和数据,以方便用户使用并保证其安全性与一致性。

分时操作系统

主要特征:
(1)同时性也称多路性
(2)交互性
(3)独立性
(4)及时性

实时操作系统

为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。这里分为两种情况(1)若某个动作必须绝对地在规定的时刻(或规定的时间范围内)发生,则称为** 硬实时系统**。(2)若能耦合接收违反时间规定且不会引起任何永久性的损害,则称为软实时系统
实时操作系统的主要特点是及时性和可靠性。

网络操作系统和分布式计算机系统

用于管理分布式计算机的操作系统被称为分布式计算及系统。该系统的主要特点是分布式和并行性,分布式操作系统和网络操作系统的本质不同是,分布式操作系统中的若干计算机相互协同完成同一任务。

个人计算机操作系统

1.3操作系统的运行环境

硬件支持

当打开计算机电源或重启计算机以便开始运行时,计算机所需要运行一个初始程序或引导程序(bootstrap program)。
该引导程序通常很简单,一般位于计算机的固件(firmware)中,如只读存储器(read-only memory,ROM)或电擦除可编程只存储器(electrically-erasable programmable read-only memory,EEPROM)等。它会初始化系统的各个组件,以及内存内容,引导程序必须知道如何加载OS并开始执行系统。为了实现这一目标,引导程序必须定位OS内核并将其加载到内存中。

所谓OS内核(kernel),是指OS一直运行在计算机上的程序。出内核外,还有其他两类程序:系统程序和应用程序。前者是与系统运行有关的程序,但不是内核的一部分;后者是与系统程序和应用程序。

操作系统内核

线代OS一般会分为若干层次,再将不同的功能分别设置在不同层次中。这种安排方式的目的在于:一是便于对这些软件进行保护,防止他们遭受到其他应用程序的破坏;二是可以提高OS的运行效率。

1.支撑功能

(1) 中断处理
(2)时钟管理
(3)原语操作

所谓原语(primitive),就是由若干条指令组成的,用于完成一定功能的一个过程。它和一般过程的区别在于:他们是原子操作(action operation)。

2.资源管理功能

(1)进程管理

(2)存储器管理

(3)设别管理

处理机的双重工作模式

计算机硬件可以通过一个模式位(mode bit)来表示当前模式:内核态(0)和用户态(1)

用户态(user mode)

当计算机系统执行用户程序时,系统处于用户态。

内核态(kernel mode)

当用户通过系统调用请求OS服务时,系统必须从用户态切换到内核态,以满足请求。

特权指令

是指在内核态下运行的指令,它对内存空间的访问范围基本不受限制。它不仅能访问用户空间,还能访问系统空间。切换到用户态的指令也是特权指令。

非特权指令

是指在用户态下运行的指令,应用程序所使用的都是非特权指令,它只能完成一般性的操作和任务,不能对系统中的硬件进行直接访问,对内存的访问也只能局限于用户空间。这样可以防止应用程序的运行异常对系统造成破坏。

中断与异常

现在OS是中断驱动(interrupt driven)的。如果没有进程需要执行,没有IO设备需要服务,没有用户需要相应,那么OS就会静静的等待某个事件发生。事件总是由中断(interrupt)或陷阱(trap)引起的。

天勤

王道

操作系统的运行机制

(1)时钟管理

(2)中断机制

(3)原语

(4)系统控制的数据结构及处理

进程管理;存储器管理;设备管理;

中断和异常的概念

(1)中断和异常的定义

(2)中断处理的过程

1.4操作系统的体系结构

简单结构

在早期开发OS时,设计者只把他的注意力放在了功能的实现我获得更高的效率上,而缺乏首位一致的设计思想。此时的OS时为数众多的一组过程的集合,每个过程均可任意的调用其他过程,这致使OS内部既复杂又混乱。因此这种OS是无结构的,也有人把它称为整体系统结构或简单结构。

模块化结构

1.模块化程序设计技术的基本概念

该技术基于“分解”和“模块化”原则来控制大型软件的复杂度。

2.模块独立性
两个标准
(1)内聚性:指模块内部各部分间联系的紧密程度,内聚性越高,模块独立性越强;
(2)耦合度,指模块间相互联系和相互影响的程度,显然,耦合度越低,模块独立性越强。

3.模块-接口法的优缺点

优点:提高了OS设计的正确性、可理解性和易维护性;增强了OS的可适应性;加速了OS的开发过程

仍存在的问题:在设计OS时,对模块间接口的规定,很难满足划分完后模块对接口的实际需求;在OS设计阶段,设计者必须做出一系列的决定,每个决定必须建立在上一个决定的基础上,但在模块化结构的设计中,各模块的设计齐头并进,无法找到一个可靠的决定顺序,进而造成了各种决定的无序性,因此模块-接口法又被称为“无序模块法”。

分层式结构

1.分层式结构的基本概念

为了将模块=接口法中“决定顺序”的无序性变为有序性,引入了有序分层法。有序分层法的设计任务是。在目标系统An和逻辑系统A0之间,铺设若干个层次的软件,最终能在A0上运行。在OS中,常采用自底向上分层设计法来铺设这些中间层软件。

自低向上分层法的设计原则是:每一步设计都是建立在可靠的基础之上的。

2.分层式结构的优缺点

(1)主要优点有:易保证系统的正确性,自下而上的设计方法,使所有设计中的决定都是有序的,或者说是建立在较为可靠的基础上的,这样比较容易保证整个系统的正确性。
可保证系统的易维护性和可扩充性,若想在系统中增加、修改或替换一个层次中的模块或整个层次,则只要不更改变相应层次间的接口,就不会影响其他层次,这必将使系统维护和扩充变得更加容易。

(2)主要缺点:系统效率较低。由于分层式结构使分层单向依赖的,必须在各个层次间建立 通信机制,OS每执行一个功能,通常需要自上而下地创越多个层次。

微内核结构

1.微内核(microkernel)OS的基本概念
 (1)足够小的内核
 微内核并不是一个完整的OS,而只是OS中最基本的部分,它通常包含:用于处理与硬件紧密相关的部分;一些最基本的功能;客户和服务器之间的通信。
 (2)基于客户/服务器模式
 
 (3)采用策略与机制分离原则
 所谓机制,是指实现某一功能的具体执行机构;而策略,则是在机制的基础上。借助于某些参数和算法来时间该功能的优化或达到不同的功能目标。
 (4)采用面向对象技术
2.微内核的基本功能
(1)进程(线程)管理技术
(2)低级存储器管理
(3)中断和陷入处理
3.微内核OS的优点
(1)提高了系统的可扩展性
(2)增强了系统的可靠性
(3)增强了系统的可移植性
(4)提供了对分布式系统的支持
(5)融入了面向对象技术
4.微内核OS存在的问题
效率有所降低,其主要原因是,在完成一次客户对OS提出的服务请求时,需要利用消息多次交互,以及进行用户/内核模式和上下文的多次切换。

外核结构

外核(exokernel)或外内核OS的基本思想是:内核不提供传统OS中的进程、虚拟存储器等抽象事物,而是专注于物理资源的隔离与复用。

库OS的实现思想是:基于应用程序的需求来制定OS内核,将原本属于OS内核的功能以库的形式提供用户。

天勤

王道

本文链接:https://my.lmcjl.com/post/8227.html

展开阅读全文

4 评论

留下您的评论.