热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

【系统架构设计师】第一章:操作系统(1.1.11.1.2)操作系统的分类和结构

好久不见了。最近由于忙着期末考试,所以一直没更新帖子,最近考完了,我又回来了。很久不动笔了,突然很手痒,但是又

好久不见了。最近由于忙着期末考试,所以一直没更新帖子,最近考完了,我又回来了。
很久不动笔了,突然很手痒,但是又一直在纠结写什么。
原计划要写kali的从零开始的教程,不过仔细想想其实那个并没有系统架构师的专注力大,因为这个是我的一个目前的目标。
你们知道的,我今年大二,下个学期会特别忙,有七八场ctf和awd,线上线下的都有,这就意味着我基本整个学期的一半都要在外地跑。
不过好在我学计算机还是比较有天赋的,所以专业课反而是最轻松的一个。但是,我的想法不仅仅只是课程,而是希望能在大学期间将系统架构师的资格证考下来。
当然,我其实对这软考的了解也不多,不过我大概翻了翻系统架构师的目录,发现里面的内容基本四分之三都是我以前琢磨过的,所以就直接选了这个。
(后来问了人才知道,这个貌似是软考高级里面最难的一个…)
不多说了,直接上菜了。


参考教材:
《系统架构设计师考试全程指导(第二版)》
《系统架构设计师教程》


1.1 操作系统的类型和结构


1.1.1 操作系统的类型

1> 概念


  • 操作系统是计算机系统中的核心系统软件,负责管理和控制计算机系统中硬件和软件资源,合理地组织计算机工作流程和有效的利用资源,在计算机与用户之间起接口的作用。

我觉得这一段都能理解吧?其实我也不想这么啰嗦,但是就怕概念这么考。
先说说接口吧。这个就类似于我们的接口函数,比如你有嘴,能干啥呢?能吃饭,喝水,不管干什么,都要经过你的嘴,不管喝的是什么,都要用嘴来喝。接口,就是起的这样的作用,不管送过来啥都照收不误,都按照预定的动作处理。
所以我们就很容易理解这些概念了,什么是操作系统呢?就是能让你正常使用软件的东西。你点击一下屏幕,都是操作系统在帮你传递点击的信息。再傻的人都知道windows和ios是完全不同的,对吧?

2> 操作系统的分类

懒得打字了。直接看图吧。
在这里插入图片描述

我开始还奇怪的很,我怎么没见过什么批处理操作系统,什么通用操作系统?我之间见过windows,linux啥的,这些是怎么回事?
其实理论上来说,我们所熟知的操作系统都是操作系统的名称,而不是分类。由于在早期技术还不是很发达的时候,很多东西都是一点一点发展来的,那时候没有这么多漂亮的软件和界面,只有一堆堆的黑框框,甚至最早的计算机都是晶体管组成的。
后来随着技术的发展,比如某天,原本系统只能一次打开一个文档,结果有人突然发明了一种新的算法,一次可以打开10个文档。着对于当时的技术来说是一种突破,因此就将这种分类保留了下来。
比如我们现在的windows系统:
在这里插入图片描述
再比如说linux:
在这里插入图片描述
可能随着时间的流逝,操作系统的种类就会更多。我们无需纠结于此,记住就好。
其实也是非常好记忆的,比如:

分时操作系统:这个就是特点名的名。如果学过计算机网络基础的同学可能会眼熟,在我们计算机网络基础里面关于带宽的使用就用到了时分复用,原理也是差不多的。

实时操作系统:这个也很好记,对吧?其实就是讲的一个实时性,也就是随时随地都紧密相连,能够即时相应和较高的可靠性。

剩下的我就不一一举例了。还是那句话,名称都是按照特点进行命名的。
需要注意的是,不管是以上的哪种系统,都要有五个功能。这一点我会在后面说明。


1.1.2 操作系统的结构

不知道是我没理解还是咋的,搜到的每篇帖子居然都和书上的内容不一样。最后没办法,只能一个一个的找了。
引用链接:
https://blog.csdn.net/CHS007chs/article/details/77678827
https://blog.csdn.net/jiangxps/article/details/9329139
https://wenku.baidu.com/view/f270efa70622192e453610661ed9ad51f01d54b6.html
https://jingyan.baidu.com/article/6b1823096c1af8ba58e1593f.html
https://blog.csdn.net/weixin_33699280/article/details/81198752


  • 1.无序结构
    先来个官方的解释。
    在这里插入图片描述
    看不懂吧?我找了个比较好懂的说法。
    在这里插入图片描述
    (无序结构又称为模块组合结构)
    啥意思呢?大概就是说,早期的操作系统用的类似于函数调用的方式进行处理任务的。比如,某个地方都用到了1+2,那么就可以把这个写成一个模块,专门用于计算1+2。数量少还行,但是一旦数量达到几万甚至几百万,那么系统就反应不过来了。

  • 2.层次结构
    官方说法
    在这里插入图片描述比较好的理解
    在这里插入图片描述
    是不是和OSI模型很像?每层只管每层自家的事情,不管其他人的事情。好处就是各管各的,出问题也只会在一个地方,不会同时出问题。

  • 3.面向对象结构
    官方
    在这里插入图片描述
    好理解

这个不知道为什么没有百度到。不过搜到了一个说的比较明白的。
在这里插入图片描述
可以看出,面向对象操作系统其实就是将面向对象的技术引入到了操作系统的开发中。这就像编程语言从c进步到cpp一样,系统更加安全可靠了。这个我认为可以将c类比成模块结构,cpp理解成面向对象结构从而进行理解。


  • 4.对称多处理结构
    官方说明
    在这里插入图片描述
    容易理解的版本

在这里插入图片描述
(以下是我个人理解,如果有不对的希望大神可以纠正)
其实百度的说的都很复杂。但是通俗的来讲,这种机制我认为强调的是一种共享。
非要我举个例子的话,我认为可以类比于c里面的指针。在我们操作指针和指针指向的变量时,会发现内存中的数都会产生变化,因为这两个公用的是同一块内存。
类比于上面,如果我们用两个cpu同时操作同一块内存,就可以认为是对称多处理结构。


  • 5.微内核技术

官方说明
在这里插入图片描述

个人理解
在这里插入图片描述
没什么好说的,其实就是把很多最小的功能做成一个类似于函数一样的东西,统称为内核。之后可以对其进行更改,便于移植。
比如我百度到的一个。
在这里插入图片描述


本篇内容主要介绍的是操作系统的一些分类与结构。后面几节会讲操作系统的五大功能。
下一节已更新。
【系统架构设计师】第一章:操作系统(1.2.1)



推荐阅读
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
author-avatar
hueihuei大海水_598
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有