1、操作系统是哪些
操作系统(OperatingSystem,OS)是控制应用程序执行和充当硬件系统和应用程序之间的界面的软件。
计算机系统由硬件和软件两部份组成。操作系统(OS,OperatingSystem)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展。它在计算机系统中抢占了非常重要的地位;
而其它的例如汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件,都将依赖于操作系统的支持,取得它的服务。操作系统已成为现代计算机系统(大、中、小及微型机)、多处理机系统、计算机网路、多媒体系统以及嵌入式系统中都必须配置的、最重要的系统软件。
1.1初步认识操作系统及其功能
当前比较流行的操作系统有:
操作系统具体能做哪些?毫无疑惑,我们都晓得的有运行程序、控制多个程序并发运行、管理系统资源、监控系统状态、提供图形化交互界面、存储文件,读取文件
进程管理
进程控制:创建、暂停、唤醒、撤销等;
进程调度:调度策略、优先级;
进程通讯:进程之间如何通讯。
设备管理
设备的分配和调度;
设备的无关性动作;
设备的传输控制;
设备的驱动管理
显存管理
显存分配;
显存共享;
显存保护;
虚拟显存——我们运行程序从来由于显存过小而失败,只会变慢、卡。
文件管理
储存的空间管理;
文件的操作;
目录的操作;
文件和目录的存取权限管理等
1.2操作系统的地位
2,为何须要操作系统
通常地说,在计算机硬件上配置的OS,其目标有以下几点:
1.有效性
在初期(20世纪50~60年代),因为计算机系统十分高昂,操作系统最重要的目标无疑是有效性。事实上,那时有效性是促使操作系统发展最主要的动力。操作系统的有效性可包含如下两方面的涵义:
资料直通车:最新Linux内核源码资料文档+视频资料
内核学习地址:Linux内核源码/显存调优/文件系统/进程管理/设备驱动/网路合同栈
2.便捷性
配置OS前者可使计算机系统更容易使用。一个未配置OS计算机系统是极难使用的,由于计算机硬件只能辨识0和1这样的机器代码。用户要直接在计算机硬件上运行自己所编撰的程序,就必须用机器语言书写程序;假如我们在计算机硬件上配置了OS,用户便可通过OS所提供的各类命令来使用计算机系统。例如嵌入式linux系统基本组成和开发流程图,用编译命令可便捷地把用户用中级语言书写的程序翻译成机器代码,大大地便捷了用户,进而使计算机显得易学易用。便捷性和有效性是设计操作系统时最重要的两个目标。
3.可扩展性
随着VLSI技术和计算机技术的迅速发展,计算机硬件和体系结构也急剧得到迅速发展,相应地,它们也对OS提出了更高的功能和性能要求。据悉,多处理机系统、计算机网路,非常是Internet的发展,又对OS提出了一系列更新的要求。为此,OS必须具有挺好的可扩展性,方能适应计算机硬件、体系结构以及应用发展的要求。这就是说,现代OS应采用新的OS结构,如微内核结构和顾客服务器模式,以易于便捷地降低新的功能和模块,并能更改老的功能和模块。
4.开放性
自20世纪80年代以来,因为计算机网路的迅速发展,非常是Internet的应用的日渐普及,使计算机操作系统的应用环境已由单机封闭环境转向开放的网路环境。为使来自不同厂家的计算机和设备能通过网路加以集成化,并能正确、有效地协同工作,实现应用的可移植性和互操作性,要求操作系统必须提供统一的开放环境,因而要求OS具有开放性。开放性是指系统能遵守世界标准规范,非常是遵照开放系统互连(OSI)国际标准。凡遵守国际标准所开发的硬件和软件,均能彼此兼容,可便捷地实现互连。开放性已成为20世纪90年代之后计算机技术的一个核心问题,也是一个新推出的系统或软件能够被广泛应用的至关重要的诱因。
硬件发展时代界定:
3,操作系统的发展史3.1手工操作时代
3.2单批道处理系统
3.3多批道处理系统
3.4分时技术和分时操作系统
分时系统实例
4,典型的操作系统
4.1微机操作系统
4.2实时操作系统
所谓“实时”,是表示“及时”,而实时系统(RealTimeSystem)是指系统能及时(或即时)响应外部风波的恳求,在规定的时间内完成对该风波的处理,并控制所有实时任务协调一致地运行。
1、需求:
尽管多道批处理系统和分时系统已能获得较为令人满意的资源借助率和响应时间,进而使计算机的应用范围日渐扩大,但它们依然不能满足以下个别应用领域的须要。
2、实时任务
在实时系统中必然存在着若干个实时任务,这种任务一般与某个(些)外部设备相关,能反应或控制相应的外部设备,因此带有某种程度的急迫性。可以从不同的角度对实时任务加以分类。
按任务执行时是否呈现周期性来界定
(1)周期性实时任务。外部设备周期性地发出激励讯号给计算机,要求它按指定周期循环执行,便于周期性地控制某外部设备。
(2)非周期性实时任务。外部设备所发出的激励讯号并无显著的周期性,但都必须联系着一个截至时间(Deadline)。它又可分为开始截至时间(某任务在某时间曾经必须开始执行)和完成截至时间(某任务在某时间曾经必须完成)两部份。
依据对截至时间的要求来界定
(1)硬实时任务(Hardreal-timeTask)。系统必须满足任务对截至时间的要求,否则可能出现无法预测的结果。
(2)软实时任务(Softreal-timeTask)。它也联系着一个截至时间,但并不严格,若时常错过了任务的截至时间,对系统形成的影响也不会太大。
3、实时系统与分时系统特点的比较
实时系统有着与分时系统相像但并不完全相同的特征,下边从五个方面对这两种系统
加以比较。
(1)多路性。实时信息处理系统也按分时原则为多个终端用户服务。实时控制系统得多路性则主要表现在系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。而分时系统中的多路性则与用户情况有关,时多时少。
(2)独立性。实时信息处理系统中的每位终端用户在向实时系统提出服务恳求时,是彼此独立地操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。
(3)及时性。实时信息处理系统对实时性的要求与分时系统类似,都是所有人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截至时间为准完成截至时间来确定的,通常为秒级到纳秒级,甚至有的要高于100毫秒。
(4)交互性。实时信息处理系统似乎也具有交互性,但这儿人与系统的交互仅限于访问系统中个别特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。
(5)可靠性。分时系统似乎也要求系统可靠,但相比之下,实时系统则要求系统更高度的可靠性。由于任何差错都可能带来巨大的经济损失,甚至是难以预想的灾难性后果,所以在实时系统中,常常都采取了多级容错举措来保障系统的安全性及数据的安全性。
4.3嵌入式系统
4.4网路系统
5,操作系统的功能
4.1、OS作为用户与计算机硬件系统之间的插口
OS作为用户与计算机硬件系统之间插口的涵义是:OS处于用户与计算机硬件系统之间间,用户通过OS来使用计算机系统。或则说,用户在OS帮助下,才能便捷、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。应注意,OS是一个系统软件,因此这些插口是软件插口。图1-1是OS作为插口的示意图。由图可看出,用户可通过以下三种形式使用计算机。
1、命令形式。这是指由OS提供了一组联机命令插口,以容许用户通过鼠标输入有关命令来取得操作系统的服务,并控制用户程序的运行。
2、系统调用方法。OS提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用,来实现与操作系统的通讯,并取得它的服务。
3、图形、窗口等方法。这是当前使用最为便捷、最为广泛的插口,它容许用户通过屏幕上的窗口和图标来实现与操作系统的通讯,并取得它的服务。
4.2、OS作为计算机系统资源的管理者
在一个计算机系统中,一般都富含各类各样的硬件和软件资源。归纳上去可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。相应地,OS的主要功能也正是针对这四类资源进行有效的管理,即:
处理机管理,用于分配和控制处理机;
储存器管理,主要负责显存的分配与回收;
I/O设备管理,负责I/O设备的分配与操纵;
文件管理,负责文件的存取、共享和保护。
可见,OS的确是计算机系统资源的管理者。事实上,现今世界上广为流行的一个关于OS作用的观点,正是把OS作为计算机系统的资源管理者。值得进一步说明的是红旗linux安装,当一个计算机系统同时供多个用户使用时,用户对系统中共享资源的需求(包括数目和时间)可能发生冲突,为了管理好这种共享资源(包括硬件和信息)的使用,操作系统必须记录下各类资源的使用情况,对使用资源的恳求进行授权,协调诸用户对共享资源的使用,防止发生冲突,并估算使用资源的费用等
4.3、OS实现了对计算机资源的具象
对于一个完全无软件的计算机系统(即裸机),它向用户提供的是实际硬件插口(化学插口),用户必须对化学插口的实现细节有充分的了解,并借助机器指令进行编程,因而该化学机器必将是无法使用的。为了便捷用户使用I/O设备,人们在裸机上覆盖上一层I/O设备管理软件,如图1-2所示,由它来实现对I/O设备操作的细节,并向下提供一组I/O操作命令,如Read和Write命令,用户可借助它来进行数据输入或输出,而无需关心I/O是怎样实现的。
6、操作系统的基本特点6.1、并发性
并发性是指同一时间间隔内发生两个或多个风波。并行性是指同一时刻内发生两个或多个风波
1.并行与并发:并行性和并发性(Concurrence)是既相像又有区别的两个概念,并行性是指两个或多个风波在同一时刻发生;而并发性是指两个或多个风波在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中每一时刻却仅能有一道程序执行,故微观上这种程序只能是分时地交替执行。即使在计算机系统中有多个处理机,则这种可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即借助每位处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。
2.引入进程:应该强调,一般的程序是静态实体(PassiveEntity),在多道程序系统中,它们是不能独立运行的,更不能和其它程序并发执行。在操作系统中引入进程的目的,就是为了使多个程序能并发执行。比如,在一个未引入进程的系统中,在属于同一个应用程序的估算程序和I/O程序之间,三者只能是次序执行,即只有在估算程序执行告一段落后,才准许I/O程序执行;反之,该程序执行I/O操作时嵌入式linux系统基本组成和开发流程图,估算程序也不能执行,这意味着处理机处于空闲状态。但在引入进程后,若分别为估算程序和I/O程序各构建一个进程,则这两个进程便可并发执行。因为在系统中具备估算程序和I/O程序同时运行的硬件条件,因此可将系统中的CPU和I/O设备同时开动上去,实现并行工作,因而有效地提升了系统资源的借助率和系统吞吐量,并改善了系统的性能。引入进程的益处远不止于此,事实上可以在显存中储存多个用户程序,分别为它们构建进程后,这种进程可以并发执行,借以实现上面所说的多道程序运行。这样便能极大地增强系统资源的借助率,降低系统的吞吐量。为使多个程序能并发执行,系统必须分别为每位程序构建进程(Process)。简单说来,进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。一个进程在运行时须要一定的资源,如CPU、存储空间及I/O设备等。OS中程序的并发执行将使系统复杂化,因而在系统中必须增设若干新的功能模块,分别用于对处理机、内存、I/O设备以及文件系统等资源进行管理,并控制系统中所有作业的运行。事实上,进程和并发是现代操作系统中最重要的基本概念,也是操作系统运行的基础
3.引入线程:常年以来,进程都是操作系统中可以拥有资源并作为独立运行的基本单位。当一个进程因故不能继续运行时,操作系统便调度另一个进程运行。因为进程拥有自己的资源,故使调度付出的开支较大。直至20世纪80年代中期,人们才又提出了比进程更小的单位——线程(Threads)。一般在一个进程中可以包含若干个线程,它们可以借助进程所拥有的资源。在引入线程的OS中,一般都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。因为线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开支都会小得多,能更高效地增强系统内多个程序间并发执行的程度。因此近些年来推出的通用操作系统都引入了线程,便于进一步提升系统的并发性,并把它视作现代操作系统的一个重要雪铁龙。
6.2、共享性
在操作系统环境下,所谓共享(Sharing),是指系统中的资源可供显存中多个并发执行的进程(线程)共同使用,相应地,把这些资源共同使用称为资源共享,或称为资源复用。因为各类资源的属性不同,进程对资源复用的方法也不同,目前主要实现资源共享的方法有如下两种。
1.互斥共享方法:系统中的个别资源,如复印机、磁带机,尽管它们可以提供给多个进程(线程)使用,但为使所复印或记录的结果不致引起混淆,应规定在一段时间内只容许一个进程(线程)访问该资源。因此,系统中应构建一种机制,以保证对这类资源的互斥访问。当一个进程A要访问某资源时linux系统iso下载,必须先提出恳求。若果此时该资源空闲,系统便可将之分配给恳求进程A使用。随后若再有其它进程也要访问该资源时(只要A未用完),则必须等待。仅当A进程访问完并释放该资源后,才准许另一方进程对该资源进行访问。我们把这些资源共享方法称为互斥式共享,而把在一段时间内只容许一个进程访问的资源称为临界资源或独占资源。计算机系统中的大多数化学设备,以及个别软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。因此,在系统中必须配置某种机制来保证诸进程互斥地使用独占资源。
2.同时访问方法:系统中还有另一类资源,容许在一段时间内由多个进程“同时”对它们进行访问。这儿所谓的“同时”,在单处理机环境下常常是宏观上的,而在微观上,这种进程可能是交替地对该资源进行访问。典型的可供多个进程“同时”访问的资源是c盘设备,一些用重入码编撰的文件也可以被“同时”共享,即若干个用户同时访问该文件。并发和共享是操作系统的两个最基本的特点,它们又是互为存在的条件。一方面,资源共享是以程序(进程)的并发执行为条件的,若系统不容许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享施行有效管理,协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本没法并发执行。
6.3、虚拟技术
操作系统中的所谓“虚拟”(Virtual),是指通过某种技术把一个数学实体变为若干个逻辑上的对应物。数学实体(后者)是实的,即实际存在的,而前者是虚的,仅是用户觉得上的东西。相应地,用于实现拟的技术称为虚拟技术。在操作系统中借助了两种形式实现虚拟技术,即时分复用技术和空分复用技术。
1、时分复用技术
时分复用,亦称分时使用方法,它最早用于联通业中。为了提升信道的借助率,人们借助时分复用方法,将一条数学信道虚拟为多条逻辑信道,将每条信道供一对用户通话。在计算机领域中,广泛借助该技术来实现虚拟处理机、虚拟设备等,以提升资源的借助率。
虚拟处理机技术
虚拟设备技术
2.空分复用技术
早在上世纪初,联通业中就使用频分复用技术来增强信道的借助率。它是将一个频度范围十分宽的信道,界定成多个频度范围较窄的信道,其中的任何一个频道都只供一对用户通话。初期的频分复用只能将一条数学信道界定为十几条到几十条话路,后来又很快发展成上万条话路,每条话路也只供一对用户通话。以后,在计算机中也使用了空分复用技术来增强储存空间的借助率。
虚拟磁盘技术
虚拟存储器技术
应该注重强调:假如虚拟的实现是通过时分复用的方式来实现的,即对某一化学设备进行分时使用,设N是某化学设备所对应的虚拟的逻辑设备数,则每台虚拟设备的平均速率必然等于或高于化学设备速率的1/N。类似地,假若是借助空分复用方式来实现虚拟,此时一台虚拟设备平均占用的空间必然也等于或高于化学设备所拥有空间的1/N。
6.4、异步性
在多道程序环境下允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。在单处理机环境下,因为系统中只有一台处理机,因此每次只容许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如复印恳求,而此时复印机正在为其它某进程复印,因为打印机属于临界资源,因而正在执行的进程必须等待,且舍弃处理机,直至复印机空闲,并再度把处理机分配给该进程时,该进程方能继续执行。可见,因为资源等诱因的限制,使进程的执行一般都不是“一气呵成”,而是以“停停走走”的形式运行。
显存中的每位进程在何时能获得处理机运行,何时又因提出某种资源恳求而暂停,以及进程以如何的速率往前推动,每道程序总共需多少时间才会完成,等等,这种都是不可预知的。因为各用户程序性能的不同,例如,有的注重于估算而较少须要I/O,而有的程序其估算少而I/O多,这样,很可能是先步入显存的作业后完成,而后步入显存的作业先完成。或则说,进程是以人们不可预知的速率往前推动,此即进程的异步性(Asynchronism)。虽然这么,但只要在操作系统中配置有建立的进程同步机制,且运行环境相同,作业经多次运行就会获得完全相同的结果。因而,异步运行方法是容许的,并且是操作系统的一个重要特点。