Linux基础入门,简单讲解
涵盖内容:计算机组成与Linux操作系统概论
任务要求:大概了解计算机的主要组成部件,明白计算机磁盘分区方式,常用的计算单元换算以及LINUX是什么、有什么特点即可。
文章目录
1、请写成计算机的五大组成部分
主要分为五个部分:控制器、运算器、存储器、输入设备、输出设备
- 控制器:是整个计算机的中枢,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址、协调计算机各部分工作及内存与外设的访问等
- 运算器:对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。
- 存储器:存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。
- 输入设备:是计算机的重要组成部分,其作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机中。常见的输入设备有键盘、鼠标、光电输入器、磁带机等等
- 输出设备:是计算机的重要组成部分,同输入设备一起合称为外部设备。它吧计算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。常见的输出设备有:打印机、磁带、终端CRT等等
CPU=控制器+运算器
主板=I/O总线,输入输出系统
存储器=内存+硬盘
I/O设备:键盘,鼠标,扫描仪,
2、单位与进制转换
1B = _8_bit
1MB = _1024X1024_B = _1024X1024X8_bit
十进制的427转换为二进制是:110101011_
二进制的1011001.011转换为十进制是:89.375_
相关知识:
-
计算机的存储单位
换算率等于1024,从大到小顺序为T、GB、MB(兆)、KB、B、bit(位)
位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。
字节byte:8个二进制位为一个字节(B),最常用的单位
1 Byte(B) = 8 bit
1 Kilo Byte(KB) = 1024B
1 Mega Byte(MB) = 1024 KB
1 Giga Byte (GB)= 1024 MB
1 Tera Byte(TB)= 1024 GB
1 Peta Byte(PB) = 1024 TB
1 Exa Byte(EB) = 1024 PB
1 Zetta Byte(ZB) = 1024 EB
1Yotta Byte(YB)= 1024 ZB
1 Bronto Byte(BB) = 1024 YB
1Nona Byte(NB)=1024 BB
1 Dogga Byte(DB)=1024 NB
1 Corydon Byte(CB)=1024DB
-
计算机的进制转换
//整数部分:连除取余,直到0。将每次的余数串联再反转 如: 50÷2=25 余 0 25÷2=12 余 1 12÷2=6 余 0 6÷2=3 余 0 3÷2=1 余 1 1÷2=0 余 1 反向遍历每次的余数,依次是 1,1,0,0,1,0 因此十进制数 5050 转成二进制数是110010 (2) //小数部分:连乘取整,直到0。将每次的整数串联得正序 如: 0.6875×2=1.375 整 1 0.375×2=0.75 整 0 0.75×2=1.5 整 1 0.5×2=1 整 1 正序遍历每次的整数部分,依次是 1,0,1,1 ,因此十进制数 0.6875 转成二进制数是0.1011(2)
一个数在计算机中的二进制表示形式称为这个数的机器数。机器数是有符号数,机器数的最高位是符号位,0表示 0 或正数,1 表示负数。
- 原码是机器数的符号位加上机器数的真值的绝对值,最高位是符号位,其余位表示数值。
- 反码在原码的基础上得到,0 和正数的反码与原码相同,负数的反码是将原码的除了符号位之外的每一位取反,取反即为将 0 变成 1 或将 1 变成 0。
- 补码在反码的基础上得到。0 和正数的补码与原码、反码相同,负数的补码是在反码的基础上加 1 得到。
3、 请简述HDD与SSD的特点和区别
简单介绍(引自百度百科):
硬盘有【机械硬盘HDD】和【固态硬盘SSD】之分
固态盘(SSD) 通常使用基于闪存的存储器来存储数据,因此没有活动部件。 它们具有比机械硬盘更快的读/写速度、更短的访问时间(更少的延迟)以及更高的每GB 存储成本。 机械硬盘(HDD) 使用旋转的磁性介质来存储数据,可通过执行器臂(非常类似于电唱机)上的读/写头访问数据。
-
机械硬盘:即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。
物理硬盘将数据写在具有磁性物质的碟片上面,主要通过在机械手臂上的磁头进行读写。实际运行时,主轴马达让碟片转动,然后机械手臂可伸展让磁头在碟片上进行读写的操作。
-
固态硬盘:又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘。
物理硬盘有个致命的问题:需要驱动马达去转动碟片
,这会造成很严重的磁盘延迟,影响电脑速度。于是以闪存做主体的固态磁盘应运而生。 -
性能比较上:
- 读写速度比较:HDD硬盘读取速度极限是200M/s,写入速度也很难突破100M/s;SSD硬盘在传输速度上有很大的优势,读写速度远快于HDD。
- 数据安全比较:传统的HDD硬盘通过磁头读取盘片来完成数据读写,在高速旋转过程中盘片和磁头碰撞更容易造成数据受损,而SSD硬盘没有盘片,只要其芯片不受到外挤压产生形变,数据就能获得安全的保存。SSD的数据存储更安全。
- 经济方便比较:SSD硬盘在读写速度和数据安全较HDD有较大优势,但SSD成本更高,价格更昂贵。
- 容量比较:传统的HDD硬盘容量大,目前的主流硬盘容量为500G~2TB,而现在SSD硬盘的主流容量是128G或者256G。简单来说,HDD物理磁盘较SSD固态磁盘容量更大。
- 功耗噪音比较:HDD硬盘高速转动的盘片需要一个高功率的电机来驱动,而SSD硬盘不需要电机来驱动,这导致HDD功耗大了很多,这也是HDD磁盘产生噪音的原因。
简单说来:HDD与SSD的本质区别在于读写文件的方式,前者通过磁头转动读取磁盘中的信息,后者依赖具有直接读取特性的闪存。
现在大家一般以SSD作为系统盘(C盘),然后将大多数据存放在HDD上(D盘)
4、请简述什么是操作系统
操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
简单来说:操作系统(Operating System,OS)其实也是一组程序,但它的功能主要在于管理电脑的所有活动及驱动系统中的所有硬件
。
5、请简述什么是gcc和glibc,除了gcc以外,你还知道哪些linux上的C语言编译器
gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。而Linux系统中的gcc是GNU推出的功能强大、性能优越的多平台编译器。
glibc是GNU发布的libc库,也即c运行库。glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运行库 都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
Linux上的其它C语言编译器有:
-
EGCS(Experimental/Enhanced GNU Compiler System),这是gcc的发展方向, 把fortran等编译器集成进来,并把对gcc的各种改进/port都集成回去(如gcc 2.7系列据说是 没有对Pentium进行优化的, 而egcs则把pgcc对Pentium的一些优化集成进去),现在gcc的开发工作主要就是egcs。参考链接
-
PGCC(Pentium GCC) 。创建 pgcc 是为了解决 Pentium 处理器架构的不同优化特性,而当时 GCC 在 Pentium 特定优化方面做得很差。pgcc可以看做是gcc的一个分支,事实上,pgcc 是作为 egcs 的一组补丁发布的,egcs 现在是官方的 GNU 编译器。pgcc 的主要好处是对 Pentium CPU 进行了更好的优化。参考链接
6、请简述LINUX与Windows相比有什么好处,为什么我们需要学习比较难用的Linux呢?
Linux 系统相较于Windows系统区别在于Linux系统稳定且有效率,免费或少许费用,漏洞少且快速修补,多任务多用户,更加安全的用户及文件权限策略,适合小内核程序的嵌入系统和相对不耗资源等优势。引自链接
LINUX与Windows相比的好处:
- 免费开源:Linux 基于GPL协议 GNU General Public License ,这意味着它不用花钱即可下载,且任何人都可以自由的使用或者是修改其中的源代码,这种开放性架构对我们来说是相当重要的。
- 可定制:对应上一点,Linux系统是开源的,每个人都可以获得其源码加以定制。
- 稳定性高,速度快:Linux较Windows所需的配置更低,系统本身所占空间也更小,操作的流畅性、稳定性都更优于Windows。这就是为什么在需要长期稳定运行的网站服务器上、在处理大数据的集群系统中,以及需要协同工作的环境中要采用 Linux系统的原因了。
- 命令行功能强大:与Windows命令行功能不同,在Linux中,命令行功能是Linux的核心所在。这意味着,只要熟练掌握Linux的命令行指令,我们基本可以让Linux做任何事。
我们为什么要学习比较难用的Linux系统:
- 最关键的一点: 由于Linux高效率、易于裁剪、应用广等种种优点,我们在以后的实际工作中往往免不了使用Linux,学会Linux是职业必备。
- 我为什么要学Linux: 要学习
运维
,免不了先学Linux。Linux目前是运维工作中,不可替代的一部分。