第一章:操作系统(操作系统架构)

操作系统架构

(Operating system structure)

I'm the type of person,if you ask me a question, and I don't konw the answer,I'm gonna to tell you that I don't konw.But I bet you what: I konw how to find the answer, and I'll find the answer,.
我是这样的人,如果你问的问题我不知道答案,我会直接告诉你“我不知道”。但我向你保证:我知道如何寻找答案,而且我一定会找出答案的。


目录

操作系统架构

前言

一、学习目的(Study Target)

二、多道程序设计(multiprogramming)

1,多道程序设计介绍

1.1简介

1.2作业 (Job)

2,设计原理

3,执行过程

4,优点

三、多任务处理(multitasking)或分时处理(time-sharing processing)

1,分时处理系统介绍

2, 实现原理

分时技术

3,优点

4,补充 

总结


前言

在前面的学习中,我们已经有了一些基础,包括计算机系统和其组织结构等相关的概念。而在现在这一篇文章里,我们将讨论操作系统的结构相关知识。其中主要内容为,多道程序设计多任务处理这两个重要知识点,我会在下面为你解释学习它们的目的,并帮助掌握其相关知识点。


一、学习目的(Study Target)

其实在我们前面几张的学习里,可能已经逐渐发现一件事情,也就是我们如此多的工作,其实本质上都在为了解决两个问题,即管理和分配的问题。

而这些问题都为了解决两个目的,即提高计算机的利用率和运行效率。

用简单的话来说,其实就是做题的准确率和速度。又快又好就是我们的目的,而基于这两个目的,我们衍生了许多相关的问题,例如如何协调,如何分配等等。

而为了解决操作系统中管理和调度的问题,多道程序设计和多任务处理成为了我们解决问题的关键。所以我们十分有必要弄清楚这这两者的关键原理,这也是我们能否学好操作系统的关键。

我们都知道,市面上有非常多种类的操作系统,而每为了解决不同的需求,因此每个操作系统的内部结构差异实际很大。不过它们也有许多相同的点,这些点是为了解决一些普遍的问题。

其中,多道程序设计和多任务处理(分时处理)就是这些问题的两个系统,这就是我们今天的重点。

下面开始吧! 

二、多道程序设计(multiprogramming)

1,多道程序设计介绍

1.1简介

但从名字本身,我们就可以猜测到这是关于如何运行多种程序的问题。

即:

CPU如何运行多个程序的能力

 其目的在于充分利用CPU和系统资源。以此来提高效率。

在单个用户在执行任务时,将会运行CPU,除非任务完成,否则其他用户都将无法使用CPU和I/O设备。因为CPU本身并不具备多道程序设计的能力。

这是显而易见的事情,(因为我已经在之前的文章中说明,如果你不清楚可以点击我的链接进行了解,这里不在过多复述。)

第一章:操作系统基础(计算机系统操作)-CSDN博客

第一章:操作系统基础(I/O结构)-CSDN博客

 但在多道程序设计的实现中,它具备了这一能力。

通过组织代码和数据作业来以此提供CPU的利用率,使其能够具备执行多个任务的能力。

1.2作业 (Job)

那么什么是作业呢?

在计算机操作系统中,作业(Job)是计算机操作员(或称为作业调度程序的程序)提供给操作系统执行任务的工作单元。 这其中可能包括代码和数据。

2,设计原理

在一个多道程序设计系统的内存布局中,我们将拥有多个作业,我们把它们汇聚在一起,叫做作业池。不过由于我们没有无限的内存,所以我们没有办法将其所有都加载到主存当中。

这里所说的内存指的是主存,如果你不清楚为什么是主存,可以看我关于这方面的文章。第一章:操作系统基础(存储结构)-CSDN博客

 所以,这其中的部分作业将被加载到内存之中。例如下图的,1,2,3...

3,执行过程

那么现在如果没有多道程序设计,操作系统将无法将CPU合理分配给这些作业。所以会发生一种情况,那就是等1执行完成后,才能使用CPU执行2,以此推类。

而在执行1的过程中,就必须使用资源。例如I/O设备,那么同样推类,在1完成前,其余作业将无法使用资源。那这个过程中,CPU将不会被使用,并保持空闲状态。因此极大损耗了效率。

