目录
什么是操作系统? (不同观点)
操作系统的目标
定义操作系统
计算机系统的操作
存储结构
I/O结构
计算机系统体系结构
操作系统结构
操作系统操作
进程管理
内存管理
分布式系统
实时嵌入式系统
小结
操作系统是一种应用程序,那么它可以管理计算机硬件,并且可以让计算机硬件和计算机用户更好的交互。
计算机系统有4个组成部分:计算机硬件(如:中央处理单元 、内存 、输入输出设备 ),操作系统,系统程序与应用程序(如:QQ)和用户。
- 控制程序----操作系统控制和协调不同用户的各种应用程序之间的硬件使用。
- 资源管理器(资源分配器)----操作系统管理计算机的资源,对各种应用程序和用户能够有效和公平地操作计算机系统。
- 扩展机(虚拟机)----操作系统抽象了计算机硬件,为用户提供了友好的界面。
- 没有通用的可接受定义-----操作系统的存在是因为它们是解决创建可用计算系统问题的合理方法。
- 执行用户程序,更容易地解决用户问题。
- 使计算机系统让用户使用方便。
- 有效地使用计算机硬件。
- 一个比较公认的定义是: 操作系统是一直运行在计算机上的程序(通常称为内核),其他程序则为系统程序和应用程序。(内核: 指的是在计算机上运行的程序(操作系统))。
现代通用计算机系统:由一个或多个CPU和若干设备控制器通过共同的总线相连而成。该总线提供了对共享内存的访问。
设备控制器: 指的是控制某个设备的机器(如磁盘驱动器、音频设备、视频显示器 ),CPU 可以与设备控制器可以一起工作,并竞争内存周期。为了确保对共享内存的有序访问,需要内存控制器来协调对内存的访问。
当打开电源或重启计算机时发生的过程:
引导程序:通常位于ROM或者EEPROM,称为计算机硬件中的固件。用来初始化系统的所有部分(包括CPU寄存器,设备控制器和内存)。
中断:当某一个事件发生时通常可以通过硬件和软件来发生中断。
- 硬件可随时通过系统总线向CPU发出信号,出发中断。
- 软件通过系统调用(也称为监视器调用)触发中断。
中断处理程序:发出中断请求的那个程序。
计算机程序一般运行在随机访问内存中的。
内存(或随机访问内存)是处理器可以直接访问的唯一的大容量存储区域。它通常被称为动态随机访问内存的半导体技术来实现的。
一个典型指令执行周期如下:
I/O 设备有: 存储器
设备控制器连接一个或多个设备和CPU。例如SCSI(small computer system interface)可以连接7个或更多的设备。设备控制器维护一定量的本地缓冲存储和一组特定用途的寄存器,负责在其所控制的外部设备和本地缓冲存储之间进行数据传递。通常操作系统为每个设备控制器提供一个设备驱动,用来理解设备控制器,并提供一个设备与其余操作系统的统一接口。
开始I/O操作 如下所示:
如果是读操作,返回的可能是数据或者数据的指针,如果是其他操作,返回的可能是状态信息。
- 除此,还有DMA(direct memory access)的I/O设备,在DMA中设置好缓冲、指针和计数器后,设备控制器能在本地缓冲和内存之间传送整块数据,无需CPU干涉。
- 每块只产生一个中断,告知设备驱动程序操作已完成(低速设备每个字节产生一个中断。
单处理系统:由一个主CPU执行一个通用指令集,包括来自于用户进程的指令;绝大多数系统还包括其他特定目的的处理器,可能以专用设备处理器的形式出现,也可能以通用处理器的形式出现。 所有专用处理器运行一个受限的指令集,不运行用户进程,有时由操作系统管理,操作系统将任务信息发送给这些处理器。
多处理器系统,也成为并行系统(parallel system)或紧耦合系统(tightly coupled system),这类系统含有多个通信CPU,共享计算机总线。其优点如下:
- 增加吞吐量:通过增加处理器的数量,但同时会多出管理多个CPU的开销。
- 规模经济:通过共享外设,存储和电源来节省资金。
- 增加可靠性: 单个处理器失灵不会导致整个系统停止。
多处理器系统主要有两种类型:非对称多处理(asymmetric multiprocessing)和对称多处理(symmetric multiprocessing,SMP)。
- 非对称多处理(asymmetric multiprocessing):每个处理器都有各自特定的任务,一个主处理器控制系统,其他处理器或者从主处理器要任务,或者做预先定义的任务。这种称为主-从关系。
- 对称多处理(symmetric multiprocessing,SMP):每个处理器都要完成操作系统中的所有任务,所有处理器对等,处理器之间没有主-从关系。好处是N个CPU可以同时运行,并且不影响效率。
集群系统
- 定义:与多处理器系统一样,集群系统将多个CPU集中起来完成计算任务。然而,集群系统与多处理器系统不同,它是由两个或多个独立的系统耦合起来的。常用的方式是共享存储并通过局域网连接。也分对称和非对称两种。通常用来提供高可用性服务。
- 非对称集群:一台机器处于热备份模式,一台运行应用程序,热备份主机监视现役服务器,如果该服务器失效,那么切换
- 对称集群:多台主机都运行应用程序,互相监视,
- 并行集群:允许多个主机访问共享存储上的相同数据
操作系统最重要的一点是要有多道程序处理能力。多道程序设计通过组织作业(编码或数据)使CPU总有一个作业在执行,从而提高了CPU的利用率。
装入到内存井执行的程序通常称为进程 。
事件总是由中断或陷阱引起的。陷阱(或异常)是一种软件中断。
为了区分操作系统代码和用户定义代码的执行,至少需要两种独立的操作模式:用户模式、监督程序模式 或者(系统模式、特权模式)。
双重模式操作提供了保护操作系统和用户程序不受错误用户程序影响的手段。其实现方法为:
将能引起损害的机器指令作为特权指令 (privileged instruction) 。如果在用户模式下试图执行特权指令,那么硬件并不执行该指令,而是认为该指令非法,并将其以陷阱的形式通知操作系统。
注意:程序本身并不是进程,程序是被动的实体,而进程是一个活动的实体。
单线程进程具有一个程序计数器来明确下一个执行的指令。这样一个进程的执行必须是连续的。 CPU 一个接着一个地执行进程的指令,直至进程终止。
多线程进程具有多个程序计数器,每一个指向下一个给定线程要执行的指令。
如果一个程序要执行,那么它必须先变换成绝对地址井装入内存。随着程序的执行,进程可以通过产生绝对地址来访问内存中的程序指令和数据 。最后,程序终止,其内存空间得以释放,并且下一程序可以装入并得以执行。
分布式系统:将物理上分开、各种异构的计算机系统通过网络连接在一起,为用户提供系统所维护的各种资源的计算机集合,其优点有:
- 资源共享
- 计算机速度提高
- 可靠性高
- 通信方便
嵌入式系统:几乎都是运行实时操作系统,当对处理器操作或数据流动有严格时间要求时就需要使用实时系统,例如:科学实验、医学成像系统、工业控制系统。-------- 定义:实时操作系统是保证在一定时间限制内完成特定功能的操作系统。
操作系统是管理计算机硬件并提供应用程序运行环境的软件。也许操作系统最为直观之处在于它提供了人与计算机系统的接口。
为了让计算机执行程序,程序必须位于内存中。内存是处理器能直接访问的唯一的大容量存储区域。内存为字节或字的数组,容量为数百阻到数百 MB。每个字都有其地址。内存是易失性存储器,当没有电源时会失去其内容。绝大多数计算机系统都提供了外存以扩充内存。二级存储器提供了一种非易失存储,它可以长久地存储大量数据。最常用的二 级存储器是磁盘,它提供对数据和程序的存储。
根据速度和价格,可以将计算机系统的不同存储系统按层次来组织。最高层最为昂贵但也最快。随着向层次结构下面移动,每一个位的存储价格通常降低,而访问时间通常增加。
计算机系统的设计有多种不同的方法。单处理器系统只有一个处理器,而多处理器系统包含两个或更多的处理器来共享物理存储及外设。对称多处理技术 CSMP) 是最为普通的多处理器设计技术,其中所有的处理器被视为对等的,且彼此独立地运行。集群系统是一种特殊的多处理器系统,它由通过局域网连接的多个计算机系统组成。
为了最好地利用 CPU,现代操作系统采用允许多个作业同时位于内存中的多道程序设计,以保证 CPU 中总有-个作业在执行。分时系统是多道程序系统的扩展,它采用调度算法实现作业之间快速的切换,好像每个作业在同时进行一样。
操作系统必须确保计算机系统的正确操作。为了防止用户干预系统的正常操作,硬件有两种模式:用户模式和内核模式。许多指令(如I/O 指令和停机指令)都是特权的,只能在内核模式下执行。操作系统所驻留的内存也必须加以保护以防止用户程序修改。定时器防止无穷循环。这些工具(如双模式、特权指令、内存保护、定时器中断)是操作系统所使用的基本单元,用以实现正确操作。
进程(或作业)是操作系统工作的基本单元。进程管理包括创建和删除进程、为进程提供与其他进程通信和同步的机制。操作系统通过跟踪内存的哪部分被使用及被谁使用来管理内存。操作系统还负责动态地分配和释放内存空间,同时还管理存储空间,包括为描述文件提供文件系统和目录,以及管理大存储器设备的空间。
操作系统必须考虑到它与用户的保护和安全问题。保护是提供控制进程或用户访问计算机系统资源的机制。安全措施用来抵御计算机系统所受到的外部或内部的攻击。
分布式系统允许用户共享通过网络连接的、在地理位置上是分散的计算机的资源。可以通过客户机服务器模式或对等模式来提供服务。在集群系统中,多个机器可以完成驻留在共享存储器上的数据的计算,即便某些集群的子集出错,计算仍可以继续。
局域网和广域网是两种基本的网络类型。局域网允许分布在较小地理区域内的处理器进行通信,而广域网允许分布在较大地理区域内的处理器进行通信。局域网通常比广域网快。
计算机系统具有一些特殊的服务目的,包括为嵌入式环境设计的实时操作系统,如消费设备、汽车和机器人。实时操作系统具有己定义的、固定的时间约束。进程必须在定义的约束内执行,否则系统将出错。多媒体系统涉及多媒体数据传送,常常有显示或使用音频、视频或者同步的音频和视频流的特别要求。
近来,由于 Internet 和 www 的影响,现代操作系统也集成了 www 浏览器、网络和通信软件。