一、操做系统介绍数据库
操做系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。操做系统须要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操做网络与管理文件系统等基本事务。操做系统也提供一个让用户与系统交互的操做界面。windows
组成:操做系统由内核、驱动程序、接口库、外围等部分组成。浏览器
特征:并发、共享、虚拟、异步安全
体系结构:模块组合结构、层次结构、微内核结构服务器
功能:处理器管理、存储器管理、设备管理、文件管理、进程管理、内存管理、网络通讯、安全机制网络
基本类型:批处理系统、分时操做系统、实时操做系统架构
二、操做系统的功能并发
操做系统主要包括如下几个方面的功能 :异步
(1)进程管理:其工做主要是进程调度,在单用户单任务的状况下,处理器仅为一个用户的一个任务所独占, 进程管理的工做十分简单。但在多道程序或多用户的状况 下,组织多个做业或任务时,就要解决处理器的调度、 分配和回收等问题 。
(2)存储管理分为几种功能:存储分配、存储共享、存储保护 、存储扩张。
(3)设备管理分有如下功能:设备分配、设备传输控制 、设备独立性。
(4)文件管理:文件存储空间的管理、目录管理 、文件操做管理、文件保护。
(5)做业管理:做业管理是负责处理用户提交的任何要求分布式
三、操做系统分类
计算机的操做系统根据不一样的用途分为不一样的种类,从功能角度分析,分别有实时系统、批处理系统、分时系统、网络操做系统、分布式软件系统等。
(1)分时操做系统
分时系统能够实现用户的人机交互须要,多个用户共同使用一个主机,很大程度上节约了资源成本。 分时系统具备多路性、独立性、交互性、可靠性的优势,可以将用户-系统-终端任务实现。
分时操做系统是使一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操做系统。
把计算机与许多终端用户链接起来,分时操做系统将系统处理机时间与内存空间按必定的时间间隔,轮流地切换给各终端用户的程序使用。
因为时间间隔很短,每一个用户的感受就像他独占计算机同样。分时操做系统的特色是可有效增长资源的使用率。例如UNIX系统就采用剥夺式动态优先的CPU调度,有力地支持分时操做。
常见的分时操做系统:Windows,Unix,Linux
(2)实时操做系统
实时系统主要是指系统能够快速的对外部命令进行响应,在对应的时间里处理问题,协调系统工做。
实时操做系统(RTOS)是指当外界事件或数据产生时,可以接受并以足够快的速度予以处理,其处理的结果又能在规定的时间以内来控制生产过程或对处理系统作出快速响应。
调度一切可利用的资源完成实时任务,并控制全部实时任务协调一致运行的操做系统。提供及时响应和高可靠性是其主要特色。
常见实时操做系统:VxWorks,FreeRTOS,RT-Thread,LiteOS,uCOS,QNX,WinCE,MQX
(3)批处理操做系统
批处理系统出现于20世纪60年代,批处理系统可以提升资源的利用率和系统的吞吐量。
批处理是指用户将一批做业提交给操做系统后就再也不干预,由操做系统控制它们自动运行。这种采用批量处理做业技术的操做系统称为批处理操做系统。
批处理操做系统分为单道批处理系统和多道批处理系统。批处理操做系统不具备交互性,它是为了提升CPU的利用率而提出的一种操做系统
(4)网络操做系统
网络操做系统 是一种能代替操做系统的软件程序,是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操做系统。借由网络达到互相传递数据与各类消息,分为服务器(Server)及客户端(Client)。
而服务器的主要功能是管理服务器和网络上的各类资源和网络设备的共用,加以统合并控管流量,避免有瘫痪的可能性,而客户端就是有着能接收服务器所传递的数据来运用的功能,好让客户端能够清楚的搜索所需的资源。
(5)分布式软件系统
分布式软件系统(Distributed Software Systems),是支持分布式处理的软件系统,是在由通讯网络互联的多处理机体系结构上执行任务的系统。它包括分布式操做系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
四、操做系统体系结构
(1)简单体系结构
计算机操做系统诞生初期,其体系结构就属于简单体系结构,因为当时各式各样影响因素的做用,如硬件性能、平台、软件水平等方面的限制,使得当时的计算机操做系统结构呈现出一种混乱且结构模糊的状态,其操做系统的用户应用程序和其内核程序鱼龙混杂,甚至其运行的地址和空间都是一致的。这种操做系统实际上就是一系列过程和项目的简单组合,使用的模块方法也相对较为粗糙,所以致使其结构宏观上很是模糊。
(2)单体内核结构
随着科学技术的不断发展和进步,硬件及其平台的水平和性能获得了很大程度的提升,其数量和种类也与日俱增,操做系统的复杂性也逐渐加深,其具有的功能以及性能愈来愈多,在此背景下,单体内核结构的操做系统诞生并获得了应用,例如UNIX操做系统、windows NT/XP等。通常状况下,单体内核结构的操做系统主要具有如下集中功能,分别是文件及内存管理、设备驱动、CPU调度以及网络协议处理等。因为内核的复杂性不断加深,相关的开发设计人员为了实现对其良好的控制,逐渐开始使用了一些较为成熟的模块化方法,并根据其不一样的功能将其进行结构化,进而将其划分为诸多的模块,例如文件及内存管理模块、驱动模块、CPU调度模块及网络协议处理等。这些模块所使用的地址和空间与内核使用的彻底一致,其以函数调用的方式构建了用于通信的结构来实现各个模块之间的通信。在使用模块化的方法之后,只要其通信接口没有发生明显的变化,即便整个结构中的任何一个模块发生变化也不会对结构中的其余模块形成任何的影响,为其系统的维护和改良扩充提供了便利。虽然单体内核结构的计算机操做系统通过了模块化的处理,可是其中的所有模块仍然是在硬件之上、应用软件之下的操做系统核心中运转和工做。模块与模块之间活动的层次没有任何的差异。
(3)层次式结构
层次式结构的计算机操做系统是为了减小以往操做系统中各个模块之间因为联系紧密而带来的各类问题而诞生的,其能够作大程度的减小甚至是避免循环调用现象的发生,确保调用有序,为操做系统设计目标的实现奠基了坚实的基础。在层次式结构的计算机操做系统之中,其是由诸多系统分为若干个层次的,其最底层是硬件技术,其余每个层级均是创建在其下一层级之上的。在设计其计算机操做系统内核时,主要采用与抽象数据类型十分相似的设计方法进行的,在系统中的每个层级均包含着多种数据和操做,且每个的数据和操做是其余层不可见的,在每一层当中都配备了用于其余层使用的一操做接口,同时每一层发生的访问行为只能针对其下层进行,不能访问其上层的数据和服务,严格遵照了调用规则,在很大程度上避免了其余层次对某一层次的干扰和破坏。对于理想的层次式计算机系统体系结构来讲,其之间的联系不只仅是单向依赖性的,同时各个层级之间也要具有相互的独立性,且只能对低层次的模块和功能进行调用,例如THE系统。可是这种理想的全序层次式计算机操做系统在现实中建成是较为困难的,其没法彻底避免模块之间循环调用现象的出现,某个层级之间仍旧存在某种循环关系,这种层次式结构又被叫做半序层次式计算机操做系统,例如SUE操做系统。
(4)微内核结构
微内核计算机操做系统体系结构又能够被叫做客户机结构或者服务器结构,其实际上就是一种将系统中的代码转移到更高层次当中,尽量地减小操做系统中的东西,仅仅保留一个小体积的内核,通常状况下其使用的主要方法就是经过用户进程来实现操做系统所具有的各项功能,具体来讲就是用户进程能够将相关的请求和要求发送到服务器当中,而后由服务器完成相关的操做之后在经过某种渠道反馈到用户进程当中。在微内核结构中,操做系统的内核主要工做就是对客户端和服务器之间的通讯进行处理,在系统中包括许多部分,每个部分均具有某一方面的功能,例如文件服务、进程服务、终端服务等,这样的部分相对较小,相关的管理工做也较为便利。这种机构的服务的运行都是以用户进程的形式呈现的,既不在核心中运行,也不直接地对硬件进行访问,这样一来即便服务器发生错误或受到破坏也不会对系统形成影响,仅仅只是会形成相对应服务器的崩溃。
(5)外核结构
外核结构的计算机操做系统本质上就是为了得到更高的性能和灵活性而设计出来的,在系统中,操做系统接口处于硬件层,在内核中提出所有由以往操做系统带来的抽象,并将重点和关键放在了更多硬件资源的复用方面。在操做系统的外核结构中,内核负责的主要工做仅仅为简单的申请操做以及释放和复用硬件资源,其由以往操做系统提供的抽象所有在用户空间当中运行。
通常状况下,外核结构中的内核主要有三大方面的工做,分别是对资源的全部权进行跟踪、为操做系统的安全提供保护以及撤销对资源的访问行为。在核外,基本上全部的操做系统中的抽象都是以库的形式呈现出来的,而用户在访问硬件资源时也是经过库的调用来完成的。
五、安全加固技术
随着计算机网络与应用技术的不断发展,信息系统安全问题愈来愈引发人们的关注,信息系统一旦遭受破坏,用户及单位将受到重大的损失,对信息系统进行有效的保护,是必须面对和解决的迫切课题,而操做系统安全在计算机系统总体安全中相当重要,增强操做系统安全加固和优化服务是实现信息系统安全的关键环节。当前,操做系统安全构成威胁的问题主要有系统漏洞、脆弱的登陆认证方式、访问控制形同虚设、计算机病毒、特洛伊木马、隐蔽通道、系统后门恶意程序和代码感染等,增强操做系统安全加固工做是整个信息系统安全的基础。
(1)安全加固原理
安全加固是指按照系统安全配置标准,结合用户信息系统实际状况,对信息系统涉及的终端主机、服务器、网络设备、数据库及应用中间件等软件系统进行安全配置加固、漏洞修复和安全设备调优。经过安全加固,能够合理增强信息系统安全性,提升其健壮性,增长攻击入侵的难度,可使信息系统安全防范水平获得大幅提高。
(2)安全加固方法
安全加固主要经过人工对系统进行漏洞扫描,针对扫描结果使用打补丁、强化帐号安全、修改安全配置、优化访问控制策略、增长安全机制等方法加固系统以及堵塞系统漏洞、“后门”,完成加固工做。
(3)安全加固流程
安全加固主要包含如下几个环节:
A、安全加固范围肯定收集须要进行安全加固的信息系统所涉及的计算机设备、网络、数据库及应用中间件的设备状况。
B、制订安全加固方案根据信息系统的安全等级划分和具体要求,利用网络安全经验和漏洞扫描技术和工具,对加固范围内的计算机操做系统、网络设备、数据库系统及应用中间件系统进行安全评估,从内、外部对信息系统进行全面的评估,检查这些系统目前安全情况,根据现状制定相应的安全加固措施,造成安全加固方案。
C、安全加固方案实施根据制定的安全加固实施方案实施加固,完成后对加固后的系统进行全面的测试和检查,确保加固对系统业务无影响,并填写加固实施记录。
D、安全加固报告输出根据安全加固实施记录,编写最终的安全加固实施报告,对加固工做进行总结,对已加固的项目、加固效果、遗留问题进行汇总统计。
六、操做系统虚拟化
操做系统虚拟化做为容器的核心技术支撑,获得了研究者的普遍关注。最近几年,不管是在以SOSP/OSDI为表明的计算机系统领域顶级学术会议上,仍是以Google为表明的重要互联网企业中,都陆续出现了一批操做系统虚拟化的最新研究成果,而且成果数量呈现出逐年增长的整体趋势。
操做系统虚拟化技术容许多个应用在共享同一主机操做系统 (Host OS) 内核的环境下隔离运行, 主机操做系统为应用提供一个个隔离的运行环境, 即容器实例:操做系统虚拟化技术架构能够分为容器实例层、容器管理层和内核资源层。
操做系统虚拟化与传统虚拟化最本质的不一样是传统虚拟化须要安装客户机操做系统 (Guest OS) 才能执行应用程序,而操做系统虚拟化经过共享的宿主机操做系统来取代 Guest OS。
七、操做系统实例
(1)嵌入式系统
嵌入式系统使用很是普遍的系统(如VxWorks、eCos、Symbian OS及Palm OS)以及某些功能缩减版本的Linux或者其余操做系统。某些状况下,OS指称的是一个内置了固定应用软件的巨大泛用程序。在许多最简单的嵌入式系统中,所谓的OS就是指其上惟一的应用程序。
iOS是由苹果公司开发的手持设备操做系统。苹果公司于2007年1月9日的Macworld 大会上公布这个系统,以Darwin为基础,属于类Unix 的商业操做系统。最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch 、iPad 以及 Apple TV 等产品上。iOS与苹果的 Mac OS X 操做系统同样,属于类Unix的商业操做系统。本来这个系统名为 iPhone OS,由于 iPad,iPhone,iPod touch 都使用 iPhone OS,因此 2010 年 WWDC 大会上宣布更名为 iOS(iOS 为美国 Cisco 公司网络设备操做系统注册商标,苹果更名已得到 Cisco 公司受权)。
Android是一种基于Linux的自由及开放源代码的操做系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。还没有有统一中文名称,中国大陆地区较多人使用“安卓”。Android操做系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的受权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其余领域上,如电视、数码相机、游戏机、智能手表等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操做系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
(2)类Unix系统
所谓的类Unix家族指的是一族种类繁多的OS,此族包含了System V、BSD与Linux。因为Unix是The Open Group的注册商标,特指遵照此公司定义的行为的操做系统。而类Unix一般指的是比原先的Unix包含更多特征的OS。
类Unix系统可在很是多的处理器架构下运行,在服务器系统上有很高的使用率,例如大专院校或工程应用的工做站。
1991年,芬兰学生林纳斯·托瓦兹根据类Unix系统Minix编写并发布了Linux操做系统内核,其后在理查德·斯托曼的建议下以GNU通用公共许可证发布,成为自由软件Unix变种. Linux近来愈来愈受欢迎,它们也在我的桌面计算机市场上大有斩获,例如Ubuntu系统。
某些Unix变种,例如惠普的HP-UX以及IBM的AIX仅设计用于自家的硬件产品上,而SUN的Solaris可安装于自家的硬件或x86计算机上。苹果计算机的Mac OS X是一个从NeXTSTEP、Mach以及FreeBSD共同派生出来的微内核BSD系统,此OS取代了苹果计算机早期非Unix家族的Mac OS。
经历数年的披荆斩棘,自由开源的Linux系统逐渐蚕食以往专利软件的专业领域,例如以往计算机动画运算巨擘──硅谷图形公司(SGI)的IRIX系统已被Linux家族及贝尔实验室研发小组设计的九号项目与Inferno系统取代,皆用于分散表达式环境。它们并不像其余Unix系统,而是选择内置图形用户界面。九号项目原先并不普及,由于它刚推出时并不是自由软件。后来改在自由及开源软件许可证Lucent Public License发布后,便开始拥有广大的用户及社群。Inferno已被售予Vita Nuova并以GPL/MIT许可证发布。
当前,计算机按照计算能力排名世界500强中472台使用Linux,6台使用Windows,其他为各种BSD等Unix。
(3)微软Windows
Microsoft Windows系列操做系统是在微软给IBM机器设计的MS-DOS的基础上设计的图形操做系统。如今的Windows系统,如Windows 2000、Windows XP皆是建立于现代的Windows NT内核。NT内核是由OS/2和OpenVMS等系统上借用来的。Windows能够在32位和64位的Intel和AMD的处理器上运行,可是早期的版本也能够在DEC Alpha、MIPS与PowerPC架构上运行。
虽然因为人们对于开放源代码操做系统兴趣的提高,Windows的市场占有率有所降低,可是到2004年为止,Windows操做系统在世界范围内占据了桌面操做系统90%的市场。
Windows系统也被用在低级和中阶服务器上,而且支持网页服务的数据库服务等一些功能。最近微软花费了很大研究与开发的经费用于使Windows拥有能运行企业的大型程序的能力。
Windows XP在2001年10月25日发布,2004年8月24日发布服务包2(Service Pack 2),2008年4月21日发布最新的服务包3(Service Pack 3)。
Windows 7,是由微软公司(Microsoft)开发的操做系统,内核版本号为Windows NT 6.1。Windows 7可供家庭及商业工做环境:笔记本电脑 、多媒体中心等使用。和同为NT6成员的Windows Vista一脉相承,Windows 7继承了包括Aero风格等多项功能,而且在此基础上增添了些许功能。
Windows 10是由美国微软公司开发的应用于计算机和平板电脑的操做系统,于2015年7月29日发布正式版。
Windows 10操做系统在易用性和安全性方面有了极大的提高,除了针对云服务、智能移动设备、天然人机交互等新技术进行融合外,还对固态硬盘、生物识别、高分辨率屏幕等硬件进行了优化完善与支持。截至2020年3月6日,Windows 10正式版已更新至十一月更新10.0.18363版本。
微软上一款操做系统Windows Vista(开发代码为Longhorn)于2007年1月30日发售。Windows Vista增长了许多功能,尤为是系统的安全性和网上管理功能,而且其拥有接口华丽的Aero Glass。可是总体而言,其在全球市场上的口碑却并非很好。其后继者Windows 7则是于2009年10月22日发售, Windows 7改善了Windows Vista为人诟病的性能问题,相较于Windows Vista,在一样的硬件环境下,Windows 7的表现较Windows Vista为好。而最新的Windows 10则是于2015年7月29日发售。
(4)MacOS X
macOS,前称“MacOS X”或“OS X”,是一套运行于苹果Macintosh系列计算机上的操做系统。Mac OS是首个在商用领域成功的图形用户界面系统。Macintosh开发成员包括比尔·阿特金森(Bill Atkinson)、杰夫·拉斯金(Jef Raskin)和安迪·赫茨菲尔德(Andy Hertzfeld)。从OS X 10.8开始在名字中去掉Mac,仅保留OS X和版本号。2016年6月13日在WWDC2016上,苹果公司将OS X改名为macOS,现行的最新的系统版本是10.15 catalina,即macOS Mojave。
(5)Chrome OS Google Chrome OS是一项Google的轻型的、基于网络的计算机操做系统计划,其基于Google的浏览器Google Chrome的Linux内核。