操作系统(1)-操作系统概述

本文详细介绍了操作系统的组成、作用,包括资源管理、人机界面、应用程序支持、特征如并发性、共享性、虚拟性和不确定性,以及其功能如进程管理、文件管理等。还涵盖了不同类型的系统,如分时、实时、网络、分布式和嵌入式操作系统,展示了操作系统在计算机系统中的重要地位和高效管理策略。
摘要由CSDN通过智能技术生成


🚀前言

操作系统是计算机系统的资源管理者,它包含对系统软、硬件资源实施管理的一组程序,其首要作用就是通过CPU管理、存储管理、设备管理和文件管理对各种资源进行合理地分配,改善资源的共享和利用程度,最大限度地发挥计算机系统的工作效率,提高计算机系统在单位时间内处理工作的能力。
操作系统是配置在计算机硬件上的第1层软件,它向下管理裸机及其中的文件,向上为其他的系统软件(汇编程序、编译程序、数据库管理系统等)和大量应用软件提供支持,以及为用户提供方便使用系统的接口。

操作系统利用一种通用的技术,我们称之为虚拟化(virtualization),将物理(physical)资源(如处理器、内存或磁盘)转换为更通用、更强大且更易于使用的虚拟形式。因此,我们有时将操作系统称为虚拟机(virtual machine)。
当然,为了让用户可以告诉操作系统做什么,从而利用虚拟机的功能(如运行程序、分配内存或访问文件),操作系统还提供了一些接口(API),供你调用。实际上,典型的操作系统会提供几百个系统调用(system call),让应用程序调用。由于操作系统提供这些调用来运行程序、访问内存和设备,甚进行其他相关操作,我们有时也会说操作系统为应用程序提供了一个标准库(standard library)。
最后,因为虚拟化让许多程序运行(从而共享CPU),让许多程序可以同时访问自己的指令和数据(从而共享内存),让许多程序访问设备(从而共享磁盘等),所以操作系统有时被称为资源操理器(resource manager)。每个CPU、内存和磁盘都是系统的资源(resource),因此操作系统扮演的主要角色就是操理(manage)这些资源,以做到高效或公平,或者实际上考虑其他许多可能的目标。


🚀操作系统的组成

操作系统是一种大型、复杂的软件产品,它们通常由操作系统内核(Kernel)和其他许多附加的配套软件所组成,包括图形用户界面程序、常用的应用程序(如日历、计算器、资源管理器和网络浏览器等)、实用程序(任务管理器、磁盘清理程序、杀毒软件和防火墙等)以及为支持应用软件开发和运行的各种软件构件(如应用框架、编译器和程序库等)。
操作系统内核指的是能提供进程管理(任务管理)、存储管理、文件管理和设备管理等功能的那些软件模块,它们是操作系统中最基本的部分,用于为众多应用程序访问计算机硬件提供服务。由于应用程序直接对硬件操作非常复杂,所以操作系统内核对硬件设备进行了抽象,为应用软件提供了一套简洁、统一的接口(称为系统调用接口或应用程序接口API)。内核通常都驻留在内存中,它以CPU的最高优先级运行,能执行指令系统中的特权指令,具有直接访问各种外设和全部主存空间的特权,负责对系统资源进行管理和分配。

如CentOS就是建立在Linux内核基础上的发行版。其中Linux提供了进程管理(任务管理)、存储管理、文件管理和设备管理等功能;CentOS在其基础上加入了软件包管理工具、系统管理工具等功能。

🚀操作系统的作用

操作系统主要有以下3个方面的重要作用:

🚁管理计算机中运行的程序和分配各种软硬件资源。

计算机中一般总有多个程序在运行,这些程序在运行时都可能要求使用系统中的资源(如访问硬盘,在屏幕上显示信息等),此时操作系统就承担着资源的调度和分配任务,以避免冲突,保证程序正常有序地运行。操作系统的资源管理功能主要包括处理器管理、存储管理、文件管理、I/O设备管理等几个方面。

🚁为用户提供友善的人机界面。

人机界面的任务是实现用户与计算机之间的通信(对话)。几乎所有操作系统都向用户提供图形用户界面(GUI),它通过多个窗口分别显示正在运行的各个程序的状态,采用图标(Icon)来形象地表示系统中的文件、程序和设备等对象,用户借助单击“菜单”的方法来选择要求系统执行的命令或输入某个参数,利用鼠标器或触摸屏控制屏幕光标的移动,并通过单击操作以启动某个操作命令的执行,甚至还可以釆用拖放方式执行所需要的操作。这些措施使用户能够比较直观、灵活、有效地使用计算机。

