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

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

(1)RISC(Reduced Instruction Set Computer):这种CPU中,微指令集比较精简,时间段、动动单纯,指令集执行效果较佳;若做复杂事情,由多个指令集完成。常见RISC指令集电脑有:Oracle的SPARC系列、IBM的PowerPC、ARM CPU系列等。

(2)CISC(Complex Instruction Set Computer):这种CPU中,微指令集可以执行一些低阶的硬件操作,指令数多且复杂,每条指令长度不一样,执行花费时间也较长。常见的CISC指令集CPU有:AMD、Intel、VIA等x86架构的CPU。

PS:1)x86由来因Intel研发CPU代号为8086,后续系列80286、80386…,因此这类CPU统称为x86;

2)x86、x86_64分别代表32位和64位,32位电脑一次可以读入32个字节;

3)新的x86 CPU,增加了很多先进的指令集,这些指令集有不同的作用,如加速多媒体指令集、虚拟化指令集、省电功能、64/32位兼容技术等。

3、 计算机分类:超级计算机(国防军事、太空、气象预测)、大型计算机(全国性证券交易、大型企业主机)、迷你计算机(科研、工程分析)、工作站(特殊用途计算机、弱与迷你计算机,相比于个人电脑强调稳定不宕机)、微电脑(个人计算机)。

4、下载速度换算,1byte=8bit,大家日常说的带宽如20M是20Mbits per second,换算成文件传输 2.5Mbyte/s。

硬盘单位换算:500G硬盘 500*1000*1000*1000Byte,转换成文件使用二进制(1024为底),就变成466G。物理硬盘最小物理量为512Byte,成为一个扇区(sector),通常硬盘容量是按多少个扇区来算的,所以才会采用十进制计算。

5、BIOS(Basic Input Output System)是一套程序,这套程序写死在主板上内存芯片上(只读存储器,Read Only Memory),没有通电时也能够把数据记录下来。BIOS非常重要,系统开机时候会首先去读取它。

6、操作系统:操作系统也是一堆应用程序,管理计算机的所有活动以及驱动中的硬件。

操作系统至少包含如下核心功能:

1)系统呼叫接口(System call interface):方便开发者与核心进行沟通,提供接口供开发者使用

2)程序管理(Process control):CPU支持多任务运算,核心必须能控制这些工作,有效分配CPU资源,安排程序工作顺序

3)内存管理(Memory managerment):内存非常重要,所有代码与数据必须先进入内存中,才能供CPU使用

4)文件管理系统(Filesystem managerment):输入输出,文件格式等,如果不支持某个文件系统,那么你将无法使用

5)装置驱动(Device drivers):是硬件管理的核心之一,没有驱动程序,核心就无法让硬件工作。

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

1、Linux与Unix历史

(1)现代操作系统雏形:1969年以前,电脑主要用于军事、高科技,一般人难以接触,而且架构设计难用、接口复杂、周期长;程序设计者通过读卡纸上面打印,输入主机进行计算;后来操作系统有所改良,可以键盘输入,但是毕竟主机只有一部,大家还是要等待;1960年代初,麻省理工发明了兼容分时系统(Compatible Time-Sharing System),它可以通过多个终端(terminal)来进入主机,来利用主机资源进行计算。这种兼容分时系统可以成为现代操作系统的鼻祖,在当时属于划时代的技术!

(2)Multics计划失败:兼容分时系统可以运行不到30个终端,1965年以前后,由贝尔实验(Bell)、麻省理工(MIT)、通用电气(GE)共同发起Multics计划——目标让大型主机可以提供300个以上终端。1969年以后该计划落后,资金短缺,Bell实验室退出该计划;原本参与Multics计划的人从中获取一些电子,Ken Thompson是其中一位。

