学习笔记——鸟哥的Linux私房菜基础篇(一)(鸟哥的linux私房菜有几部)

学习笔记——鸟哥的Linux私房菜基础篇(一)2、CPU架构分为简单指令集(RISC)和复杂指令集(CISC)
(1)RISC(Reduce

2、CPU架构分为简单指令集(RISC)和复杂指令集(CISC)。

(1)RISC(精简指令集计算机):这类CPU中,微指令集比较精简,持续时间和操作简单,指令集在进行复杂处理时具有良好的执行效果。使用指令集来完成它。常见的RISC指令集计算机有Oracle的SPARC系列、IBM的PowerPC、ARM CPU系列等。

(2)CISC(复杂指令集计算机):在这类CPU中,微指令集可以执行多种低级硬件操作。指令数量较多,每条指令长度不同,处理时间较长。执行。常见的CISC指令集CPU有AMD、Intel、VIA等x86架构CPU。

PS:1)x86的由来是Intel的代号是8086,后续系列有80286、80386等,所以这类CPU统称为x86。

2)x86和x86_64分别代表32位和64位。 32位计算机一次可以读取32个字节。

3) 较新的x86 CPU 添加了许多具有各种功能的高级指令集,例如加速多媒体指令集、虚拟化指令集、省电功能和64/32 位兼容技术。

3、计算机的分类:超级计算机(国防军事、航天、天气预报)、大型计算机(国家证券交易所、大型企业主机)、小型机(科学研究、工程分析)、工作站(专用计算机、弱电计算机和小型机、相比)个人计算机(强调稳定性和无停机时间)、微型计算机(个人计算机)。

4、换算下载速度时,1字节=8位,大家每天谈论的20M带宽就是20M比特每秒,换算成文件传输就是2.5M字节/秒。

以硬盘单位换算:500G硬盘500*1000*1000*1000Byte,使用二进制(基数1024)转换为文件就变成466G。物理硬盘的最小物理大小为512字节,即一个扇区。硬盘容量通常是根据扇区数来计算的,因此采用十进制计算。

5、BIOS(基本输入输出系统)是一组硬编码到主板上的存储芯片(只读存储器)中的程序,即使在断电的情况下也能记录数据。 BIOS 非常重要,是系统启动时首先读取的内容。

6.操作系统:操作系统也是管理计算机内硬件和驱动程序的所有活动的一组应用程序。

该操作系统至少包括以下核心功能:

1)系统调用接口:可以方便开发者与内核进行通信,并提供了一个接口供开发者使用。

2)程序管理(过程控制):CPU必须能够支持多任务操作,控制这些任务,有效分配CPU资源,协调程序工作顺序。

3)内存管理:内存非常重要。所有代码和数据在被CPU使用之前必须首先输入到内存中。

4)文件系统管理:输入/输出、文件格式等。如果某个特定的文件系统不受支持,则无法使用它。

5)设备驱动程序:设备驱动程序是硬件管理的核心之一,没有它们,核心就无法使硬件工作。

第一章 Linux是什么与如何学习

1.Linux和Unix的历史

(1)现代操作系统的原型:1969年之前,计算机主要用于军事和高科技用途,普通大众难以接触,架构设计难用,界面复杂,功能复杂。程序员将其打印在卡纸上并输入主机进行处理。后来操作系统经过改进,允许键盘输入,但到最后只有一台主机,所以大家都得等待。 20世纪60年代初,麻省理工学院发明了一种可以通过多个终端的兼容分时系统。终端用于访问主机并利用主机资源进行计算。这种兼容的分时系统可能是现代操作系统的祖先,并且是当时的一项突破性技术。

(2)Multics项目的失败:兼容的分时系统只能运行少于30个终端。 1965年左右,贝尔实验(Bell)、麻省理工学院(MIT)和通用电气(GE)大型机开发了Multics项目——,可以提供300多个终端。 1969年后,该项目被推迟并缺乏资金,一些最初的Multics项目参与者从中获得了电子,其中之一就是Ken Thompson。