🚁为应用程序的开发和运行提供一个高效率的平台。

安装了操作系统之后,实际上呈现在应用程序和用户面前的是一台“虚拟计算机”。操作系统屏蔽了几乎所有物理设备的技术细节,它以规范、高效的方式(例如系统调用、库函数等)向应用程序提供了有力的支持,从而为开发和运行其他系统软件及各种应用软件提供了一个平台。

除了上述3个方面的作用之外,操作系统还具有辅导用户操作(帮助功能)、处理软硬件错误、监控系统性能、保护系统安全等许多作用。总之,有了操作系统,计算机才能成为一个高效、可靠、通用的数据处理系统。

🚀操作系统的特征

🚁并发性

在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但实际上在单CPU的运行环境,每一个时刻只有一个程序在执行。因此,从微观上来说,各个程序是交替、轮流执行的,如果计算机系统中有多个CPU,则可将多个程序分配到不同CPU上实现并行运行。

🚁共享性

共享是指操作系统中的资源(包括硬件资源和信息资源)可以被多个并发执行的进程(线程)共同使用,而不是被一个进程所独占。出于经济上的考虑,一次性向每个用户程序分别提供它所需的全部资源不但是浪费的,有时也是不可能的。现实的方法是让操作系统和多个用户程序共用一套计算机系统的所有资源,因此必然会产生共享资源的需要。共享资源的方式可以分为同时共享和互斥共享。

🚁虚拟性

虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。前者是实际存在的,而后者是虚构假想的,是用户感觉上的东西。采用虚拟技术的目的是为用户提供易于使用且方便高效的操作环境。

🚁不确定性

在多道程序环境中,允许多个进程并发执行,但由于资源有限,在多数情况下进程的执行不是一贯到底的,而是“走走停停”。例如一个进程,在CPU上运行一段时间后,由于等待资源或某事件发生,它被暂停执行,将CPU转让给另一个进程执行。系统中的进程何时执行,何时暂停,以什么样的速度向前推进,进程总共要花多少时间执行才能完成,这些都是不可预知的。或者说该进程是以不确定的方式运行的,其导致的直接后果是程序执行结果可能不唯一
操作系统提供系统命令一级的接口,供用户用于组织和控制自己的作业运行,如命令行菜单式或GUI“联机”、命令脚本“脱机”。操作系统还提供编程一级接口, 供用户程序和系统程序调用操作系统功能,如系统调用和高级语言库函数。

🚀操作系统的功能

从传统的计算机资源管理的观点来看,操作系统的功能可分为处理机管理、文件管理、存储管理、设备管理和作业管理5大部分。操作系统的5大部分通过相互配合、协调工作来实现对计算机系统中资源的管理,控制任务的运行。

🚁进程管理

实质上是对处理机的执行“时间”进行管理, 采用多道程序等技术将CPU的时间合理地分配给每个任务,主要包括进程控制、进程同步、进程通信和进程调度。

🚁文件管理

主要包括文件存储空间管理、目录管理、文件的读/写管理和存取控制。

🚁存储管理

存储管理是对主存储器“空间”进行管理,主要包括存储分配与回收、存储保护、地址映射(变换)和主存扩充。

🚁设备管理

实质是对硬件设备的管理,包括对输入/输出设备的分配、启动、完成和回收。

🚁作业管理

包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等。

🚀操作系统的分类

通常,操作系统可分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、微型计算机操作系统和嵌入式操作系统等类型。
### 🚁批处理操作系统

批处理操作系统分为单道批处理和多道批处理。
单道批处理操作系统是一种早期的操作系统,用户可以向系统提交多个作业,“单道”的含义是指一次只有一个作业装入内存执行。作业由用户程序、数据和作业说明书(作业控制语言)3个部分组成。当一个作业运行结束后,随即自动调入同批的下一个作业,从而节省了作业之间的人工干预时间,提高了资源的利用率。
多道批处理操作系统允许多个作业装入内存执行,在任意一个时刻,作业都处于开始点和终止点之间。每当运行中的一个作业由于输入/输出操作需要调用外部设备时,就把CPU交给另一个等待运行的作业,从而将主机与外部设备的工作由串行改变为并行,进一步避免了因主机等待外设完成任务而浪费宝贵的CPU时间。多道批处理系统主要有3个特点:多道、宏观上并行运行和微观上串行运行。

