ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

【学习笔记】Linux基础(零):预备知识

2020-02-06 18:56:29  阅读:233  来源: 互联网

标签:架构 版本 预备 笔记 Unix 发行版 Linux x86


学习笔记(连载)之Linux系列

Note:本学习笔记源自《鸟哥的Linux私房菜(基础学习篇)》一书,为此书重要内容的摘要和总结,对于一些常识性的知识不再归纳

新型冠状病毒引发的肺炎战“疫”到了关键时期,在家无事可做,突发奇想将自己对于后端技术的学习成果通过Markdown格式记录下来,发表在博客上,帮助自己回顾学过的东西。《鸟哥的Linux私房菜》是一套很好的Linux学习材料,讲得很详细,也很深入。之前我学习Linux都是“用到哪儿,学到哪儿”,是搜索积累式的,但难免会欠缺系统性。看到这本书的口碑不错,就拿来读一读。对于有一定基础的朋友,可能会觉得本书过于啰嗦,完整阅读浪费时间,再此我将要点完整的做了整理和二次归纳,如果能帮助到您,我会倍感荣幸!Linux的学习永无止境,再此与君共勉!武汉加油!

零、Linux预备知识

0、硬件小知识

  • 精简指令集RSIC处理器的指令少,单个指令运行快但复杂任务所需要的指令多:Oracle公司的SPARC架构,IBM公司的PowerPC架构,ARM架构等;复杂指令集CSIC:Intel公司x86架构及其兼容型
  • 为了与32位的x86架构区分开来,x86_64专指64位x86架构;同属于x86架构,i386指80386机,i686指Pentium II/Intel Celeron或AMD Athlon(K7)机
  • 比TB(Tera Bytes)更大的容量单位好友EB(Exa Bytes)和ZB(Zetta Bytes)
  • 存储上(Bytes),相邻单位为1024倍的关系,而速度(Hz)上,通常为1000倍的关系;值得注意的是,硬盘制造商通常会采用1000倍关系,这与扇区(sector)数有关(传统的1个扇区=512Bytes,现在有了4K大小的扇区)
  • 北桥连接CPU和内存、显卡,总线速度较快;南桥连接硬盘控制器、外设等速度较慢的设备;新的Intel架构主板往往将内存控制器集成在CPU中,采用单个桥芯片(南桥),以提高速度,CPU与内存、显卡、南桥之间通过QPI与DMI(Intel)或Hyper Transport(AMD)技术通信
  • 前端总线FSB是内存控制器与内存之间的总线
  • L2 Cache一般为容量小、单位容量晶体管数目多、速度比DRAM快的SRAM存储器,设计在CPU内部,运行在与CPU一样的频率上,存放一些经常被使用的数据,减少低速的内存访问
  • SATA每10Bits数据都有2Bits用作校验,带宽计算需要注意
  • SAS即串行SCSI(Serial Attached SCSI),比SATA快但成本高
  • IOPS:Input/Output Operations Per Second
  • PCIe(PCI Express)总线的xn是可以累计计算的,比如一个x16控制器可以带动两个x8的设备或一个x8和两个x4的设备全速工作;PCIe通道有的是直连CPU的,速度快,有的是通过南桥的PCIe 2.0/3.0控制器间接控制,速度较慢(有时候DMI总线宽度会成为PCIe的瓶颈);有些x16插槽只有x8或更少的部分有金手指,需要查阅主板说明书
  • GT/s即千兆传输每秒(Giga Transmission per second),是物理层通信速度,需要按照通信协议和总线宽度的不同转换为文件传输速率GByte/s
  • 使用cat /proc/cpuinfolspci命令可以查看硬件信息

