Linux学习笔记之——Linux系统内部相关介绍

Linux学习笔记之——Linux系统内部相关介绍

 

       摘要:主要记录一些比较有用的能够帮助理解和使用Linux的知识、比如一些相关概念、没兴趣的看看就好、知道有这么个东西。注意事项、和一些常用目录的作用、以及非常重要的启动顺序

 

一:文件系统知识补充

 

       文件系统是一种用于向用户提供底层数据访问的机制。它将设备中的空间划分为特定大小的块(扇区),一般每块512字节。数据存储在这些块中,大小被修正为占用整数个块。由文件系统软件来负责将这些块组织为文件和目录,并记录哪些块被分配给了哪个文件,以及哪些块没有被使用。

不过,文件系统并不一定只在特定存储设备上出现。它是数据的组织者和提供者,至于它的底层,可以是磁盘,也可以是其它动态生成数据的设备(比如网络设备)。

       而文件系统的分类非常多、

       磁盘文件系统

      磁盘文件系统是一种设计用来利用数据存储设备来保存计算机文件的文件系统,最常用的数据存储设备是磁盘驱动器,可以直接或者间接地连接到计算机上。例如:FAT、 exFAT、NTFS、HFS、HFS+、ext2、ext3、ext4、ODS-5、btrfs。有些文件系统是进程文件系统(也有译作日志文件系统)或者追踪文件系统。

       光盘

       ISO 9660和UDF被用于CD、DVD与蓝光光盘。

       闪存文件系统

       闪存文件系统是一种设计用来在闪存上储存文件的文件系统。随着移动设备的普及和闪存容量的增加,这类文件系统越来越流行。

       数据库文件系统

       文件管理方面的一个新概念是一种基于数据库的文件系统的概念。不再(或者不仅仅)使用分层结构管理,文件按照他们的特征进行区分,如文件类型、专题、作者或者亚数据进行区分。于是文件检索就可以按照SQL风格甚至自然语言风格进行。

       例如BFS和WinFS。

       网络文件系统

       网络文件系统(NFS,NetworkFile System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制。

 

       在Linux下所有的设备、所有的文件、所有的你知道的东西都是文件!文件在他看来有两种:一种是字符型式的、一种是二进制形式的。键盘在他看来是字符设备、打印机也是字符设备、硬盘、U盘光驱是块设备、就是读取数据的时候一块一块的读取。Linux管理任何东西都是以文件的形式、编程简单。只针对文件系统编程。、它提供了一个VFS——virturlfilesystem 虚拟文件系统。它可以针对不同的文件系统进行读写、这样的好处就是简化编程、和Java的跨平台是不是很像?提供统一接口、在不同的平台上都能运行。

       随着Linux的不断发展,它所支持的文件格式系统也在迅速扩充,Linux系统核心可以支持十多种文件系统类型:Btrfs、JFS、 ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。

 

二:硬盘简介

      

       1、硬盘物理组成

 

      就硬盘的物理组件来说,硬盘其实是由许许多多的圆形硬盘片所组成的,依据硬盘片能够容纳的数据量,而有所谓的单碟(一块硬盘里面只有一个硬盘片)或者是多碟(一块硬盘里面含有多个硬盘片)的硬盘。

      硬盘里有磁头(head)在硬盘上读写,磁头固定在机械手臂上,机械手臂上有多个磁头,可以进行读取。当磁头固定不动时(假设机械手臂在动),硬盘转一圈所画出来的圆就是磁道(track)。两个硬盘片上的同一个磁道就是一个柱面,这个柱面也是分区时最小单位:由圆心向外画直线,可以将磁道再细分为扇区,扇区就是硬盘片上的最小的存储物理量。通常,一个扇区的大小约为512字节。这些就是整个硬盘的基本组成。

      

       2、硬盘接口

 

       硬盘接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口决定着硬盘与计算机之间的连接速度,在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。从整体的角度上,硬盘接口分为IDE、SATA、SCSI和光纤通道四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而光纤通道只在高端服务器上,价格昂贵。SATA是种新生的硬盘接口类型,还正出于市场普及阶段,在家用市场中有着广泛的前景。在IDE和SCSI的大类别下,又可以分出多种具体的接口类型,又各自拥有不同的技术规范,具备不同的传输速度,比如ATA100和SATA;Ultra160SCSI和Ultra320SCSI都代表着一种具体的硬盘接口,各自的速度差异也较大。

 

       IDE

       IDE的英文全称为“IntegratedDriveElectronics”,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。

 

       SCSI

       SCSI的英文全称为“SmallComputerSystem Interface”(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。

 

        3、MBR(Master bootRecord)

 

       MBR位于硬盘的第一个物理扇区(绝对扇区)柱面0、磁头0、扇区1处,MBR中包含硬盘的主引导程序和硬盘分区表。是一个磁盘最重要的部分、如果这部分坏掉、则整个磁盘都报废。

 

       4、Linux磁盘命名规则

 

       名称的起名规则——/dev/xxyN:

      1、Linux下装所有硬件设备的一个目录叫 /dev(devices)

      2、Linux没有C盘、D盘、Linux最根上的一个目录叫    /

      3、/dev/ ——是所有设备文件所在的目录名。因为分区在硬盘上、而硬盘是设备,所有这些文件代表了在/dev/上所有可能的分区。

      4、xx —— 分区名的前两个字母标明分区所在设备的类型。通常是hd(IDE磁盘)或sd(SCSI磁盘)。

      5、y——这个字母标明分区所在的设备、例如/dev/hda(第一个IDE磁盘)或者/dev/sdb(第二个SCSI磁盘)

      6、N——最后的数字代表分区。前四个分区(主分区或扩展分区)使用数字1到4来表示、逻辑分区永远从5开始、例如/dev/hda3是在第一个IDE硬盘上的第三个主分区。

 

三:Linux目录结构

 

       1、/      Linux文件系统的入口、也是处于最高一级的目录

       2、/bin       基础系统所需有的那些命令位于此目录、也是最小系统所需要的命令、比如ls、cp、mkdir等命令;功能和/usr/bin类似、这个目录中的文件都是可执行的、普通用户都可以使用命令。作为基础系统所需要的最基础的命令就是放在这里。

       3、/boot   Linux的内核及引导系统程序所需要的文件、比如vmlinuzinitrd.img文件都位于这个目录总、在一般情况下、GRUB或者LILO系统引导管理器也位于这个目录。

       4、/dev      设备文件存储目录、比如声卡、磁盘。。。

       5、/etc      系统配置文件的所在地、一些服务器的配置文件也在这里、比如用户账号及密码配置文件。

       6、/home  普通用户家目录默认存放目录

       7、/lib 库文件存放目录。

 

四:Linux 启动过程:

 

       1、loadbios(hardwareinforamtion) ——加电 自检。

       2、readMBR'sconfig to find out the OS(operation system) —— 读取配置、查找启动系统

       3、loadthekernel of the OS ——加载系统核心

       4、initprocessstarts... ——初始化启动程序

       5、extcute/etc/rc.d/sysinit——执行/etc/rc.d下面的sysinit。rc——runcommand, d——demon

       6、startothermodules(etc/modules.conf) ——启动其他模块、比如硬盘模块、光驱模块等等

       7、executetherun level scripts ——执行 启动层次 脚本

       8、execute/etc/rc.d/rc.local——非常重要、比如需要让某个程序自动启动。

       9、execute/bin/login——登陆界面、 

       10、startshell —— 登陆成功、shell启动。

 

       补充:

      run level:

      init n;

      0 —— 系统停机状态

      1 —— 单用户工作状态

      2 —— 多用户状态(没有NFS、即不能和其他人联网)

      3 —— 多用户状态(有NFS)

      4 —— 系统未使用、留给用户

      5 —— 图形界面

      6 —— 系统正常关闭并重新启动

 

注意:各个层级之间没有关系、比如我可以单独启动第三层次、还可以改动默认的启动层次

 

五:Linux 启动关机命令:

 

       exit 退出

       shutdown 关机

       reboot 重启

       logout

 

更多内容:Linux学习笔记之——起始篇

你可能感兴趣的:(Oscar_linux)