初识操作系统

我们的计算机由硬件和软件组成,硬件为软件提供了可运行的环境,软件给硬件注入了灵魂。而操作系统就是最接近硬件的那层系统软件,依靠硬件给予的各种可计算资源,包括处理器,寄存器,内存,外存,及各种I/O设备发挥它巨大的效能,为上层应用提供了一个良好的运行环境。操作系统管理着各类硬件资源,扩充了机器的功能,提高了系统的效率,使得计算机变得方便使用。若给计算机画一个层次图,可以很清楚的看到,操作系统处于硬件层的上一层。

这里写图片描述

操作系统和支撑软件和应用软件等不同,它有权去分配管理硬件资源的使用,而支撑软件和应用软件只能向操作系统提出申请去使用这些资源。

需要注意的是在传统的计算机系统中,操作系统是指运行在内核态(又称管态或核心态)的,受硬件保护的系统软件,用户不能随意的去篡改它的内容;而在用户态(又称目态或普通态)运行的shell,Windows等软件或实现修改密码的特权程序,用户可以随意更新或替换,虽然它们为系统服务或能够实现系统特权功能,但它们不是操作系统的组成部分。但随着客户-服务器结构操作系统的出现,传统上被认为是操作系统的核心组件,像文件管理,存储管理,设备管理等,都可以被移动到用户空间运行了,在这类系统中就很难划分界限了,在内核态所运行的代码都属于操作系统,但在用户态实现操作系统的关键功能的代码也应该看成是操作系统的一部分,至少是同操作系统密切相关的。现在甚至在有些系统中,像一些嵌入式操作系统中,根本就不区分内核态和用户态了。

操作系统的资源管理技术:复用,虚拟,抽象
复用 简单的讲就是重复利用,由于硬件资源有限,而软件无穷,所以物理硬件资源一定会被共享,也必须被共享,把这种共享就叫做资源复用。复用又分为时分复用和空分复用,就字面去理解吧,时分复用就是在不同的时间段去是使用同一件物理资源,而空分复用就是把同一件物理资源分成多个部分供多个程序使用。举几个很简单的例子,比如说计算机系统中的资源通常可以分成多个单元给不同的程序使用,内外存的划区域使用是非常典型的例子。又比如说多个程序轮流的使用计算机的某个资源就是典型的时分复用。

虚拟 就是对计算机资源的转化、模拟和整合,将一个物理资源对应成多个逻辑资源或将对个物理资源对应成单个逻辑资源。通过这样的一种方式,就可以创建一种无须共享的多个独占资源的假象或者说创建在一个物理资源环境下让多位用户以为他们都独自的占有了这份资源。从这里也就可以清楚的看到,“复用”是对物理实体的分割使用(无论是空间上分割还是从时间上分割),而“虚拟”是去把一些假想的资源通过技术手段把它模拟出来,并不是实际存在的物理实体。有一种叫做外围设备同时联机操作(SPOOLing)的虚拟技术,这是一种对外围设备的虚拟技术,就好比我们的打印机只有一台,可是却能让多个程序去使用,这就是因为多个程序并没有直接和物理打印机直接交互,而是输出文件信息发送到虚拟打印机中,待信息汇总后,再被传送到了物理打印机中将文件打印出来。这样使得每一个应用程序都好像拥有属于它自己的打印机。虚拟技术也用在了资源存储方面,用以实现虚拟内存。实现方式是当某个应用程序所需要的运行空间大于分配给它的物理内存时,操作系统就会在磁盘和内存之间自动传送与当前计算有关的程序段或数据段,这也就是把多个物理资源(磁盘和内存)对应成单个逻辑资源(虚存)的例子。

抽象 就是把复杂的系统变得简单易用,把一些复杂的大量的工作封装成简单的单一的工作,使得系统易于用户使用。为了解决资源的易用性,操作系统对物理资源进行了抽象,将所有硬件资源统一起来,为它们分别确立一个接口和一组复杂的操作,也定义了程序员们如何使用这些接口和相应的操作来完成对硬件的访问。

这三种资源管理技术相辅相成,通常会对某一类资源同时使用多种资源管理技术。但这三种技术的最终目的还是解决资源贫乏、资源易用的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值