(3)简化版Unics诞生:Thompson有一台PDP-7主机,他希望针对这部主机开发一个操作系统核心程序;非常巧合的1969年八月份,趁着Thompson的妻儿去美国西部弹琴,他用一个月的时间用汇编语言编写了核心程序,以及一个小小的文件系统,这个系统就是Unix的原型;他对Multics庞大的复杂系统做了不少简化,于是同事们戏称他这个系统为——Unics。Thompson的系统有两个重要的概念:一所有程序、系统装置都是文件;二不管构建编辑器还是附属文件,所有文件只有一个目的,且要有效完成目标;这些概念对后来的Linux发展有着重要的影响。

(4)Unics的发展(C语言重写):因为Thompson的系统太好用,在贝尔实验室内部广为流传;因为汇编语言无法跨平台,后来Thompson与Ritchie合作以B高阶语言重写,但是B语言编译核心效果不好,后来Dennis Ritchie将B语言重新改写成C语言,再以C语言重写Unics,至此最后正式发行Unix版本。贝尔实验室属于AT&T,它忙于商业活动,对Unix不支持不排斥,Unix当时并不被一般人所接受,但是是学术研究者的福音。因为是C语言与硬件性相关不大,因为Unix很容易移植。

(5)Unix各个版本的发展:1977年,伯克利大学的Bill Joy在Unix的源码基础上改成适合自己机器的版本,这个版本命名为Berkeley Software Distribution(BSD),它是Unix的一个很重要的分支;Bill Joy后来Sun公司的创办者;后来安装在x86上的FreeBSD即是从BSD改版而来;由于AT&T的开发态度,很多商业公司开发了自家的Unix版本,如AT&T自家的System V,IBM的 AIX等。因为当时内业协议的概念,自家的操作系统虽然核心架构虽然大同小异,但是核心(Kernel)必须与硬件结合,因此各家操作系统,只能在自家的硬件上运行。1979年System V第七个版本以后有所改善,另一大特色支持x86个人计算机。

(6)开源Minix诞生:AT&T处于商业考虑,打算收回Unix版权,特别在第七版中提到“不可对学生提供源码”的限制;Andrew Tanenbaum教授为了教授学生认识Unix,完全不看Unix核心源码(为了避免版本)的基础上,在1984年编写了Minix这个Unix Like的核心程序,他完全兼容Unix,1986年完成;作为老师主要用于教学,所以对Minix点到为止,只提供源码,没有商业运作。

(7)GNU计划发展:Richard Stallman1984年发起GUN(GNU is Not Unix的缩写)计划,目标建立一个自由、开发的Unix操作系统(Free Unix);由于开发操作系统难度太大,Stallman就先着手开发Unix能运行的软件,并开源免费;当时的软件都需要编译,他决定开发一个C语言编译程序GNU C Compiler(gcc),当时C语言版本多,但是都是专利,如果他写的C编译器足够优秀可以让GNU计划出现在大众面前;刚开始并不顺利,他就将原来开发的Emacs程序编辑器移植到Unix上,可以检验语法错误,当时来说太棒了;后来成立了自由软件基金会(FSF,Free Software Foundation);最终完成了GCC,同时还撰写了很多函数库(GUN C library),以及后来被操作系统使用的基本接口BASH shell,这些豆子1990年左右完成。

GNU发展的几个重要软件:Emacs、GNU C(GCC)、GNU C Library(glibc)、Bash shell;很多开发者利用这些工具壮大了自由软件;但是GNU最初的建立一个自由的Unix操作系统的构想并没有实现。

(8)Linux正式诞生:1991年,芬兰大学生Linus Torvalds 在BBS发帖,宣称他以bash、gcc、等GNU软件的工具写了一个小的核心程序,该核心程序是个玩具,不像GUN那么专业,不过核心程序可以在Intel的386极其上面运行;从此开始了Linux的不平凡之路。

2、Torvalds 的Linux发展

(1)Torvalds进入赫尔辛基大学,有机会接触到只有16个终端的Unix操作系统,他在思考为何不着急搞一部Unix来玩;后来他知道有一个类似Unix的系统,并且与Unix兼容,可以泡在Intel 386机器上,这就是Tanenbaum的Minix,他还可以获取到Minix的源码;幸运的是他有机会贷款买了一部Intel的386来玩,由于以往接触的Unix都是多任务操作,因此他对386硬件也进行了测试,得到的结果是支持多任务操作。

