深入理解操作系统原理之操作系统概述

来源:互联网 发布:大数据时代的算法 编辑:程序博客网 时间:2024/05/22 07:02

一、概述

从计算机系统组成观点来看,操作系统就是一系列系统软件组成的。

  • 软件:应用软件、系统软件(操作系统、语言处理系统和常用的例行服务程序)
  • 硬件:输入/输出(I/O)设备、存储器(内存)、中央处理器(CPU)

从资源管理程序观点来看,操作系统是系统资源管理者( Operating System as a Resource Manager)它用于控制和管理计算机系统的硬件和软件资源。
从软件分层、扩充机器的观点来看,操作系统是扩充裸机的第一层系统软件。硬件裸机+操作系统组成虚拟机。
从服务用户的观点来看,操作系统是用户与裸机之间接口。系统提供的接口有二类:一类是作业级接口,它提供一组键盘命令,供用户组织和控制自己的作业运行。另一类是程序级接口,它提供一组系统调用,即OS中某个模块功能,供用户程序和其它程序调用。
从进程的观点来看,操作系统是由若干个可以并发执行的进程和一个对进程进行控制和协调的核心组成。
一般意义的操作系统定义如下:操作系统是一组有效控制和管理计算机系统的硬件和软件资源、合理地组织计算机工作流程以及方便用户的程序集合。

  • 有效(efficiency):系统效率,资源利用率(如:CPU利用的充足与否,内存、外部设备是否忙碌)
  • 合理:公平与否,如果不公平则会产生“死锁”或“饥饿”
  • 方便(convenience):用户界面

二、计算机硬件系统概述

1、计算机硬件系统结构

  • 1、大、中、小型计算机的硬件组织。这类计算机以存储器为中心,CPU和各种通道都与存储器相连。
    这里写图片描述
  • 2、微型计算机的典型组织。微型计算机是以总线为纽带来构成计算机系统,中央处理机(CPU)、存储器、 I/O设备(包括外存磁盘、磁带)都挂接在总线。
    这里写图片描述

2、现代操作系统的硬件基础

现代计算机系统为了提高计算机资源利用率,采用多道程序设计技术,它在主存中存放多道用户的作业,计算机系统硬件支持作业并行操作,使多道作业同时处于运行状态共享系统资源。在现代批处理系统中支持并行操作的硬件是通道和中断。

  • 通道
    通道是可以与CPU并行操作的专门用来控制输入输出设备数据传送的处理机。当CPU需要输入数据时,只要发命令给通道去完成,通道进行I/O操作和CPU操作可并行异步执行,在通道完成I/O操作后,它用中断方式向CPU报告其完成I/O情况。
  • 中断
    中断是指CPU对系统中发生的异步事件的响应,异步事件是指无一定时序关系的随机发生的事件。中断的含义是当这些异步事件发生后,打断了处理机对当前程序的执行,而转去处理该异步事件,即执行该事件的中断处理程序,直到处理完了之后,再转向原程序的中断点执行。中断技术的应用范围不断扩大,它使得通道具有中断主机工作的能力,以支持多道程序设计技术,它作为所有要打断处理机正常工作并要求其去处理某一事件的一种常用手段。中断的应用能充分发挥处理机的使用效率,提高系统实时处理能力。

三、 操作系统类型

1、批处理系统

  • 分类:
    单道批处理系统:无须作业调度和进程调度;内存仅有一道作业;顺序完成
    多道批处理系统:作业调度和进程调度;内存有多道作业;非顺序完成
    远程批处理系统
  • 优点:
    系统吞吐量大
    资源利用率高
  • 缺点:
    平均周转时间长
    不能提供交互作用能力

2、分时系统

分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,它同时允许许多用户通过终端以交互方式使用计算机共享主机中的资源。所谓分时是指多个用户分时共享使用同一台计算机,也就是说把计算机的系统资源(尤其是CPU时间)进行时间上分割,即将整个工作时间分成一个个的时间片,每个时间片分给一个用户使用,这样将CPU工作时间分别提供给多个用户使用,每个用户依次地轮流使用一个时间片。

3、实时系统

为了提高系统的响应时间,对随机发生的外部事件作出及时响应并对其进行处理。

  • 实时控制系统
    此类实时控制系统主要用于生产过程的自动控制,实验数据自动采集,武器的控制、包括火炮自动控制、飞机自动驾驶、导弹的制导系统。
  • 实时信息处理系统
    这类系统主要用于实时信息处理,象飞机订票系统、情报检索系统。

4、微机操作系统

配置在微机上的OS称为微机操作系统。常用的微机OS有MS-DOS、MS Windows、OS/2、SCO UNIX、 Linux等。

  • 单用户单任务操作系统MS-DOS
    MS-DOS是Microsoft公司开发的首先在IBM-PC机上使用的微机OS,MS-DOS操作系统现成了事实上的16位微机单用户单任务操作系统的标准。
  • 多任务操作系统MS Windows
    Windows98/2000/XP是Microsoft公司开发的一个图形用户界面的多任务、多线程、全32位的操作系统。
  • 多用户多任务操作系统SCO UNIX
    SCO公司将运行于大、中、小型机上UNIX操作系统移植到微机上,UNIX是多用户多任务操作系统。
  • Linux
    Linux操作系统是一个遵循标准操作系统界面的标准免费操作系统,具有UNIX BSD和UNIX SYS V的扩展特性。它的版权所有者是芬兰籍的Linus B.Toroalds先生和其它开发人员,并且遵循GPL(GNU General Pablic License)声明。Linux可以在基于Intel处理器的个人计算机上运行,它可以将一台普通的个人电脑变成功能强劲的UNIX工作站。

