第一节:操作系统的概念
一、计算机系统
计算机系统是一种可以按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统
广义的计算机系统包含 机械式系统 和 电子式系统 两类。
在电子式系统中,还可以划分为模拟式 和 数学式 两种计算机系统。
我们在这里讨论的是 数字电子计算机系统,简称计算机系统。
计算机系统包括 硬件(子)系统 和 软件(子)系统
硬件系统: 是计算机系统赖以工作的实体。
软件系统: 保证计算机系统按用户指定的要求协调工作(灵魂)。
计算机系统的资源包括两大类:硬件资源 和 软件资源
计算机硬件系统:
中央处理器(CPU = 运算器 + 控制器)
内存储器(主存)
外存储器(磁盘、磁带等)
输入输出设备(键盘、鼠标、显示器、、打印机等)
软件系统= 程序+数据:
应用软件:文字处理、、图形图像处理、科学计算等
支撑软件:数据库、网络、多媒体
系统软件:操作系统、编译程序
二、操作系统的定义
操作系统是计算机系统重的一个系统软件,他是这样一些程序模块的集合:
它们能有效的组织和管理计算机系统中的的硬件及软件资源,合理的组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,并使整个计算机系统高效的运行。
三、操作系统的特征
1.并发性 与 并行性
并发性 是指在计算机系统中同时存在若干个运行着的程序,从宏观上看,这些程序在同时向前推进。
计算机程序的并发性体现在如下具体的两个方面:
1).用户程序 与 用户程序之间并发执行。
2).用户程序 与 操作系统程序之间并发执行。
两个相似的概念:并行性与并发性
并行性 是指两个或者多个事件在同一时刻发生,这是一个具有微观意义的概念,既在物理上这些事件是同时发生的。
而并发性 是指两个或者多个事件在同一时间间隔内发生,它是一个较为宏观的概念,与所使用的时间间隔相对应的、有某种程度的统计意义。
2.共享性
共享性 是指操作系统程序 与 多个用户程序共用系统中的各种资源。这种共享性是在操作系统控制下实现的。
资源的共享性 主要针对计算机系统中的如下几项重要资源。
1) 中央处理器
2) 内存储器
3) 外存储器
4) 外部设备
PS:所有的硬件资源
资源的共享一般有两种形式:互斥共享 和 同时共享
3.虚拟性
虚拟性 是一种管理技术,该技术把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物。
4.异步性
操作系统的运行是在一种随机的环境下进行的,这种随机环境的含义是,操作系统不能对所运行的程序的行为以及硬件设备的情况做出任何事先的假定。
随机性并不意味着操作系统不能很好的控制资源的使用和程序的运行,随机性突出强调了在进行操作系统的设计与实现时要充分考虑各种各样的可能性。
操作系统本身应该稳定、可靠、安全、高效、实现程序并发和资源共享的目的。
四、研究操作系统的观点
1、软件的观点
从软件的观点来看,操作系统是一种大型软件系统,它是多种功能程序的集合。
作为一种大型软件系统,操作系统有软件的外在特性和内在特性。
1)外在特性 是指,操作系统是一种软件,它的外部表现形式。
2)内在特性 是指,操作系统既然是一种软件,它就具有一般软件的结构特点。
2、资源管理的观点
在计算机系统中的硬件和软件资源可分为以下几部分:
中央处理器(CPU)
存储器(内存和外存)
外部设备和信息(文件)
3、进程的观点
用进程的观点,则把操作系统看作由多个可以同时独立运行的程序和一个对这些程序进行协调的核心所组成。
4、虚拟机器的观点
虚拟机器的观点是用系统功能分解的角度出发,考虑操作系统的结构。
5、服务提供者的观点
从用户的角度,站在操作系统之外观察操作系统,则可以认为该服务提供者为用户提供了比裸机功能更强、服务质量更高、更方便的灵活的虚拟机器。
为了用户使用上的便利,该服务提供者提供了一组功能强大的、方便、易用的广义指令(称为系统调用)。
五、操作系统的功能
1、进程管理(处理器管理)
进程管理的主要内容:
(1)进程控制:创建进程时资源分配,进程退出回收资源。控制进程的状态。
(2)进程同步:多个进程并发执行,用同步或互斥的方式实现同步机制。
(3)进程间通信:相互协作的进程之间交换数据和消息。
(4)调度:既处理器调度。包括线程调度、进程调度、作业调度。
2、存储管理
存储管理的任务是管理计算机内存的资源。存储管理有三个方面的任务。
(1)内存的分配与回收:当多个程序共享有限的内存资源时、要考虑如何为多个程序分配有限的内存空间。
(2)存储保护:存储在内存中的多个程序和数据应该彼此隔离、互不侵扰。
(3)内存扩充:解决内存扩充的问题,既将内存和外存结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。
3、文件管理
在计算机系统中的信息资源(如程序和数据)是以文件的形式存储在外存储器(如磁盘、磁带等)上的,需要时再把它们装入内存。
(1)文件存储空间管理
(2)目录管理
(3)文件系统的安全性
4、设备管理
由操作系统的设备管理功能负责外部设备的分配、启动和故障处理,用户不必详细了解设备及接口的技术细节,就可以方便的通过操作系统提供的设备管理手段,对设备进行操作。
5、用户接口
除了上述功能之外,操作系统还应该向用户提供使用它自己的手段,这就是用户与计算机系统之间的接口。
(1)命令接口
(2)应用程序接口
第二节:操作系统的发展
一、操作系统的发展历史
第一代:电子管时代 1946年 ~ 1957年
第二代:晶体管时代 1958年 ~ 1964年
第三代:集成电路时代 1965年 ~ 1970年
第四代:大规模/超大规模集成电路时代 1971年 ~ 至今
二、不同时期的操作系统
1.手工操作:
二战时期对武器装备设计的需要,美国、英国和德国等国家,陆续开始使用真空管建造数字电子计算机。通过在插板上的硬连线控制计算机的基本功能,程序设计全部采用机器语言,没有程序设计语言(甚至没有汇编语言)。20世纪50年代早期,出现穿孔卡片,可以将程序写在卡片上,此阶段特点是手工操作、独占方式。
2.监控程序(早期批处理):
50年代晶体管的发明后,出现了FORTRAN、ALGOL以及C0B0L等高级语言要运行一个作业(J0B),程序员首先将程序写在纸上,穿孔成卡片,将卡片盒带到输入室交给操作员,计算结果从打印机上输出,操作员到打印机上取下运算结果并送到输出室,程序员取到结果。由于处理器速度提高,导致手工操作设备输入/输出信息与计算机计算速度不匹配 人们设计了监督程序(或管理程序),来实现作业的自动转换处理。操作员将作业“成批”地输入到计算机中,由监督程序识别一个作业,进行处理后再取下一个作业。这种自动定序的处理方式称为“批处理(Batch Processing)”方式,由于是串行执行作业,因此称为单道批处理。
3.多道批处理:
进入第三代计算机以后,硬件有了很大发展,通道使得输入/输出操作与CPU操作并行处理成为可能。与此同时软件系统也随之相应变化,实现了在硬件提供并行处理之上的多道程序设计。
所谓多道是指它允许多个程序同时存在于主存之中,由中央处理器以切换方式为之服务,使得多个程序可以同时执行。计算机资源不再是“串行”地被一个个用户独占,而可以同时为几个用户共享,从而极大地提高了系统在单位时间内处理作业的能力。这时管理程序已迅速地发展成为一个重要的软件分支--操作系统。
4.分时与实时操作系统:
批处理系统不适合交互式的作业,对交互式工作方式的需求导致了分时系统(Time Sharing System)的出现。分时系统是指多个用户通过终端设备与计算机交互作用来运行自己的作业,并且共享一个计算机系统而互不干扰。由于调试程序的用户常常只发出简短的命令(如编译一个五页的源文件),而很少有长的费时命令(如上百万条记录的文件排序),所以计算机能够为许多用户提供交互式快速的服务,同时在CPU空闲时还能运行大的后台作业。
5.Unix通用操作系统:
20世纪60年代末,贝尔实验室的Ken Thompson和Dennis M.Ritchie设计了UNIX操作系统,以下是UNIX的特点:
①.用C语言编写,可移植
②.世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统系统源代码非常有效,系统容易适应特殊的需求
③.良好的、通用的、多用户、多任务、分时操作系统
④.树形文件系统和一定的安全机制
⑤.简洁的字符流文件和文件保护机制
⑥.具备功能强大的shell,它既是命令解释器,又是编程用高级语言,可用于扩充系统的功能
6.个人计算机操作系统:
20世纪70年代未期出现了面向个人计算机的操作系统,例如微软公司的MS DOS操作系统,属于单用户单任务操作系统。
1984年,苹果推出交互式图形功能的操作系统
1992年,微软推出交互式图形功能的Windows3.1
1995年,Windows 95出现,Windows成为个人计算机主流操作系统
1991年,Linus公布Linux操作系统,继承UNIX全部优点,开放源码,Linux极其健壮
7.当代操作系统的两大发展方向:宏观应用 与 微观应用
大型系统:分布式操作系统、机群操作系统
微型系统:嵌入式操作系统
第三节:操作系统分类
一、批处理操作系统
1、基本工作方式
收到一定数量的用户作业后,组成一批作业,输入到计算机,在系统中形成一个连续的,自动转接的作业流。
2、特点与分类
优点: 成批处理、系统资源利用率高、作业吞吐率高、作业流程自动化较高、作业吞吐量大。
缺点: 用户不能直接与计算机交互,不适合调试程序。
分类: 简单批处理系统 和 多道批处理系统。
3、设计思想
简单批处理系统在操作系统发展早期出现,被称为早期批处理系统,或监控程序。在监控程序启动前,操作员有选择地把若干作业合并成一批作业,将这批作业安装在输入设备上。然后启动监控程序,监控程序将自动控制这批作业的执行,作业的运行以及作业之间的衔接都由监控程序自动控制,有效地提高了作业运行的效率。
4、作业控制说明书
在简单批处理系统中,作业的运行步骤是由作业控制说明书传递给监控程序。作业控制说明书是由作业控制语言编写的一段程序,通常存放在被处理作业前面。在运行过程中,监控程序读入并解释作业控制说明书中的语句,以控制各个作业步的执行。
5、SPOOLing技术
为了提高硬件资源的利用率,批处理系统发展为更加高级的多道批处理系统,关键技术就是多道程序运行、假脱机(SP00Ling)技术等。
假脱机技术,全称是“同时的外部设备联机操作”,借助硬件通道技术,实现了输入输出操作和处理器动作的自动并行处理。通道是指专门用来控制输入输出的硬件设备,可以看作是专门的1/0处理机。通道基本上是自主控制外设的,可以与CPU并行工作。假脱机技术为实现多道批处理系统中的多道程序设计思想提供了重要的基础。
二、分时操作系统
分时操作系统出现在批处理操作系统之后,弥补批处理方式不能向用户提供交互式快速服务的缺点。
1、基本工作方式
用户通过终端交互式地向系统提出命令请求,系统接受用户的命令之后,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据系统送回的处理结果发出下一道交互命令。
2、设计思想
将CPU的时间划分成若干个小片段,称时间片。操作系统以时间片为单位,轮流为每个终端用户服务。
3、特点
分时操作系统具有多路性、交互性、独占性和及时性的特点:
多路性:指有多个用户在同时使用一台计算机
交互性:指用户根据系统响应的结果提出下一个请求,用户直接干预操作每一步的进行
独占性:指每个用户感觉不到计算机为其他人服务
及时性:指系统能够对用户提出的请求及时给予响应
通用操作系统结合了分时系统与批处理系统两种系统的特点。
对于分时与批处理的处理原则是:分时优先,批处理在后。在通用操作系统中,一般把系统的分时和批处理运行状态称为前台和后台在系统的“前台”响应需频繁交互的作业,如大量终端的处理要求;而“后台”则处理处理对时间性要求不强的作业
三、实时操作系统
实时操作系统(RT0S:Real Time 0perating System): 在规定时间内,及时响应外部事件请求,完成事件处理,控制实时设备和实时任务协调一致工作
分类:
①硬实时: 对关键事件的响应和处理时间严格要求,否则产生严重后果
②软实时: 对事件响应和处理时间有一定要求,不满足要求会影响服务质量,但不会引发严重后果
实时系统为实现硬实时或软实时的要求,需要具备以下能力:
(1)实时时钟管理
实时任务根据时间要求可以分为两类:
定时任务,它依据用户的定时启动并按照严格的时间间隔重复运行
延时任务,它非周期地运行,允许被延后执行,但是往往有一个严格的时间界限
依据任务功能的不同,可分为主动式任务和从动式任务:
主动式任务依据时间间隔主动运行,多用于实时监控
从动式任务依赖于外部事件的发生
(2)过载防护
实时任务的启动时间和数量具有很大的随机性,突发的大量实时任务极有可能超出系统的处理能力,从而发生过载。实时系统在出现过载现象时,要有能力迅速分析判断并找出最重要的实时任务,通过抛弃或者延后次要任务以保证最重要任务成功执行。
(3)高可靠性
高可靠性是实时系统的设计目标之一,实时操作系统需要有很强的健壮性和坚固性
四、个人计算机操作系统
个人计算机操作系统(Personal Computer 0perating System)是一种单用户的操作系统
个人计算机操作系统的主要特点:
①计算机在某一时间内为单个用户服务
②采用图形界面人机交互的工作方式,界面友好
③使用简单方便
五、网络操作系统
网络操作系统(Netwc;k 0perating System)是基于计算机网络的、在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件。
计算机网络的不同模式
1、集中式模式:
运算处理在主计算机里发生,终端仅作为输入/输出设备使用,通过连接两台或更多主机的方式构成计算机网络
2、分布式模式:
每台计算机都有运算处理能力,多台计算机通过网络交换数据并共享资源和服务。在分布式模式中,网络环境中的计算机不仅能共享数据、资源及服务,还能够共享运算处理能力
六、分布式操作系统
分布式系统(Distributed System)将大量的计算机通过网络连结在一起,获得极高的运算能力及广泛的数据共享
分布式操作系统(Distributed 0perating System)是网络操作系统的更高级形式,分布式操作系统除了保持了网络操作系统的各种功能之外,还具备如下的特征:
(1)系统中的所有主机使用统一的操作系统
(2)资源深度共享。通过统一的操作系统的调度,在某台主机的一个计算任务可以迁移到另一台主机上执行
(3)透明性。用户不知道分布式系统运行在多少台计算机上,各个主机地理位置上的差异对用户透明
(4)自治性。各个主机之间没有主从关系,一个主机的失效一般不会影响整个分布式系统
分布式系统把系统中的所有计算机构成一个完整的、功能更加强大的计算机系统,系统中的计算机相互协作,共同完成一个大型计算任务,一个计算任务可分解成若干可以并行执行的子任务,每个子任务分别在不同的计算机上执行。
分布式系统的优点:
①分布式。以较低的成本获得较高的运算性能
②可靠性。当一个计算机系统发生故障时,整个分布式系统仍旧能够工作。适用于高可靠的环境
机群(cluster):
是分布式系统的一种,一个机群通常由一群处理器密集构成,机群操作系统专门服务于这样的机群。在机群操作系统的指挥下,可以用低成本的微型计算机和以太网设备等产品,构造出性能相当于超级计算机运算性能的机群。
七、嵌入式操作系统
嵌入式操作系统用于工业控制、交通管理、信息家电等嵌入式系统,设计紧凑、高效,只保留运行在其上的特定应用程序所需要的功能。
嵌入式操作系统的特点:
(1)系统内核小。由于资源有限,嵌入式操作系统的内核要比传统的操作系统小得多
(2)专业性强。与硬件紧密结合,针对不同的任务和设备进行定制和移植,不能通用
(3)系统精简。不需要过于复杂的功能设计和实现,降低系统成本和提高系统安全性
(4)高实时性。能够及时响应外部事件和中断,保证任务的执行顺序和完成时间
(5)多任务的操作系统。能够支持多任务的调度和管理,合理地分配和利用系统资源
八、其他类型操作系统
(1)大型机操作系统,能够处理海量的数据和事务,提供高度的安全性、可靠性和可伸缩性通常用于银行、政府、保险等行业
(2)服务器操作系统,支持多个用户和多个任务,提供网络服务和资料共享。具有高效的内存管理、文件系统和安全机制,通常用于互联网、企业等领域
(3)多处理操作系统,利用多个处理器并行执行多个任务,提高性能和吞吐量。具有复杂的调度算法、同步机制和通信协议,通常用于科学计算、图形处理等领域
(4)移动计算操作系统,支持移动通信、定位、传感等功能,提供用户友好的界面和应用。具有低功耗、小内存占用和高可移植性,通常用于智能手机、平板电脑等设备
(5)传感器节点操作系统,支持传感器数据采集、处理和传输,提供无线网络和自组织能力。具有极低的资源需求、高度的可配置性和实时性,通常用于物联网、环境监测等领域
(6)智能卡操作系统,支持智能卡的存储、计算和安全功能,提供身份认证和支付服务。具有高度的安全性、稳定性和兼容性,通常用于金融、交通等领域
第四节:操作系统设计
一、操作系统设计难点
操作系统设计过程的主要困难:
1、设计复杂程度高
程序长、接口信息多、动态性强、并行性强,不同部分之间可以同时操作
2、正确性难以保证
操作系统包含很多功能成份,各种外部设备的接口复杂,导致操作系统源代码的正确性较难以保证。操作系统的正确性依靠软件工程的规范来保证
3、研制周期长
一般的软件研制开发周期包括:
需求分析,用户提供软件的需求,并根据需求制作软件规格说明书
设计者根据软件规格说明书进行软件设计
实现者编写程序,调试、测试并整理各种开发文档,提交给用户使用,在应用的过程中不断改进和提高软件的品质
二、操作系统的设计过程
操作系统的设计过程可分为三个部分:功能设计、算法设计和结构设计。操作系统的三方面设计是互相渗透的,不能截然分开
1、功能设计
功能设计指根据系统的设计目标和使用要求,确定所设计的操作系统应具备哪些功能,以及操作系统的类型。
2、算法设计
算法设计是根据计算机的性能和操作系统的功能,选择和设计满足系统功能的算法和策略并分析和估算其效能。
3、结构设计
结构设计是按照系统的功能和特性要求,选择合适的结构,使用相应结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简明、可靠、易读、易修改,而且使用方便适应性强。
三、操作系统设计目标
一个高质量的操作系统应具有可靠性、高效性、易维护性、易移植性、安全性和简明性等特征。
1、可靠性
可靠性包括正确性和健壮性。正确性受并发、共享以及随之带来的不确定性影响,要求系统能动态地应付随时发生的各种内部和外部事件
2、高效性
提高系统中各种资源的利用率
3、易维护性
易维护性包括易读性、易扩充性、易剪裁性、易修改性等含义。
4、可移植性
可移植性指,把一个程序系统从一个计算机系统环境中移到另一个计算机系统环境中并能正常运行的特性
5、安全性
操作系统的安全性是整个计算机系统安全性的基础,为保护用户的程序和数据提供了最基本的安全机制。
四、操作系统结构设计
1、操作系统结构设计的重要性
早期操作系统:结构简单,规模小,逻辑关系简单,只注重功能设计和效率,忽视结构设计随计算机结构复杂化,应用范围扩大,要求提高,需要较强的功能、可适应性和可靠性。
2、操作系统结构研究的目标
(1)系统模块化
将模块看做一组数据结构以及定义在其上的一组操作
(2)模块标准化
①标准设计,模块规格划一,遵循相同模块构造准则和模块(构件)标准
②总结、提炼基本成份并定型化
(3)通信规范化
模块之间接口清晰划一,联系方式统一
五、操作系统结构的体系结构
1、整体式结构
首先确定操作系统的总体功能,将总功能分解为若干个子功能,实现每个子功能的程序称为模块。按照功能将每个大模块分解为若干个较小的模块,直至每个模块仅包含单一功能或紧密联系的小功能为止,通过接口将所有模块连接起来形成一个整体,称之为块组合结构。
模块组合法的优点:
1). 结构紧密,接口简单直接,系统效率较高
2). 系统中的模块不是根据程序和数据本身的特性而是根据它们完成的功能来划分的,数据基本上作为全程量使用
3). 不同模块的程序之间可以不加控制地互相调用和转移,信息的传递方式也可以根据需要随意约定,因而可能造成模块间的循环调用
模块组合法的缺点:
1)模块间转接随意,各模块互相牵连,独立性差,系统结构不清晰
2)数据基本上作为全程量处理,系统内所有模块的任一程序均可对其进行存取和修改,从而造成了各模块间有着更为隐蔽的关系,要更换一个模块或修改一个模块都比较困难
3)模块组合结构常以大型表格为中心,为保证数据完整性,往往采用全局封中断办法,从而限制了系统的并发性
2、层次式结构
层次式结构力求使模块间调用的无序性变为有序性。把操作系统的所有功能模块,按功能流图的调用次序,分别将这些模块排列成若干层,各层之间的模块只能是单向依赖或单向调用关系,结构清晰,且不构成循环
层次式结构的优点:
各模块之间的组织结构和依赖关系清晰明了。增加了系统的可读性和可适应性,每一步都建立在可靠的基础上,只要下层的各模块设计是正确的,就为上层功能模块的设计提供了可靠基础从而增加了系统的可靠性
对操作系统增加或替换掉一层而不影响其他层次。层次结构法设计的操作系统具有易于调试、易于修改、易于扩充、易于维护、易于保证正确性等优点
模块放在哪一层,共有多少层,依据功能流图和数据流图分层,原则如下:
(1)为增加可适应性,方便移植,把与机器特点紧密相关的软件,如中断处理、输入输出管理等放在紧靠硬件的最低层。为便于修改移植,把与硬件有关和与硬件无关的模块截然分开,把与硬件有关的BI0S(管理输入输出设备)放在最内层。当硬件环境改变时只需修改这一层
(2)为便于一种操作方式转变到另一种操作方式,把共同使用的基本部分放在内层,把改变部分放在外层
(3)为给进程提供环境和条件,系统调用的各功能,为进程提供服务,这些功能构成操作系统内核,放在系统内层
3、微内核(客户/服务器)结构
客户/服务器结构的操作系统适于应用在网络环境下分布式处理的计算环境中,又称为微内核体系结构,特点如下:
(1)运行在内核态的内核: 内核提供所有操作系统都具有的操作,如线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和中断处理等
(2)运行在用户态的并以客户/服务器方式运行的进程层: 除内核部分外,操作系统所有的其他部分被分成若干个相对独立的进程,每一个进程实现一组服务,称为服务进程。这些服务进程可以提供各种系统功能、文件系统服务以及网络服务等。服务进程的任务是检查是否有客户机提出要求服务的请求,并在满足客户机进程的请求后将结果返回
优点:分成若干小的自包含分支(服务进程),分支运行在独立进程中,通过规范一致方式收发消息。内核中建立最小机制,策略留给服务进程,灵活性强
(1)可靠:分支独立自包含,某个服务器失败,不会引起其他服务器崩溃
(2)灵活:便于新功能,接口规范,修改服务器代码不影响系统其他部分,可维护性好
(3)适于分布式处理环境:不同服务运行在不同计算机上,具有分布式处理能力缺点:只能通过微内核通信,通信频繁时,效率低
4、外核结构
外核结构(Exokernel)是一种操作系统结构。在这种结构中,内核负责的主要工作仅仅为简单的申请操作以及释放和复用硬件资源,其由以往操作系统提供的抽象全部在用户空间中运行。这种方式实现了应用级资源管理,即由应用程序而不是操作系统管理硬件资源
5、典型实例
1). Unix
Unix是一种多用户、多任务的操作系统,具有很强的可移植性和开放性。它采用分层结构内核负责管理硬件资源,提供系统调用接口给上层应用程序
2). Linux
Linux是一种类似于Unix的操作系统,它采用了模块化的设计方法,内核负责硬件驱动、进程调度、内存管理等基本功能,而其他功能则通过模块化的方式实现
3). Windows
Windows是微软公司推出的一种操作系统,它采用了混合内核结构,内核负责硬件驱动进程调度、内存管理等基本功能,同时也提供了图形用户界面和丰富的应用程序接口
4). Android
Android是谷歌公司推出的一种基于Linux内核的移动操作系统,它采用虚拟机技术来运行应用程序,并提供了丰富的应用程序接口和开发工具
5). 鸿蒙操作系统
鸿蒙操作系统(Harmony0s)是华为推出的一款面向万物互联的全场景分布式操作系统支持手机、平板、智能穿戴、智慧屏等多种终端设备运行,提供应用开发、设备开发的一站式服务的平台。它采用微内核设计,仅包括了操作系统必要的功能模块(任务管理、内存分配等)
6). 0penEuler操作系统:
0penEuler是开放原子开源基金会(0penAtom Foundation)孵化及运营的开源项目。0penEuler是一款面向数字基础设施的操作系统,支持服务器、云计算、边缘计算、嵌入式等应用场景,支持多样性计算,致力于提供安全、稳定、易用的操作系统
7). 银河麒麟操作系统:
银河麒麟是由天津麒麟信息技术有限公司开发和维护的一款国产操作系统。它支持以x86、x86 64、PowerPC、SPARC为代表的国际主流CPU和以飞腾为代表的国产CPU,并已经广泛应用于国防、军工、政务、电力、航天、金融、电信、教育、大中型企业等行业或领域
第五节:操作系统启动
一、引导方式
(1)BI0S引导。BI0S是存储在B10S芯片中的程序,当计算机启动时,BI0S会执行硬件自检并初始化硬件配置,后根据CM0S中用户指定的硬件启动顺序,读取相应设备的启动或引导记录,引导相应设备上的操作系统启动
(2)UEIF引导。UEFI是一种新型的固件接口,采用模块化、高级语言(主要是C语言)构建的一个小型化系统,直接利用加载EFI驱动的方式,识别系统硬件并完成硬件初始化
二、操作系统的引导过程
1.计算机开机,BI0S自检并检测第一个能够引导系统的设备,如硬盘或光驱
2.运行MBR扇区的启动程序,如GRUB引导程序
3.GRUB引导程序读取配置文件获取内核和镜像文件系统的设置以及路径位置
4.内核和镜像文件系统加载到内存
5.加载硬件驱动程序,初始化进程
三、操作系统的启动机制
操作系统的启动过程:BI0S自检、系统引导、启动内核、初始化系统
1.计算机开机,BI0S程序将存储设备的引导记录(Boot Record)载入内存,执行引导记录中的引导程序(Boot)
2.引导程序将存储设备中的操作系统内核载入内存,进入内核入口点开始执行
3.内核完成系统初始化,允许用户进行交互
四、典型程序执行流程
一个程序的典型执行流程:
(1)用户通过操作系统启动程序
(2)操作系统将程序从磁盘加载到内存中
(3)操作系统为程序分配资源,如CPU时间、内存空间和输入/输出设备
(4)程序开始执行,由CPU按顺序执行指令
(5)程序可能会与操作系统交互,请求服务,如读写文件或访问网络
(6)程序执行完毕后,操作系统回收其占用的资源