操作系统学习笔记六、操作系统初识

1、如果把硬件设想成计算机系统的核心,那么操作系统的主要任务是协助计算机完成基本硬件操作,并且和更外层的应用软件进行交互,完成诸如打印和存储数据等应用操作。因此,操作系统最明显的职责就是为运行软件提供环境,为应用程序提供与硬件交互的接口,它的主要功能是为运行中的程序动态地分配可共享的系统资源。
2、操作系统是控制应用程序执行的程序,并充当应用程序和计算机硬件之间的接口。它有下面三个目标:

方便:操作系统使计算机更易于使用。
有效:操作系统允许以更有效的方式使用计算机系统资源。
扩展:在构造操作系统时,应该允许在不妨碍服务的前提下有效地开发、测试和引进新的系统功能。

计算机硬件和软件结构
在这里插入图片描述
3、操作系统作为用户和计算机之间的接口,用户通过操作系统的帮助可以快速、有效和安全可靠地使用计算机各类资源。通常操作系统提供两类这样的接口,即程序一级的接口(程序接口)和操作一级的接口(包括联机用户接口和脱机用户接口)。

指令系统体系结构(ISA):定义了计算机遵循的机器语言指令系统,该接口是硬件与软件的分界线。应用程序和实用程序都可以直接访问ISA,这些程序使用指令系统的一个子集(用户级ISA)。操作系统能使用其他一些操作系统资源的机器语言指令(系统级ISA)。


应用程序二进制接口(ABI):定义了程序间二进制可移植性的标准,即操作系统的系统调用接口以及在系统中通过ISA能使用的硬件资源和服务。

应用程序编程接口(API):允许应用程序访问系统的硬件资源和服务,这些服务由用户级ISA和高级语言(HLL)库调用来提供。使用API能让应用软件更容易地通过重新编译移植到其他具有相同API的系统中。

在这里插入图片描述
4、在操作系统中,任何资源分配和调度策略都必须考虑三个因素:

公平性  通常希望给竞争使用某一特定资源的所有进程,尤其是同一类作业,提供几乎相等和公平的访问机会。
有差别的响应性  可能需要区分不同服务要求的不同作业类。操作系统将试图给出满足所有要求的分配和调度决策,并且动态地进行决策。例如,如果一个进程正在等待使用一个I/O设备,操作系统会尽可能迅速地调度这个进程,从而释放这个设备以方便其他进程使用。


有效性  操作系统希望获得最大的吞吐量和最小的响应时间,并且在分时的情况下,能够容纳尽可能多的用户。这些要求实际上互相矛盾,需要在给定状态下寻找适当的平衡。


5、操作系统的种类
(1)在操作系统的高端是用于大型机的操作系统,这些占据了整个房间的大型计算机如今仍然可以在一些大型数据中心见到。这些计算机与个人计算机的主要差别是其I/O处理能力。一台大型机拥有上千个磁盘和上百万吉字节数据容量。大型机操作系统主要用于面向多个需要巨大I/O能力的作业的同时处理。
(2)服务器操作系统在服务器上运行。服务器可以是大型的个人计算机、工作站,甚至是大型机。它们通过网络同时为若干个用户服务,并且允许用户共享硬件和软件资源。服务器可提供打印服务、文件服务或Web服务。因特网服务商们运行着许多台服务器机器以支持他们的用户。
(3)单用户操作系统(例如DOS)只能处理由一个用户控制的输入设备。平板电脑和一些个人计算机的操作系统可以归为单用户操作系统。
(4)嵌入式系统通常用在控制设备的计算机中,这种设备一般不允许用户自行安装软件,所需要的软件都保存在ROM中,这样的设备例如微波炉、电视机、汽车、DVD刻录机以及MP3播放器等。不可信的软件肯定不能在嵌入式系统上运行,这就意味着应用程序之间不存在保护问题,使系统得到了某种简化。
(5)实时操作系统的特征是将时间作为关键参数。例如,在工业过程控制系统中,实时计算机必须收集生产过程的数据并据此控制机器。通常,系统还必须满足严格的最终时限。
(6)云操作系统:传统的IT将紧密耦合的软硬件堆积在一起,无法有效地满足客户的需求。IT部门充满了压力,他们必须适应业务需求的快速变化、满足对全天候业务弹性的需求,还要大幅降低成本。但另一方面,他们也有机会利用x86硬件和日益成熟的虚拟化技术带来的强大功能和显著的经济性。他们的应用程序体系结构选择范围更广,而且各种新兴的云环境也能提供便宜且随时可供访问的计算能力。
云操作系统是一个新的软件类别,旨在将大型基础架构集合(CPU、存储、网络)作为一个无缝、灵活和动态的操作环境进行全面管理。与普通操作系统管理单独计算机的复杂性类似,云操作系统管理数据中心也具有较大的复杂性。虽然也可以采用其他方法,但通常认为虚拟化是实现云计算的关键技术。
云操作系统的重要组件是:
应用程序服务为运行于云操作系统上的所有应用程序提供内置的服务级别控制,而不管应用程序类型或操作系统是什么。
基础架构服务对服务器、存储设备和网络资源进行虚拟化,聚合这些资源,并基于业务优先级将它们按需分配给应用程序。
充分集成的虚拟化管理让用户可以主动管理云操作系统及其运行的应用程序。
云操作系统允许IT专业人员:
通过为所有应用程序提供内置的可用性、安全性和性能保证,从而按照预定义的SLA(服务等级协议)自动管理应用程序。
在由行业标准组件构成的高度统一、可靠、高效的基础架构上运行应用程序。
跨内部或外部计算云移动应用程序并保持相同的服务级别预期,以实现最低的总体拥有成本和最高的运营效益。
云操作系统可实现极为简化和更加高效的计算模型。在此模型中,客户定义所需的结果,计算基础架构则准确地保证能够获得这些结果。IT专业人员可以部署应用程序,例如指定服务级别、响应时间、安全策略和可用性,云操作系统则以最低的成本实现这些规范,并将维护降至最低限度。

6、操作系统的设计和实现是所有其他程序设计和实现的基础。理解操作系统的原理和技术,有助于编写出更好的中间件和应用程序,也有助于为新设备编写驱动程序、创建新的微内核服务器,提供能够高效处理发展需求的新系统等。大多数操作系统都使用一些共同的基本概念和抽象,诸如进程、地址空间以及文件等,这是我们首先需要理解的重要内容。现代操作系统至少具有以下四种职能:存储管理(即内存管理)、进程管理、设备管理和文件管理。操作系统的用户界面(GUI)或命令解释程序(shell)负责操作系统与外界的联系。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值