5、网络操作系统

  • 计算机网络的定义
    计算机网络可以定义为一些互连的自主计算机系统的集合,所谓自主计算机是指计算机具有独立处理能力,而互连则表示计算机之间能够实现通信和相互合作。按网络所覆盖的地理范围大小可把计算机网络分成广域网WAN(Wide Area Network)和局域网LAN(Lacal Area Network)两类。
  • 网络操作系统定义
    网络操作系统是使网络上各计算机能方便地进行网络通信、有效地共享网络资源,为网络用户提供所需各种服务的软件和有关规程的集合。

6、分布式操作系统

分布式计算机系统是为分散处理、协同完成任务而将多个分散的计算机经互连网络连接而成的计算机系统,分布式操作系统是在它上配置的操作系统。分布式操作系统是能直接对系统中各类资源进行动态分配和管理,有效控制和协调诸任务的并行执行,允许系统中的处理单元无主、次之分,并向系统提供统一的、有效的接口的软件集合。
它基于两种环境:多处理器(CPU)系统或多计算机系统(网络),它是网络操作系统的更高级的形式,它保持了网络操作系统的全部功能。

7、嵌入式操作系统

嵌入式系统是在各种设备、装置或系统中,完成特定功能的软硬件系统。它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机”。通常工作在反应式或对处理时间有较严格要求环境中,由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统。
嵌入式操作系统通常配有源码级可配置的系统模块设计、丰富的同步原语、可选择的调度算法、可选择内存分配策略、定时器与计数器、多方式中断处理支持、多种异常处理选择、多种通信方式支持、标准C语言库、数学运算库和开放式应用程序接口。

四、操作系统特征和功能

1、操作系统特征

  • 并发性(Concurrence)
    并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生,而并发性是指两个或多个在同一时间间隔内发生。在多道程序环境下,并发性是指宏观上在一段时间内有多道程序在同时执行。但在单处理机系统中,每一个时刻仅能执行一道程序,故微观上,这些程序是在交互执行。
  • 共享性(Sharing)
    共享是指系统中的所有资源不再为一个程序所独占,而是供同时存在于系统中的多道程序所共同使用。根据资源属性不同,可有互斥共享和同时共享两种不同的共享方式。
  • 虚拟性(Virtual)
    虚拟是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体是实际存在的,是实的;逻辑物体是用户感觉到的,是虚拟的。例如在单CPU多道分时系统中,通过多道程序技术和分时技术可以把一个物理CPU虚拟为多个逻辑上的CPU,使每个终端用户都认为有一台“独立”的CPU为它运行,用户感觉的CPU是虚拟CPU。
  • 异步性(Asynchronism)和不确定性(nondeterministic)
    在多道程序环境下,允许多个程序并发执行,但由于资源等因素的限制,程序的执行并非“一气呵成”,而是以“走走停停”的方式运行,即程序是以异步方式运行的。多个程序异步并发执行带来了二种不确定性。一种是每个程序(进程)执行的速度和时间不确定,各程序(进程)之间推进的序列也不确定。即是不可预测的。另一种是每个程序(进程)执行结果不确定,即对同一程序,给定相同的初始条件、在相同的环境下进行多次执行,却可能获得完全不同的结果,这也称为程序并发执行的不可再现性。执行结果的不确定性是绝对不允许的,这是操作系统为实现程序并发执行必须解决的问题。

2、现代操作系统特征

  • 微内核结构(Microkernel architecture)
    它只把OS少数基本的功能(包括地址空间、进程间通信IPC和基本调度)分配给内核,其它的OS服务由称为服务器的进程提供。
  • 多线程(Multithreading)
    该技术采用执行应用的进程被分为多个能并行运行的线程。
  • 对称多处理机(Symmetric multiprocessing SMP )
  • 分布式操作系统 (Distributed Operating Systems)
  • 面向对象设计(Object-oriented design)

3、操作系统功能模块

  • 处理机(进程)管理
    处理机管理的主要任务是对处理机进行分配,并对其运行进行有效的控制和管理。在多道程序环境下,处理机的分配和运行以进程为基本单位,因而对处理机管理可归纳为对进程的管理。进程管理包括进程控制、进程同步、进程通信和调度等。
  • 存储器管理
    存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充内存,为此存储管理应具有内存分配、内存保护、地址映射和内存扩充等功能。
  • I/O设备管理
    设备管理体制的任务是登记各I/O设备状态,管理并完成用户提出的I/O请求,按一定的策略为用户分配I/O设备。同时提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备,为此设备管理应具有缓冲器管理、设备分配、设备处理及虚拟设备等功能。
  • 信息管理(文件系统管理)
    计算机系统的软件信息都以文件形式进行管理,操作系统中负责此任务的部分是文件系统,文件系统的任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性,为此文件系统管理应具有对文件存储空间的管理、目录管理、文件共享和保护等功能。
  • 用户接口
    为了方便用户使用OS,OS向用户提供了“用户与OS的接口”,该接口分成二种:一种是作业级接口,它提供一组键盘命令,供用户去组织和控制作业的运行。另一种是程序级接口,它提供一组系统调用供其它程序调用。
原创粉丝点击