(2)在Minix上Torvalds发现虽然它很棒,但是创造者教授却不愿意增强功能,因此他决定自己改写核心程序;这时候他需要能够进行工作的环境,以及可以将源码编译成可执行文件的编译程序;这时候GNU假话提供的bash工作环境以及gcc编译程序等起作用了,让Torvalds可以专心撰写核心程序;Torvalds让GNU的自由软件核心程序与386紧紧结合在一起;他的这个小小的操作放在BBS上,他只是觉得好玩,另外他希望别人给更多的建议和回馈来发展这个操作系统;因为当时他防止核心的那个FTP网站目录为:Linux,所以大家便称这个核心为Linux;此时的Linux就是那个kernel。

(3)为了让自己的Linux能兼容Unix,他参考标准的POSIX规范对Linux进行改造,这使Linux与Unix可以共享软件;大量的志愿开发者加入到项目中来,大家组成一个不见面的虚拟团队,一起来帮助Torvalds改善Linux。

(4)早期的Linux由Torvalds针对386写的,跟386硬件有很大相关性,所以早期Linux不具备移植性;因为开源,可以修改代码去适应环境,1994年以后Linux被开发到很多硬件上面去了,除了支持x86,还支持IBM、HP等公司的硬件,以及后来的小型单反计算机、基于ARM架构的智能手机(Android)、平板灯,都是Linux的核心。

3、Linux的版本号,Torvalds根据核心的发展分类两大类不同核心编号:一发展中版本(development)主、次版本为奇数,这种版本是为了测试与发展新功能;新的功能会增加到这种版本中;测试没有问题后放入下一个稳定版本中;二是稳定版(stable)主、次版本为偶数,核心功能成熟后加入此版本,一般家庭、企业版本用稳定的Linux平台。

4、区分Linux版本与Linux distribution版本,前者2015年核心(kernel)只到4.0,后者发行版一般指第三方开发的Linux操作系统;如CentOS 7.x,Ubuntu 14.x等,是第三方开发商自己命名的Linux的版本号。

5、Linux的出现让GUN计划有了自己自己的核心程序,GNU软件不必只能跑在Unix上了;Linux用了很多GNU软件,因此Stallman认为Linux全名应该叫——GNU/Linux;后续很多自由软件都以Linux为开发测试平台。

6、虽然Torvalds负责开发的Linux备Kernel与Kernel提供的功能,以及上边运行的各种软件,已经是一个相当完整的操作系统了;不过这种操作系统很难,早期由黑客工程师维护,没有考虑一般使用者的能力;后来很多商业公司将Linux kernel(含tools)与各种软件整合起来,再加上自己具有创意的工具程序,并形成用户可以直接安装的Linux系统;这个“Kernel+Software+Tools+可完全安装的程序”,我们称之为Linux distribution,中文翻译Linux发布商套件。

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪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面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、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密码?

  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
鸟哥Linux私房笔记是一本关于Linux操作系统的教材。它包含了许多有关Linux的知识和技巧,从Linux基础知识到高级的系统管理和网络配置都有所涉及。其中第一章介绍了Linux的起源和学习方法,提到了Unix的诞生和Linux内核的发展历程。第二章讨论了主机规划和磁盘分区的问题,包括文件的属性和权限。第三章和第四章讲述了Linux的文件和目录管理,以及如何使用预留分区进行备份。总的来说,鸟哥Linux私房笔记是一个非常实用的学习资源,可以帮助读者更好地理解和应用Linux操作系统。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Linux 读书笔记之《鸟哥Linux 私房 基础学习(第四版)》](https://blog.csdn.net/Csdn_Darry/article/details/131259658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [鸟哥linux私房学习笔记](https://blog.csdn.net/ThomasCai001/article/details/100084299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值