(3)简化版Unics的诞生:Thompson有一台PDP-7主机,1969年8月,当他的妻子和孩子出去弹钢琴时,他无意中为主机创建了一个操作系统。的核心程序。他在美国西部用汇编语言编写了核心程序和一个小型文件系统。该系统是Multics 庞大而复杂的系统的极大简化。一位同事开玩笑地称他的系统为——Unics。汤普森的体系中有两个重要的概念。首先,所有程序和系统设备都是文件。其次,无论您构建编辑器还是辅助文件,每个文件都只有一个用途,而这些概念对于有效实现该目的非常重要。 Linux Impact 的后续开发。

(4)Unics的开发(用C重写):Thompson的系统非常容易使用,因此在贝尔实验室内广泛分布。汇编语言不是跨平台的,因此Thompson 后来与Ritchie 合作用B 重写了它。但B语言核心的编译效果并不好。 Dennis Ritchie随后将B语言重写为C语言,至此Unix版本正式发布。贝尔实验室是ATT 的一部分,忙于商业活动,当时Unix 并未被广泛接受,但这对学术研究人员来说是个好消息。由于是C语言,所以与硬件关系不大,Unix很容易移植。

(5)不同版本Unix的开发:1977年,伯克利大学的Bill Joy将Unix源代码修改为适合他的机器的版本。该版本被命名为Berkeley Software Distribution (BSD)。这是一个非常重要的版本。 Unix的Bill Joy后来成为Sun的创始人,FreeBSD后来安装在x86上。ATT的开发态度导致许多商业公司开发了自己的版本,例如ATT自己的System V和IBM AIX。由于当时的行业协议概念,每个操作系统的核心架构都是相似的,但是内核必须与硬件集成,因此每个操作系统只能运行在自己的硬件上才能执行。从1979 年的System V 第七版开始进行了改进,包括对x86 个人计算机的支持。

(6)开源Minix的诞生:ATT出于商业原因有意收回Unix的版权,特别是第7版提到了“源代码不能提供给学生”的限制。 Unix核心源代码创建于1984年,旨在帮助学生了解Unix(避免版本),Unix Like的核心程序Minix创建于1984年。它与Unix完全兼容,于1986年完成。作为一名老师,我坚持使用Minix,因为它主要用于教学,我不做任何业务操作,我只提供源代码。

(7)GNU项目的发展:Richard Stallman创建的GNU(GNU is Not Unix)项目已经启动。 Stallman 首先开始开发可以在Unix 上运行的软件,并且是开源且免费的。当时所有的软件都必须编译,所以我决定开发一个C语言编译器,GNU C Compiler(gcc)。 C 语言有很多版本,所有版本都获得了专利。他编写的C 编译器足以发布GNU 项目。于是他移植了Emacs程序编辑器。他最初开发Unix是为了检查语法错误,这在当时是一个很大的功能,后来创立了自由软件基金会(FSF),最终开发完成了GCC,还创建了许多函数库(GUN C库)。 )。这些豆子于1990 年左右完成。

GNU 开发的一些重要软件:Emacs、GNU C (GCC)、GNU C Library (glibc) 和Bash shell。尽管许多开发者使用这些工具来扩展自由软件,但GNU 构建自由Unix 操作系统的最初想法是:它没有发生。

(8)Linux正式诞生:1991年,芬兰大学生Linus Torvalds在BBS上发帖声称使用bash、gcc等GNU软件工具编写了一个小型核心程序。核心程序是一个玩具,而不是专业程序。然而,核心程序可以在Intel的386上运行,于是Linux的非凡之旅开始了。

2. Torvalds 的Linux 开发

(1)Torvalds就读于赫尔辛基大学,在当时只有16个终端的时候就有机会体验Unix操作系统。他想知道为什么他不赶快获得Unix,正如他后来了解到的那样。有一个类Unix系统,与Unix兼容,可以内置于Intel 386机器中;这就是Tanenbaum的Minix,幸运的是他也可以获得Minix的源代码。由于他前面提到的Unix是多任务的,所以他还测试了Intel 386硬件,发现它支持多任务。

(2) 对于Minix,Torvalds 意识到虽然它很棒,但作者的教授不愿意扩展它的功能,因此他决定暂时自己重写核心程序。我需要一个可以运行和编译源代码的环境。这时,GNU Lie提供的bash工作环境和gcc编译器出现了,使得Torvalds能够将GNU的自由软件核心程序与386紧密结合起来。此外,我们希望其他人能够提供更多的建议和反馈来开发这个操作系统。当时,他的重点是FTP 网站目录。Linux,所以大家都这么叫它核心,现在Linux就是内核。

