加入收藏 | 设为首页 | 会员中心 | 我要投稿 阿坝站长网 (https://www.0837zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

从DCIM过渡到DMAAS

发布时间:2021-02-01 17:14:12 所属栏目:传媒 来源:互联网
导读:不过,我把几个版本比较了一下,最新版知识点增加了不少,还补充了一些新的内容,涵盖了iOS、Android等移动操作系统,但主要的知识结构并没有大幅调整,核心的研究对象和问题,仍然是早就登场的那几个。 具体是哪几个呢?就仨:进程、内存和存储。操作系统最

不过,我把几个版本比较了一下,最新版知识点增加了不少,还补充了一些新的内容,涵盖了iOS、Android等移动操作系统,但主要的知识结构并没有大幅调整,核心的研究对象和问题,仍然是早就登场的那几个。

具体是哪几个呢?就仨:进程、内存和存储。操作系统最重要的功能就是“管理”,具体来说是两项工作,资源的分配和资源的调度,那管理的核心对象是哪些呢?就是这仨,分别对应的硬件是CPU、内存和硬盘,想想就能知道,这仨同样是计算机里的三个扛把子部件。

我们说恐龙书经典,其中一个地方就体现在对操作系统知识体系的划分上面。恐龙书当然会重点照顾这三个核心对象,为它们一一设有单元,再加上必不可少的概论、大家现在都很关注的安全,以及前面提到的案例分析,就构成了恐龙书最新第9版的六大知识板块。

作为一名操作系统爱好者,我看过很多操作系统的书,有偏重原理的,有偏重实例的,也会有其它新的偏重,譬如会为网络,硬件架构、设备管理等等内容设置独立章节,但无论哪本书,进程、内存和存储(也有称为外存)始终是书里的三条主线。总而言之,学操作系统,首先都得紧紧抓住进程、内存和存储学懂学通。

03 怎样学操作系统

既然进程、内存和存储是操作系统的三个核心对象,那具体应该怎么学呢?一句话回答:带着问题学。这里的“带着问题学”,和我们平时常说的有所不同,在操作系统里面,进程、内存和存储都有各自需要重点关注的问题。

就拿进程来说,进程是操作系统中相对比较抽象的概念,所以大多数操作系统的教材都会不吝笔墨,给进程下一堆的定义,试图只靠文字就解释清楚什么是进程。不过效果总不太好,大家不容易看懂,还容易看晕,毕竟“抽象”的意思就是说,你懂了马上心领神会,你不懂总感觉鸡同鸭讲。

我倒认为没必要在进程的定义上作过多纠结,关键是功用,开始只需要记住一点,进程对应的是CPU。计算机所谓的“计算”,指的就是CPU运算,那运算什么内容呢?这就是进程。

本来这个过程不算复杂,好像也没什么问题,但是后来人们搞出了“多进程”,一个CPU能“同时”运行多个进程。但这个“同时”不是真正的同时,用术语来说,是并发执行而不是并行执行,结果一下就复杂起来,问题也就随之而来了。

进程增多了,但CPU却只有一个,出现了多对一的竞态问题,这就是一切问题的起源。围绕着竞态问题,进程接着又衍生出了许多问题。

首先就是调度问题。对操作系统来说,调度是个大问题。书本肯定都会告诉你,进程有很多个状态,有些还画成了状态迁移图,各种线飞来飞去,看得眼花缭乱。感觉上很难,但我觉得,把握好了背后的逻辑,这些看似凌乱的知识点就是条理清晰地串在一起。

在这里,我们只需要死死盯住竞态问题,正是因为进程和CPU不再是一一对应,所以需要调度,而所谓调度,就是杂技里的用两只手玩五只球,总会区分出接回手里的、准备抛出的和停在空中的几种情况,所以也需要根据情况给进程配套设计不同的状态,调度的具体工作,就是想办法让进程在这几个状态中来回迁移倒腾,最终营造出CPU同时执行多个进程的假象。

进程之下是线程,现在又搞出了协程和纤程,以后不知道还会什么程,不过,目的只有一个,更充分地利用CPU时间,而且都难以避免一个问题,就是调度问题。

调度本身不难,难就难在设计调度原则,谁上谁下,执行多久,等待多久,都需要一一加以考虑,而且最难的地方在于,调度是没有最优解的,只有在指定原则条件下,设计出相当不错的调度方案。

进程除了竞争CPU,还要竞争资源,譬如两个甚至更多的进程可能都需要同时读写同一个文件,我们熟悉的多对一的关系,会导致我们熟悉的竞态问题,在CPU那导致了调度问题,而到了资源这里,则会导致同步问题和死锁问题。

同步问题很简单,进程既然要调度,那肯定没办法把活一口气干完,譬如说读写某个文件,读到一半被换下来了,下次再换上来的时候发现,别的进程也在读写这个文件,内容变了。

(编辑:阿坝站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读