🚁分时操作系统

在分时操作系统中,一个计算机系统与多个终端设备连接。分时操作系统是将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。例如,一个带20个终端的分时系统,若每个用户每次分配一个50ms的时间片,则每隔Is即可为所有的用户服务一遍。因此,尽管各个终端上的作业是断续运行的,但由于操作系统每次对用户程序都能做出及时响应,因此用户感觉整个系统均归其一人占用。
分时系统主要有4个特点:多路性、独立性、交互性和及时性。

🚁实时操作系统

实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障。
实时系统分为实时控制系统和实时信息处理系统。实时控制系统主要用于生产过程的自动控制,例如数据自动采集、武器控制、火炮自动控制、飞机自动驾驶和导弹的制导系统等。实时信息处理系统主要用于实时信息处理,例如飞机订票系统、情报检索系统等。

🚁网络操作系统

网络操作系统是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。因此,网络操作系统的功能主要包括高效、可靠的网络通信;对网络中共享资源(在LAN中有硬盘、打印机等)的有效管理;提供电子邮件、文件传输、共享硬盘和打印机等服务;网络安全管理;提供互操作能力。
一个典型的网络操作系统的特征包括硬件独立性和多用户支持等。其中,硬件独立性是指网络操作系统可以运行在不同的网络硬件上,可以通过网桥或路由器与其他网络连接;多用户支持,应能同时支持多个用户对网络的访问,应对信息资源提供完全的安全和保护功能;支持网络实用程序及其管理功能,如系统备份、安全管理、容错和性能控制;多种客户端支持;提供目录服务,以单一逻辑的方式让用户访问位于世界范围内的所有网络服务和资源的技术;支持多种增值服务,如文件服务、打印服务、通信服务和数据库服务等。

🚁分布式操作系统

分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。通常,为分布式计算机系统配置的操作系统称为分布式操作系统。
分布式操作系统能直接对系统中的各类资源进行动态分配和调度、任务划分、信息传输协调工作,并为用户提供一个统一的界面与标准的接口,用户通过这一界面实现所需要的操作和使用系统资源,使系统中若干台计算机相互协作完成共同的任务,有效地控制和协调诸任务的并行执行。
分布式操作系统是网络操作系统的更高级形式,它保持网络系统所拥有的全部功能,同时又有透明性、可靠性和高性能等特性。

🚁微型计算机操作系统

微型计算机操作系统简称微机操作系统,常用的有Windows、MacOS、Linux。

🚁嵌入式操作系统

嵌入式操作系统运行在嵌入式智能设备环境中,对整个智能硬件以及它所操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制,其主要特点如下。
•微型化:从性能和成本角度考虑,希望占用的资源和系统代码量少,如内存少、字长短、运行速度有限、能源少(用微小型电池)。
•可定制:从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。
•实时性:嵌入式操作系统主要应用于过程控制、数据釆集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求较高。
•可靠性:系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施。
•易移植性:为了提高系统的易移植性,通常采用硬件抽象层(Hardware Abstraction Level,HAL)和板级支撑包(Board Support Package,BSP)的底层设计技术。
常见的嵌入式实时操作系统有VxWorks、uClinux、PalmOS、WindowsCE、uC/OS-II和eCos等。

🚀小结

操作系统在整个计算机系统中提供了承上启下的作用,向下协调和管理计算机的硬件资源,向上对应用程序提供统一的硬件层抽象和调用API,为计算机的正常运行提供了基础平台。其对CPU、存储、设备和文件资源的管理通过虚拟化的手段,使上层应用可以并发地、共享地使用硬件资源,以最大限度地发挥计算机系统的工作效率,提高计算机系统在单位时间内处理工作的能力。

参考资料:

  • [1]《操作系统导论》
  • [2]《现代操作系统》
  • [3]《系统架构设计师教程》
  • [4]《计算机操作系统》
  • [5]《深入理解计算机系统》

系列文章连接:
操作系统(1)-操作系统概述
操作系统(2)-进程管理-进程基本概念
操作系统(3)-进程管理-受限直接执行
操作系统(4)-进程管理-进程间通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值