Operating system

概述

参考:

Operating system(操作系统,简称 OS) 也是一种软件,用来管理计算机硬件和其他以及自身软件资源的。

学习

《操作系统导论》

Time Sharing System(分时系统)

概述

Time Sharing Operating System(分时操作系统,简称 TSOS) 的出现是为了弥补批处理方式不能向用户提供交互式快速服务的缺点而发展起来的,并且成为了当今(2021 年) 的主流操作系统。

在分时系统中,一台计算机主机连接了多个终端,每个终端可由一个用户使用。用户通过终端交互式地向系统发出命令请求,系统接受用户的命令之后,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。

这样的系统现在(2021 年)仍然占据着大量的市场,Windos、MacOS,Linux 都属于分时操作系统。分时系统的典型代表就是 UNIX,它对后续操作系统的设计产生了重大影响。

分时共享是出于这样的认识而开发的:即尽管任何单个用户都会低效地使用计算机,但一大群用户在一起却不会。这是由于交互模式所致: 通常,单个用户会输入大量信息,然后进行长时间的暂停,但是一组用户同时工作将意味着一个用户的暂停将被其他用户的活动所填补。给定最佳的群体规模,整个过程可能非常有效。同样,可以将等待磁盘,磁带或网络输入所花费的一小部分时间授予其他用户。

分时的概念与实现

分时操作系统将 CPU 的运行时间划分为若干个小片段,称为 Time slice(时间片)。Time slice(时间片) 是系统规定进程一次使用 CPU 的最长时间(时间片的长短可以因不同系统而异)。

最开始,时间片通常是 100ms 左右,这是一个实验统计值(不能太大也不能太小)。另外,在硬件方面设立一个中断时钟,它每过时间片便向 CPU 发一次中断信号。于是,假设现在有多个用户程序 A、B、C,CPU 在一个 A 执行完一个时间片后便被中断,然后去执行 B 一个时间片,再执行 C 一个时间片,一次循环,直到 A、B、C 三个程序全部执行完成。操作系统会保护被中断程序的运行现场,转去执行另一个用户程序。

就这样,操作系统可以把 CPU 按时间片依次分配给系统中的各个用户程序。由于系统中用户程序的数目是有限的,所以,只要时间片大小选取合适,就能给用户以独占系统资源的感觉,可以使每个用户能及时与自己的作业交互,使用户的请求得到及时响应。其实,为了实现人机交互,分时操作系统对早起批处理系统的运行方式进行了两大改进:一是作业直接进内存;二是作业不能长期占用 CPU,而是以时间片为单位交替使用 CPU。

分时系统的原理,同样也适用于多任务上,当系统中 1 个用户同时运行了多个程序时,也可以使用时间片的概念,让多个程序形成逻辑上的“并行”执行。

UNIX 就是典型的通用的分时操作系统。

Real Time System(实时操作系统)

概述

参考:Wiki, Real-time OS

Real Time Operating System(实时操作系统,简称 RTOS) 是一种操作系统 (OS),旨在为实时应用程序提供服务,这些应用程序通常在没有缓冲区延迟的情况下处理数据。处理时间要求 (包括任何 OS 延迟) 以十分之一秒或更短的时间增量来衡量。实时系统是具有明确定义的固定时间约束的有时限的系统。处理必须在定义的约束条件下完成,否则系统将失败。它们要么是事件驱动的,要么是分时的。事件驱动系统根据任务的优先级在任务之间切换,而分时系统根据时钟中断切换任务。大多数 RTOS 使用先发制人的调度算法。

实时操作系统主要有两类:

  • 硬实时系统 # 对关键外部时间的响应和处理时间有这极其严格的要求,系统必须满足这种严格的时间要求,否则会产生严重的不良后果。
    • 火箭和导弹控制、机器人控制、核反应堆控制等都是硬实时系统应用的典型领域。飞行控制系统就是硬实时的。这种时间精确度通常会要求在微秒以下。
  • 软实时系统 # 对时间的响应和处理时间有一定的时间范围要求,不能满足相关的要求会影响系统的服务质量,但是通常不会引发灾难性的后果。如视频信息处理、电信、银行、飞机订票等领域的信息处理。

总结

实际上,Time Sharing 与 Real Time 都是一种任务处理的方式,只要一个操作系统实现了这种方式,就可以称为 TSOS 或 RTOS,LInux 的进程调度系统,随着时间的发展,也逐渐具备了两种方式。

特殊的操作系统

https://github.com/HeyPuter/puter

https://github.com/tjy-gitnub/win12


最后修改 March 25, 2025: clearup (feb59d93)