而有了多道程序设计之后会发生什么? 作业1开始使用调用CPU,并尝试使用I/O 设备,那么CPU将进行释放,转而开始处理其需要使用CPU的作业2。如果说2想要使用其他资源,那么CPU将再次释放,以此推类。

在这个过程中,CPU始终被利用,因此,我们可以说这是一个非常高效的执行方式。这就是多道序设计的好处。

4,优点

多道程序设计的优点包括:

  1. 提高CPU的利用率。在多道程序环境下,多个程序共享计算机资源当某个程序等待I/O操作时,CPU可以执行其他程序,大大提高CPU的利用率。
  2. 提高设备的利用率。在多道程序环境下,多个程序共享系统的设备,大大提高系统设备的利用率。
  3. 提高系统的吞吐量。在多道程序环境下,减少了程序的等待时间,提高了系统的吞吐量。

三、多任务处理(multitasking)或分时处理(time-sharing processing)

1,分时处理系统介绍

通过上面我们知道,多道任务程序可以使得计算机资源得到有效利用,但是它并不提供计算机系统与用户之间的交互。

因此,这将我们带到了本次学习的第二个主题,多任务或分时系统。

与多道程序相同的一点是,CPU通过在多个作业之间切换来执行多个作业。

因此我们不再解释这一点,而不同的是,在计算机处理多个用户发送出的指令的时候,处理的方案即为分时,即计算机把它的运行时间分为多个时间段,并且将这些时间段平均分配给用户们指定的任务。轮流地为每一个任务运行一定的时间,如此循环,直至完成所有任务。

 也就是说,在这个过程中,用户得在程序运行时与程序交互,因为CPU此时负责的任务是在作业之间切换。这也是与多道程序不相同的点。

2, 实现原理

为了实现这种分时,我们需要交互式和可操作的计算机系统。它被用来提供用户与系统之间的直接通信。而其中的工作原理,也就是分时技术。下面是关于它的解释

2.1分时技术

所谓分时技术,就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一个作业使用,等待下一轮时再继续运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是好像他独占了一台计算机。而每个用户可以通过自己的终端向系统发出各种操作控制命令,完成作业的运行。

 

 2.2执行过程

 为了说明它具体是怎样运行的,我们将用一张例图来说明,假设有四个用户,而在这个分时系统当中,用户将共同使用此终端。而在这个分时系统之中,用户的工作切换的如此之快,以至于用户根本没有反映到他们正在共享使用一个系统。

设有用户一正在使用该系统,而且他想要实现某作业,因此作业是由分时系统所执行的,而该作业的执行速度实际由CPU的运行速度所决定。

而我们假设需要计算机实现另一操作,这一操作需要以人类的速度来输入,这一速度对于计算机来说是非常慢的,这中间也就产生了巨大的时间差距。

在这期间,用户二就可以执行作业,这样就有效利用了这一时间差距。

因为用户的效率和计算机的效率差距如此之大,以至于用户甚至无法意识到他们正在使用分时系统,每个用户都以为自己在使用整个系统。

而如何使用户共享时间,这将由CPU的调度算法来实现,我将会在之后的文章详细讨论。这也是非常重要的调度问题。

3,优点

共享系统资源:多个用户和流程可以共享系统资源,如CPU时间、内存和I/O设备,这可以提高资源利用率,减少浪费。

提高工作效率:多个用户可以在同一系统上与分时操作系统同时工作,这可以提高团队合作和提高用户的生产率。

增强交互体验:分时系统优先考虑用户请求,公平分配CPU时间,可以加快系统响应时间,给用户更多的互动体验。

降低硬件成本:共享资源的操作系统可以消除对多个物理系统的需求,从而降低硬件成本,腾出数据中心的空间。

促进多任务处理:分时系统通过允许用户在分配的时间段中运行多个程序来促进多任务处理。用户可以有效地在不同任务之间转换,促进灵活和富有成效的工作环境。

有效管理CPU密集型任务和I/O密集型任务:分时系统有效地管理CPU密集型任务和I/O密集型任务,确保系统对这两种类型的操作都能保持响应。

4,补充 

并且,每个用户的内存中至少有一个单独的程序在内存中等待执行,而加载并在内存中等待执行 的程序就称为进程。在后续的内容中我们将详细讨论这个问题。


总结

我们在这次文章中讨论了多道程序设计和分时系统(多任务处理)的内容,也希望大家能明确这个概念。期待我们下一次再见。

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

英道易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值