操作系统-概述

本文是操作系统系列文章的第一篇,后续将陆续更新操作系统相关的文章。

什么是操作系统?

计算机系统自底向上大致可分为四个部分:硬件、操作系统、应用程序和用户,我们这里比较关心位于硬件之上的操作系统。操作系统是控制和管理硬件和软件资源,组织调度计算机工作和资源分配,并为用户提供接口与环境的程序集合。

操作系统的特征

  • 并发。并发是指多个事件在同一时间段内发生,当我们一边在QQ上聊天,一边听着音乐,此时操作系统同时处理着多个程序,我们可以说QQ和播放器是并发执行的。需要注意的是,与并发容易混淆的概念——并行,并行是指多个事件在同一时刻同时执行。

  • 共享。系统中某些资源是可以允许多个进程使用的,共享分为互斥共享与同时访问方式。互斥共享典型代表如打印机,每次只允许一个进程使用。同时访问的“同时”体现在宏观层面上,而微观层面上是“分时共享”的。

  • 虚拟。虚拟是指将一个物理上的实体对应变为多个逻辑上的实体,常见的虚拟技术有虚拟处理器、虚拟内存和虚拟外设等。

  • 异步。多道程序系统允许多程序并发执行,多个程序并非一次执行到底,而是走走停停,以为止速度向前推进。

操作系统的功能

  • 处理机管理

  • 存储器管理

  • 文件管理

  • 设备管理

  • 为用户提供接口

操作系统的发展与分类

手工操作阶段

这种方式是最早的操作方式,由人工直接使用计算机硬件系统,这种方式主要有两个缺点:

  • 用户独占全机。此时的计算机由操作人员一个人独占。

  • CPU等待用户操作。由于手工操作较慢,CPU资源长时间是空闲的。

也正是因为上述缺点的存在,人机矛盾原来越严重,此时唯一的解决方法是用机器代替手工进行作业控制。

批处理阶段

为了解决人机矛盾扩大的问题,批处理系统很快被提出。批处理阶段又分为单道批处理系统和多道批处理系统。单道批处理系统允许内存中保持一道作业,当遇到IO操作时,CPU会等待IO操作完成。为了提高系统吞吐量,又提出了多道批处理系统。多道批处理系统允许多个程序进入内存并且能在CPU中交替运行,当一个程序执行IO操作时,CPU立马运行另一个程序。

分时操作系统

分时是将处理器运行时间划分成为时间片,每个作业分别分配到这些时间片。当一个时间片用完时,某个作业会暂停,CPU会执行下一个程序。由于作业轮转很快,所以用户会感觉独占了计算机。

实时操作系统

实时操作系统是需要在规定时间内完成特定任务的系统,又可以分为硬实时系统和软实时系统。硬实时系统要求某个动作在某一时刻(或某一时间段)必须完成,例如无人机的飞控系统。软实时系统能够接受偶尔的超时但又不会造成严重后果,例如12306订票系统。

网络操作系统和分布式计算机系统

网络操作系统将网络中的计算机连接起来,实现计算机之间的数据通信。分布式计算机有多台计算机组成,每台计算机拥有相同的地位,没有主从关系。分布式操作系统与网络操作系统之间的不同之处在于分布式操作系统是协同完成同一任务的计算机集群。

个人计算机操作系统

常见的个人操作系统有Windows和Linux等。

操作系统运行环境

内核态和用户态

内核态又称核心态、管态,通常是系统内核执行特权指令时的状态,特权指令是指不能由应用程序直接执行的指令,如IO指令、置中断指令等。用户态又称目态,是上层应用程序运行时CPU的状态。

原语

原语是一些位于操作系统底层,最接近硬件的小程序。这些程序具有原子性,运行时间短且频繁执行。

系统调用

系统调用是操作系统为应用程序提供的接口,是为了避免应用程序直接访问内核态而采取的保护措施。

中断和异常

中断一般与当前运行的程序无关,比如当设备完成IO操作时向处理机发出的结束中断,时间片用完发出的时钟中断。异常一般与程序相关,如地址越界、算术溢出等事件。

操作系统体系结构

现代操作系统的体系结构主要分为两种:大内核和微内核。大内核是将系统主要模块集中在内核态,提供高性能的系统服务。但随着系统日益复杂,操作系统规模也急剧增大,为此又提出了微内核,微内核在内核态中只保留了最基本的功能,其他不需要内核态关注的功能都移到了用户态中,降低了内核的复杂性。被移出内核的功能借助微内核进行通信,但微内核的一个问题是性能不如大内核,因为需要在内核态和用户态之间频繁切换,系统开销比较大。

猜你喜欢

转载自blog.csdn.net/qq_32273417/article/details/106533286