(3)为了让他的Linux兼容Unix,他参考标准POSIX规范对其进行了修改。这使得Linux 和Unix 能够共享软件,许多志愿者开发人员加入了该项目,所有这些都形成了一个虚拟的虚拟社区。一个从未见过面的团队联合起来帮助Torvalds 改进Linux。

(4)早期的Linux是Torvalds为386编写的,与386硬件密切相关,并且是开源的,允许修改代码以适应环境。是的,除了x86支持之外,我们还支持IBM、HP等公司的硬件,以及后来基于ARM架构的小型单反电脑、智能手机(Android)、平板灯等。这些都是核心。 Linux。

3. Linux版本号根据核心发展的不同分为两种不同的核心号: 1.开发版本(development)。该版本用于测试和开发新功能。会添加到这个版本;如果没有问题,测试后会添加到下一个稳定版本;其次,稳定版本(stable)有偶数个版本,这个版本会添加到核心之后;功能已经成熟了。家庭版和企业版使用稳定的Linux平台。

4.区分Linux版本和Linux发行版。前者的核心(内核)在2015年才达到4.0,而后者发行版通常指第三方开发的Linux操作系统,如CentOS 7.x、Ubuntu等。由开发者自己命名的Linux版本号,例如来自第三方的14.x。

5. 随着Linux的出现,GUN项目能够运行自己的核心程序。由于Linux使用了大量的GNU软件,因此我们认为Linux的正式名称应该是——GNU/Linux。所有的自由软件都使用Linux作为其开发和测试平台。

6、虽然Torvalds开发的Linux内核及其提供的功能,以及运行在其之上的各种软件,已经是一个相当完整的操作系统,但是对于黑客工程师来说,维护起来却是困难且困难的。最初没有考虑普通用户的能力,后来很多商业公司将Linux内核(包括工具)与自己创造性的工具程序结合起来,形成了用户可以直接安装的Linux系统。内核+软件+工具+完全可安装程序”,我们称之为Linux发行版,中文译为Linux Publisher Kit。

我们整理了上百道【运维技术栈面试题】,成为您运维面试路上的好助手。这样,你就可以安心参加面试并获得高薪offer。

这些面试题涵盖了从Shell、MySQL到K8s等云原生技术栈,适合运维行业新人以及运维行业新人的面试需求。升职或换工作以增加薪水。

本次访谈集内容为

174 运维工程师面试题128 k8s 面试题108 shell 脚本面试题200 Linux 面试题51 Docker 面试题35 Jenkis 面试题78 MongoDB 面试题17 ansible 面试题60 dubbo 面试题53 Kafka 面试题18 mysql 面试题40 nginx 面试题77 redis 面试题Zookeeper 题28

总共1000多道面试题,内容全面且有价值。

174 道运营工程师面试问题

1.什么是运维?

2、运维人员在工作场所经常需要与操作人员进行交互。运营人员做什么工作?

3. 给定300台服务器,如何管理它们?

4、我们简单解释一下raid0、raid1和raid5这两种运行模式的运行原理和特点。

5、LVS、Nginx、HAproxy有什么区别,工作中如何选择?

6. Squid、Varinsh、Nginx 有什么区别,你在工作中如何选择?

7.Tomcat和Resin有什么区别?

8.什么是中间件?

9. Tomcat 的三个端口8005、8009、8080 是什么意思?

10.什么是CDN?

11.什么是网站灰度发布?

12、请简单说明一下DNS域名解析的过程。

13.什么是RabbitMQ?

14.Keepalived如何工作?

15.描述LVS工作流程的三种模式。

16、mysql的innodb如何识别锁定问题以及mysql如何减少主从复制延迟?

什么是CDN?

11.什么是网站灰度发布?

12、请简单说明一下DNS域名解析的过程。

13.什么是RabbitMQ?

14.Keepalived如何工作?

15.描述LVS工作流程的三种模式。

16、mysql的innodb如何识别锁定问题以及mysql如何减少主从复制延迟?

17.如何重置mysql root密码?

以上#学习笔记——鸟哥的Linux私房菜基础知识(一)相关内容来源网络,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91266.html

Like (0)
CSDN的头像CSDN
Previous 2024年6月21日
Next 2024年6月21日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注