跳到主要内容

概念

操作系统是系统软件的核心,主要任务为:

  • 管理计算机系统中的全部软、硬件资源;
  • 为用户使用计算机提供友好和方便的接口;
  • 最大限度地发挥整个计算机系统的效率。

分类

  • 单用户操作系统。计算机在某个时间内只为一个用户服务,此用户独占系统资源。它又可分为单用户单任务操作系统(如 DOS )和单用户多任务操作系统(如 Windows ),其适合个人计算机。

  • 多道批处理操作系统( Batch Processing System )。多道批处理操作系统可将用户提交的作业成批地送入计算机,然后由作业调度选择适当的作业运行。在计算机系统中,多个作业同时存在, CPU 轮流地执行各个作业。如果调度得当,搭配合理,这种操作系统可以极大地提高系统的吞吐量和资源的利用率。

  • 分时操作系统( Time-hating System )。分时操作系统采用时间片轮转调度策略, CPU 将其每个处理数据的周期时间再分为若干个时间片,一台主机可挂接若干个终端。在一个周期内,每个终端用户每次可以使用一个时间片, CPU 轮流为各个终端用户服务,一个任务在一个周期的时间片内没有完成,则需再等到下一周期的时间片,从而可实现多个用户分时轮流使用一台主机系统,大大提高了主机系统的效率。

  • 实时操作系统( Real Time Operating System )。实时操作系统能够对外部随机出现的信息进行及时的响应和处理,并在确定的时间内做出反应。实时操作系统控制系统中的所有设备协调一致地运行。按其使用方式不同又可分为实时控制系统和实时信息处理系统。

  • 网络操作系统( Network Operating System )。网络操作系统是基于计算机网络的操作系统,它既要为本机用户服务,还要为网络用户使用本机资源提供服务,使异地用户可以突破地理条件的限制,方便地使用远程计算机资源,实现网络环境下计算机之间的通信和资源共享,并解决网络传输、仲裁冲突等

  • 分布式操作系统( Distributed Operating System )。分布式操作系统指通过网络将大量的计算机连接在一起,其可以将一个任务分解为若干个可以并行执行的子任务,分布到网络中的不同的计算机上并行执行,使系统中的各台计算机相互协作共同完成一个任务,以充分利用网上计算机的资源优势,并获取极高的运算能力。分布式操作系统则负责整个系统的资源管理、任务的划分、信息的传输,并为用户提供一个统一的界面和接口,它与网络操作系统最大的不同就是所管理的计算机系统中各节点的计算机并无主次之分。

  • 嵌入式操作系统( Embedded Operating System )。嵌入式操作系统是一种用途广泛的系统软件,负责嵌入系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它能体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。过去它主要应用于工业控制和国防系统领域。随着 Internet 技术的发展、信息家电的普及应用及 EOS 的微型化和专业化,嵌入式操作系统开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

特性

并发行、共享性、虚拟性、不确定性。

进程

进程是一个程序与其数据一起在处理器上的执行过程,当一个程序被加载到内存,就建立了该程序的进程。进程和程序是两个不同的概念,程序是计算机的指令集合,是一个静态的概念;进程是一个动态的概念,是程序的一次执行过程。一个程序可以多次被执行,每次执行就会创建一个进程。进程在它的整个生命周期中始终在就绪、运行和挂起的状态中变化着,直到进程结束才撤销。 进程与程序既有区别又有联系,具体表现在以下几个方面:

  • 程序是指令的集合,是静态的概念;而进程是程序在处理器上的执行过程,是动态的概念
  • 程序作为软件可以在存储介质上永久保存;而进程是短暂的,是有生命周期的,它能够动态地产生和消亡
  • 程序是不具备并发特征的,程序不占有 CPU ,也不占有资源;进程是可以并发执行的,也正是因为并发,才提高了系统的效率
  • 进程是一个可以独立运行的基本单位,也是资源独立分配的基本单位,同时还是处理器独立调度的基本单位。也正因为如此,在操作系统中,处理器管理也称为进程管理
  • 程序和进程不是一一对应关系,一个程序可以被反复运行,但产生的是不同的进程
  • 进程具有异步性,即进程什么时候被 CPU 选中,运行多少时间,什么时候转为其他状态,什么时候再次被 CPU 选中,这些都是未知的,进程以不可预知的速度向前推进着,这就要求操作系统必须负责协调各个进程的运行

线程

随着软、硬件技术的发展,为了更好地实现并发处理和共享资源,提高 CPU 的利用率,目前许多操作系统把进程再细分成线程( Threads )。线程又被称为轻量级进程( Light Weight Process , LWP ),描述进程内的执行,是操作系统分配 CPU 时间的基本单位。一个进程可以有多个线程,线程之间共享地址空间和资源。

在 Unix 系统中,进程是 CPU 的分配单位;而在 Windows 系统中,线程是 CPU 的分配单位。把线程作为 CPU 的分配单位的好处是:充分共享资源,减少内存开销,提高并发性,加快切换速度。目前大部分的应用程序都是多线程的结构。