赞
踩
操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
操作系统的类型非常多样,不同机器安装的操作系统可从简单到复杂,可从移动电话的嵌入式系统到超级电脑的大型操作系统。许多操作系统制造者对它涵盖范畴的定义也不尽一致,例如有些操作系统集成了图形用户界面,而有些仅使用命令行界面,而将图形用户界面视为一种非必要的应用程序。
操作系统理论在计算机科学中,为历史悠久而又活跃的分支;而操作系统的设计与实现则是软件工业的基础与内核。
第一部电脑没有操作系统,因为操作系统说到底还是软件,只不过是最底层的软件,当时的电脑硬件并不足以运行操作系统这样的软件。
随着硬件改善,开始逐渐出现微型计算机,但此时还是没有装设操作系统的需求和能力,它们只需要最基本的操作系统,通常这种操作系统都是从ROM读取的,此种程序被称为监控程序(Monitor)。
基于VisualBasic制作的C64
微软制作的MS-DOS:
MacOs出现,当初乔布斯时代,苹果发现了图形界面化的操作系统之后,一致认为图形化界面操作系统是未来的大趋势,后来苹果公司通过自我研究,设计出了Max Os X操作系统。
1990年代由于与AT&T的法律争端,使得远在芬兰赫尔辛基大学的另一股开源操作系统——Linux兴起。
Window NT现世,微软成功研制出Window NT操作系统。
现如今的操作系统就有如下所示:
对于历史,我们只需要简单的了解就行了。下面是不同时期系统区别:
计算机操作系统的主要目标:
主要有以下三点:
OS作为用户与计算机硬件系统之间的接口
OS处于用户与计算机系统之间,用户通过OS来使用计算机系统。用户有三种方式使用计算机:命令(直接使用操作系统提供的命令来使用计算机硬件)、系统调用(编写一段C程序,通过操作系统提供的系统调用来使用计算机)、图标-窗口(如在Windows系统中通过双击图标等方式使用计算机);
OS作为计算机系统资源的管理者
计算机系统中存在多种硬件和软件资源,总体来说这些资源可以分为:处理机、存储器、IO设备以及文件(包括程序和数据),OS的作用就是管理这些系统资源;
OS实现了对计算机资源的抽象
OS是铺设在计算机硬件上的多层软件的集合;它们不但增强了系统的功能,还隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象模型;随着抽象层次的提高,抽象接口所提供的功能就越强,用户使用起来就越方便;
OS作为计算机系统资源的管理者:在一个计算机系统中,通常分为四类资源:处理机、存储器、I/O设备、以及文件(数据和程序)。OS的主要功能就是对资源进行有效的管理,处理机管理分配和控制处理机,存储器管理负责内存的分配和回收、I/O设备管理负责I/O设备的分配(回收)与操纵、文件管理实现对文件的存取、共享和保护。这四类后面会另外进行单独详解。这里简单略过。
OS实现了对计算机资源的从抽象:裸机向用户提供的是硬件接口,用户想要使用必须对物理接口的实现细节有充分的的了解,致使物理机器难于广泛使用,而OS则通过I/O设备管理软
操作系统的特性主要有四大点,即并发、共享、虚拟、异步,下面将进行较为详细的讲解。
并行性:是指两个或多个事件在同一时刻发生。
并发性:是指两个或多个事件在同一间隔时间内发生。
由于并发特行必然会涉及到进程与线程,所以概念在这里提出来。
**进程:**是指在系统中能够独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的。
**线程:**在引入线程的OS中,进程作为资源分配的基本单位,因此调度进程时付出的开销较大;线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效地提高系统内多个程序间并发执行的程度。线程的引入是现代操作系统的重要标志。
想了解进程、线程的可以看这里操作系统进程篇(详解进程相关概念及调度算法)。
指系统中的资源可供内存中多个并发执行的进程共同使用。
互斥共享方式:在一段时间内只允许一个进程(线程)访问该资源。把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源。
同时访问方式:系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。
通过某种技术把一个物理实体变为若干个逻辑上的对应物。
(1)时分复用技术
概念:时分复用技术即分时使用技术
**虚拟处理机技术:**在虚拟处理机技术中,利用多道程序设计技术,为每道程序建立一个进程,让多道程序并发地执行,以此来分时使用一台处理机。我们把用户所感觉到的处理机称为虚拟处理器。时分复用技术是利用 处理机的空闲时间来运行其它的程序,使处理机的利用率得以提高
**虚拟设备技术:**我们还可以通过虚拟设备技术,将一台物理 I/O 设备虚拟为多台逻辑上的 I/O 设备,并允许每个用户占用一台逻辑上的 I/O 设备,这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界 资源),变为在一段时间内允许多个用户同时访问的共享设备。
(2)空分复用技术
概念:利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率。
空分复用技术的实现:
**虚拟存储器技术:**空分复用则是利用存储器的空闲空间来存放其它的程序,以提高内存的利用率。但是,单纯的空分复用存储器只能提高内存的利用率,并不能实现在逻辑上扩大存储。而虚拟存储技术在本质上就是使内存分时复用。它可以使一道程序通过时分复用方式,在远小于它的内存空间中运行。 例如,一个 100 MB 的应用程序可以运行在 20 MB 的内存空间。器容量的功能,必须引入虚拟存储技术才能达到此目地。
概念:进程是以人们不可预知的速度向前推进的,此即进程的异步性。
通俗的理解:进程有可能慢、有可能快,不同的进程并行时可能一个快一个慢,也可能完全相反,即为异步。
处理器是完成运算和控制的设备。在多道程序运行时,每个程序都需要一个处理器,而一般计算机中只有一个处理器。操作系统的一个功能就是安排好处理器的使用权,也就是说,在每个时刻处理器分配给哪个程序使用是操作系统决定的。主要有以下四种功能:
计算机的内存中有成千上万个存储单元,都存放着程序和数据。何处存放哪个程序,何处存放哪个数据.都是由操作系统来统一安排与管理的。这是操作系统的存储功能。下面列出功能:
计算机系统中配有各种各样的外部设备。操作系统的设备管理功能采用统一管理模式,自动处理内存和设备间的数据传递,从而减轻用户为这些设备设计输入输出程序的负担。
缓冲管理:通过对缓存进行管理,提高系统吞吐量。
设备分配:根据用户请求,根据某种分配策略进行分配
设备处理:实现CPU和设备控制器之间的通信。
作业是指独立的、要求计算机完成的一个任务。操作系统的作业管理功能包括两点尸是在多道程序运行IC现货商时,使得备用户合理地共享计算机系统资源22是提供给操作人员一套控制命令用来控制程序的运行o
计算机系统中的程序或数据都要存放在相应存储介质上。为了便于管理,操作系统招相关的信息集中在一起,称为文件。操作系统的文件管理功能就是负责这些文件的存储、检索、更新、保护和共享
1)模块化程序设计技术的基本概念
该技术基于分解和模块化的原则来控制大型软件的复杂度
2)模块独立性
(1)内聚性:指模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越强
(2)耦合度:指模块间相互联系和相互影响的程度。耦合度越低,模块化独立性越好
3)模块接口法的优缺点
优点
(1)提高OS设计的正确性、可理解性和可维护性
(2)增强OS的可适应性
(3)加速OS的开发过程
缺点
(1)在设计的时候,对各个模块间的接口贵姓难以满足在模块设计完成后对接口的现实需求
(2)各个模块设计齐头并进造成决定的无序性
1)分层式结构的基本概念
在目标系统An和裸机系统A0之间,铺设若干个层次A1,A2,A3…的中间层。一般采用自底向上法来铺设中间层。
2)分层结构的优缺点
优点:
1.易保证系统的正确性
2.易扩充,易维护
缺点:
OS每执行一个功能需要自上而下穿过多个层次,会增加系统通信开销,从而降低了系统效率
诸如Linux微内核,都是通过使用一个小的内核作为系统核心,外面再包裹各种的中间件、软件,这样做的好处是提高了系统的灵活性、正确性、可扩展性、易维护性等等。有一定C语言基础的可以通过看Linux微内核源码进行自我体会。下载链接:Linux5.9.12.tar.xz。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。