马哥Linux 学习第一课

计算机的组成

我想将计算机的发展历史放到后面来讲,因为自己很想通读计算机历史,弄清每个重要人物的故事。也因为最近想去好好读传记,那这就是个更棒的行为了。

那么现在还是先说说计算机的组成。

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

区别于哈佛架构(Harvard architecture)的,将程序指令存储和数据存储分开的存储结构。

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

如果看到这里突然想到 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. [1] PEDIAA 总之,ALU 是 CPU 的子部分,CPU 专注于处理指令的及时处理并准确地执行,而 ALU 侧重于数学和逻辑推理。

内核

首先分享一篇不错的博客:
https://www.ibm.com/developerworks/cn/linux/l-linux-kernel/index.html

我们所谓的完整的操作系统是,kernel + application。而狭义上的 OS 仅仅指 kernel。

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

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

由于直接操作计算机硬件很复杂,所以内核提供一种硬件的抽象,来完成此类操作。

我们的 Linux 内核结构在硬件之上,抽象出接口系统调用(System call)来实现操作系统的功能。

the operating system is an interface that allows the application programs to access hardware resources. The?kernel?is the core of an operating system. The operating system performs major tasks of a computer system such as memory management, process management, securing the data and many more. System call and library call are two terms associated with operating systems. [2] PEDIAA)

Linux 发行版

Linux 发行版(Linux distribution)是基于 Linux kernel ,由软件组成的操作系统,且用户用软件包管理系统进行应用软件的管理。

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

在 GNU/Linux 操作系统中,最为常用的两类软件包管理工具为 RPM 与 DPKG。

RPM ,Redhat Package Manager

DPKG ,Debian Package

开源协议

这里先连接上别人的文章吧
https://www.jianshu.com/p/a57c13631d5e
等到自己用时,有需求了再来更深入的了解。

Linux 的哲学思想

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

未来有更深入的了解时,便会加上自己的见解。

Linux 的目录

首先来了解一些特殊的目录:

. 代表此层目录
.. 代表上层目录
- 代表前一个工作目录
~ 代表目前使用者的家目录

还是再来连接上参考资源 鸟哥的 Linux 私房菜 5.3 Linux 目录配置

Filesystem Hierarchy Standard

原文地址:https://blog.51cto.com/14409538/2415169

时间: 2024-08-04 00:11:13

马哥Linux 学习第一课的相关文章

马哥Linux学习第一天第一课

一:计算机是怎样进行加法运算的 计算机是电设备,所以可以使用有电(表示1)和没电(表示0)两种状态来进行运算,也就是常说的二进制,如下图表示的是一个加法器,加入要计算2+3,就要通过通知针脚上的开关有电没电来表示0和1,进而表示输入的数字,在输入被加数的时候,要将加数放到存储起来,否则加数就会消失(因为是电信号,重新输入就以为着重新关闭合开关,之前的输入的数字就会消失),这时候就需要将加数存储到寄存器中. 二:解空间和问题空间 问题空间:对我们想要解决问题的描述,其实就是我们想要解决的问题. 解

马哥Linux学习笔记之三——加密

1.明文传输 ftp,http,smtp,telnet 2.机密性:plaintext-->转换规则-->ciphertext ciphertext-->转换规则-->plaintext 完整性:单项加密算法,提取数据特征码.输入一样,输出必然一样:雪崩效应,输入的微小改变,将会引起结果的巨大改变:无论原始数据是多少,结果大小都是相同的:不可逆,无法根据特征码还原原来的数据. 3.密钥 4.对称加密:有加密算法,有密钥 5.密钥交换算法 IKE(Internet Key Excha

马哥Linux学习笔记之四——DNS

1.BIND:Berkeley Internet Name Domain DNS:Domian Name Service 域名解析 2. Http 3.PAM 插入式认证模块 4.SMTP/POP3/IMAP4:Mail Server 5.域名 www.baidu.com这是一个主机名(FQDN,Full Qualified Domain Name,完全限定域名),com是一个域名,baidu.com也是一个域名,域名是好多主机的集合. 域名解析起后面有一个数据库,解析就是一个查询的过程.域名解

马哥Linux学习笔记之五——邮件服务

1.SMTP只负责将邮件发送到服务器,其他的,像身份认证检测邮件,都不能完成.(25/tcp) ESMTP:Extended SMTP POP3:Post Office Protocol IMAP4:Internet Mail Access Protocol 2.Open Relay:开放式中继 就是人家的邮件从这个邮件服务器过,你都帮忙转发,这样就会成为产生垃圾邮件的根源.所以都要关闭Open Relay 3.SASL,Simple Authintication Secure Layer,简单

马哥Linux学习笔记之二——网络

1.MAC(Media Access Control,介质访问控制) 是解决底层数据通信冲突的解决方案.因此,给每一个接入这样网络的主机一个id标示符,这个id标示符就叫做MAC地址. 2.CSMA/CD(Carrier Sense Multipath Access Collision Detection,载波侦听多路访问冲突检测),线型网络 以太网Ethernet最核心的标志. 3.Token-Ring(IBM)技术 环形网络解决冲突的方案.但是由于IBM的专利限制没能推广开来. 4.星形网络

马哥Linux学习笔记之一

1.在执行脚本的时候可以用./或者. ./(点空格点斜杠)来执行脚本 ./ 表示启动了另一个Shell去执行脚本(另一个进程),所以点斜杠执行脚本时,设置的环境变量会随着进程的退出而结束,其中的环境变量设置对当前Shell不起作用. . ./相当于source ./执行脚本,source是执行脚本当中的命令,也就是说在当前进程中执行命令,所以其中的环境变量的设置会对当前Shell其作用. 2. 读取硬盘上的文件 读取硬盘上的文件先要将文件读取到内存上,再将其在内存上地址交给进程,这样进程就可以读

linux学习第一课

linux学习第一课,打卡打卡 原文地址:https://blog.51cto.com/12910091/2436322

马哥Linux学习之Linux背景和主要发行版篇

Linux是一种 类Unix计算机操作系统的统称,简单的说来就是Linux内核+GNU工程的各种工具和数据库.Linux包括各种Linux的发行版,其实也就是为达到不同的目的而制作(目的包括对不同计算机结构的支持,对一个具体区域或语言的本地化,实时应用或嵌入式)的不同版本.   Linux的由来.在1991年4月,芬兰大学生linus因不满其教授对其教学用系统Minix(此教学系统又是Andrew Tannebaum教授为了不受AT&T许可协议的约束,为教学科研而开发的)不能作任何改动的态度,自

马哥Linux学习之YUM配置

学习到第11天了,系统相关的软件配置使用rpm包或源码配置都会遇到各种依赖问题,YUM就是Red Hat出的软件包管理工具,能有效的自动解决软件包的依赖问题. YUM(Yellowdog Update Modifier):把各种程序依赖关系都集成收集,并在安装软件时自动解决的工具.这个工具是使用C/S架构的,从而分为了服务器端(yum仓库)和客户端.  YUM仓库相关. yum仓库,主要由数据和元数据组成.数据就是各种各样的软件包,而元数据就是包名.版本信息.各包所包含的文件列表.依赖关系.包分