1、Linux的历史

  • MIT的兼容分时系统CTSS(Compatible Time-Sharing System)利用终端机访问和共享大型机资源,终端机仅有I/O功能

  • MIT&GE发起Multics计划,强化多用户分时系统,Bell实验室退出Multics计划

  • Bell实验室Ken Tompson用汇编语言写出Unix核心原型(两个重要思想:程序和系统装置都是文件;程序只有一个目的,且要有效地完成目标)

  • 1973年Unix诞生,随后被以高级语言重构(Dennis Ritchie),伴随C语言的诞生,高级语言带来强大的可移植性

  • 1977年加州大学伯克利分校,类Unix系统BSD诞生

  • 1979年,AT&T发布System V,一个x86上的Unix发行版,Unix向小型机和个人计算机迁移

    Note:发行版-将操作系统和工具软件(如图形界面)、安装程序、文档等打包发布

  • 1979年,AT&T决定不再公开Unix原始码

  • 为了在拿不到原始码的情况下进行Unix内核教学,1984年x86架构下Minix系统开始编写,非免费

  • 1984年,Stallman发起GNU(GNU‘s Not Unix)计划,参考Unix上的软件自己写了一些自由的小软件,并筹划编写GNU C Compiler(gcc),向Unix移植了自己写的Emacs编辑器,成立自由软件基金会FSF,编写GNU C Library(glibc)和Bash Shell,起草通用公共许可证GPL防止自由软件被利用

  • 1988年MIT主导发表了X Window System,成立XFree86组织,编写图形GUI

  • 1991年Linus Torvalds开发出Linux v0.02核心原型,开放源代码,Linux诞生并在开发者社区文化下迅速发展

2、有关Linux的小知识

  • Linux是操作系统,包括核心(含有少量核心工具)和系统调用两层,是硬件和应用程序之间的接口
  • 最初Linux基于Intel 80386架构编写,在FTP上共享源代码(GNU GPL协议),BBS上进行开发交流,很快被移植到其他平台架构
  • Linux的开发参考了IEEE为Unix设计的标准的POSIX(Portable Operating System Interface)规范,是一种类Unix(Unix Like)操作系统
  • Linux内核采用模块化开发,新功能引入快
  • Linux的内核版本号:主版本.次版本.释出版本-修改版本,通过uname -r命令查询;注意区分发行版版本和内核版本
    • 2.6.x版本以前,主、次版本为奇数是发展中版本,偶数为稳定版本;新功能累积产生新的释出版本;针对某个版本的核心修改程序产生修改版本
    • 3.0版本后主要依据主线版本(MainLine)开发核心,如3.9主线版本继续开发产生3.10主线版本
    • 有些核心版本在结束开发后不再有人维护(End of Live,EOL),有些则是长期维护版本(LTS)
  • 不同Linux发行版使用同样的Linux内核,应用软件大同小异,基本上都遵守Linux Standard Base(LSB)和File system Hierarchy Standard(FHS)规范以约束开发者;商业公司开发的发行版通常比社群版更加保守稳定
    • 采用RPM软件管理的发行版:RHEL和SuSE(商业);Fedora、CentOS和OpenSuSE(社群)等
    • 采用DPKG软件管理的发行版:Ubuntu(商业);Debian(社群)等
    • 其他发行版:Arch、Gentoo等
  • 自由(Freedom)!=免费(Free),“自由”包括:取得软件与源码、复制、修改、再发行和回馈社群的权利与义务,不可以修改自由软件的许可证,也不能将其单纯贩卖(贩卖服务、手册等附加价值是可以的)
  • 自由软件是许可证更加严格的开源软件,非自由的开源软件再发布的授权可以与原软件不同,其全部或部分可作为其他软件的一部分,对商业行为相对更加友好,比如Apache授权、MIT授权和BSD授权

3、关于Linux学习方法

  • 兴趣+成就感

  • 习惯命令行,抛弃X Window(X11)环境
  • 从头学习Linux基础,不要急于搞网络应用
  • 找一本好的工具书,用作命令参考
  • 多多上机练习,简易在实体机上装个Linux发行版(Distribution)
  • 遇到问题先自己摸索尝试解决
    • 在主机或网络数据库上查询How-To/FAQ
    • 注意屏幕信息输出,勤于查看/var/log里的日志
  • 善于提问,《提问的智慧》
  • 参与讨论、协助回答问题
  • 尝试Debug,不要利用重启/重装系统解决问题
  • 养成做记录和整理的习惯,初学时多多借鉴他人的资料
  • 尝试多种解决问题的办法,举一反三,培养长远、整体的眼光
  • 不要有知识偏见
  • 生产环境下的操作一定要谨慎,打字过快容易出现错误

标签:架构,版本,预备,笔记,Unix,发行版,Linux,x86
来源: https://www.cnblogs.com/zjuyzj/p/12269820.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有