计算机评分管理系统源代码_初始 Linux | 从计算机组成到 Linux kernel,及其重要的哲学思想...

6dd6e3263208cdb6fcd9c01a0feaf71b.png

计算机的组成

那么我们先从计算机的组成说起吧,现在的计算机还是遵循存储程序结构,及冯诺依曼结构(Von Neumann architecture),或称为普林斯顿结构(Princeton architecture),这是一种将程序指令存储器和数据存储器合并在一起的计算机设计结构。

冯诺依曼架构将计算机分为四个主要组成部分:算数逻辑单元(arithmetic logic unit,ALU)、控制电路(control unit)、存储器(memory)及输入输出设备(input and output devices)。

8c4558dbec2f329bf2a133613959281d.png

如果你看到这里突然想到 CPU(Central Processing Unit) 为何物,那么

The main difference between CPU and ALU is that the CPU is an electronic circuit that handles instructions to operate the computer, while the ALU is a subsystem of the CPU that performs arithmetic and logical operations.

总之,ALU 是 CPU 的一部分,CPU 专注于处理指令的及时处理并准确地执行,而 ALU 侧重于数学和逻辑推理。

(选读内容)既然说到这里了,就在告诉你一个计算机的秘密,自图灵提出假想纸带机后,整个计算机的发展进程都只围绕着一件事:提高运算速度。冯·诺依曼所设计的架构中的拓展交流窗口,是为了让图灵纸带机从一次读取 1 比特到一次读取多比特。与寄存器机器相比,冯诺依曼将具体的任务分配至了具体的硬件上,就像有专门的电子线路来负责加法,也有专门负责减法的,以及专门负责跳转指令的等等。因为需要将指令送往正确的地方执行,软件和硬件终于相遇了。神奇的是,简单的各个部分经过简单地组合,产生的一条条指令即简单的算术运算,便能模拟你想让计算机完成的任何计算。

内核简介

首先你需要明确的是,我们所谓的完整的操作系统是指 kernel + application;而狭义上的 OS 仅仅指 kernel。

内核(kernel)其实也是个应用程序,它是用来管理软件发出数据 I/O 要求的程序,并将这些要求转译给 CPU 及其计算机组件。

内核是一个为众多计算机软件,提供对计算机硬件的安全访问的软件,由内核决定一个程序在什么时候,对什么硬件的哪部分操作多长时间。

06f8b46b40890960ccac09b29e6aa5d0.png

有了以上基础,我们就可以清楚地看懂 GNU/Linux 操作系统的体系结构了。 最上面的是用户空间,即我们执行应用程序的位置,其下为内核空间,正是 kernel 的所在之处。

由于直接操作计算机硬件很复杂,所以内核需要提供一种硬件的抽象,来完成上述操作。我们的 Linux 内核结构在硬件之上,抽象出接口(System call)系统调用来实现操作系统的功能。

库函数与 shell 会在后面的文章继续介绍给你,现在我们只需知道,他们俩是为了我们日常使用的方便,从而对系统调用抽象而成的接口。

这一部分最后我先列出来 kernel 的功能:驱动程序、文件系统、内存管理、进程管理、网络管理、安全等等,我相信跟着我的文章,后面你都会明白的。

Linux 发行版

接下来我们就到了 Linux 发行版(Linux distribution),这是基于 Linux kernel ,加软件组成的完整操作系统,且用户可通过软件包管理系统进行应用软件的管理。

软件包管理系统的作用是,提供在操作系统中安装、升级、卸载目标软件的方法,并提供对系统所有软件状态信息的查询。

这里不得不加上一句话,我相信你应该听说过 Linux 是开源的,没错,但是他们开源开的是内核的源代码,就是一堆文本文件。在这里你可以自由获取查看。

https://www. kernel.org/

一堆文本文件看着可不像操作系统吧,这就需要发行商来帮我们进行编译,成为光盘镜像文件,我们方可使用。就像是下面这些:典型特征就是,光盘图标,并且以 .iso 结尾。

a44182deb3258f11090c37e131444c70.png

在 GNU/Linux 操作系统中,最为常用的两类软件包管理工具为 RPM 与 DPKG。RPM ,即为 Redhat Package Manager。这里你只需要先知道 Redhat 红帽公司即可,突然这么多概念,别怕,我后面的文章都会给大家讲到的。

公众号回复「发行版」即可查看 Linux 发行版时间线,相信你会从中找到几个熟悉的名字。

Linux 的哲学思想

  • 一切皆文件:把几乎所有资源统统抽象为文件形式:包括硬件设备,甚至通信接口
  • 由众多功能单一的程序组成:一个程序只做一件事,并且做好;组合小程序完成复杂任务;
  • 尽量避免跟用户交互:目标,易于以编程的方式实现自动化任务;
  • 使用文本文件保存配置信息;

想要更好的理解这些哲学思想,就跟我慢慢深入地学习下去吧。我是一栋人欢迎添加关注,这里不止有 Linux,也有对生活、读书、思考的记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值