1.Linux与windows的不同

- Linux严格区分大小写
- Linux中所有的内容以文件形式保存,包括硬件、用户和文件
- Linux不靠扩展名区分文件类型,是靠权限来区分,但是有一些约定的拓展名,是给管理员看的
    - 压缩包 .gz .bz2 .tar.ba2 .tgz
    - 二进制文件 .rpm
    - 网页文件 .html .php
    - 脚本文件 .sh
    - 配置文件 .conf
- Window下的程序不能直接在Linux中安装和运行
- Linux更多使用字符界面
    - 占用的系统资源更少
    - 减少出错和被共计的可能性,会让系统更稳定

2. 虚拟机的主要特点

- 不需要区分或重启开机就能在同一台PC上使用两种以上的操作系统
- 本机系统可以与虚拟机系统网络通信
- 可以设定并且随时修改虚拟机操作系统的硬件环境
- 系统快早可以方便备份和回滚

3. Linux系统启动

- 1. BIOS
    - 计算机痛点后,第一件事就是读取刷入ROM芯片的开机程序,这个程序叫做基本输入输出系统(Basic Input/Output System)
- 2. 硬件自检
    - BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"
    - 如果硬件出现问题,主办会发出不同含义的蜂鸣,启动终止。如果没有问题,屏幕就会显示出CPU、内存、硬盘等信息。
- 3. 启动顺序
    - 硬件自检完成后,BIOS把控制权交给下一阶段的启动程序。
    - 这时,BIOS需要知道下一阶段的启动程序具体存放在哪一个设备
    - BIOS需要有一个外部存储设配的排序,排在前面的设备就是优先转交控制权的设备。这种排序叫做"启动顺序"
    - BIOS按照“启动顺序”,把控制权交给排在第一位的存储设备
    - 如果没有启动顺序的设备,那就报错,找到后就不往下找。
- 4. 主引导记录
    - 计算机读取该设备的第一个扇区,也就是读取最前面的512个字节。如果512个字节的最后两个字节是0x55 和 0xAA,表明这个设备是可以启动的;如果不是,表明设备不能启动,控制权会交给下一个启动顺序中的设备
    - 这最前面的512个字节,就叫做主引导记录(Master boot read,缩写为MBR)

    - 4.1 主引导记录的解构
        - 主引导记录只有512个字节。它的主要作用是告诉计算机到硬盘的哪个位置去找操作系统
            - (1) 第1-446字节:是用来记录系统的启动信息的,调用操作系统的机器码
            - (2) 第447-510字节(64个字节):分区表(Partition table),分区表的作用,是将硬盘区分成若干个区,16个字节一个区,所以最多可以分成4个区
            - (3) 第511-512字节:主引导记录签名(0x55和0xAA),如果是这两个字节的,代表这个设备可以启动;如果不是,就不能启动,控制权会交给下一个启动顺序中的设备。
    - 4.2 分区表
        - 磁盘分区是使用分区编辑器在磁盘上划分几个逻辑部分
        - 磁盘一旦划分成多个分区,不同类的目录与文件可以存储进不同的分区内
        - 主引导记录因此必须知道将控制权转交给哪个区
        - 分区表的长度只有64个字节,里面又分成四项,每项16个字节。所以,一个硬盘最多能分四个一级分区,又叫主分区
【Linux】1. Linux的基础理论_分区
    - 4.3 扇区
        - 扇区是硬盘存储上的概念,机械硬盘的内部是金属盘片,将圆形的盘片划分成若干扇形区域,这就是扇区,若干个扇区就组成整个盘片
        - 扇区是硬盘上最小的读写单位,这个是硬盘决定的,不是操作系统决定的,磁盘半径越大,扇区就越大
        - 对现在的硬盘来说,逻辑扇区的大小等于物理扇区的大小,所以也并没有严格区分物理扇区和逻辑扇区
        
        - 4.3.1 物理扇区
            - 物理扇区就是底层硬件意义上的扇区
        
        - 4.3.2 逻辑扇区
            - 而在物理扇区之上,操作系统划分的逻辑扇区,是为了方便操作系统读取写入硬盘数据而设置的,其大小与具体地址,都可以通过一定的公示和物理地址对应
            - 同时如果出现的坏扇区,系统可以通过逻辑扇区,将物理上的坏扇区地址,重新定位到硬盘上备用的好扇区上,这样就业延长了硬盘的使用寿命
【Linux】1. Linux的基础理论_linux与windows区别_02
- 5. 硬盘启动
    - 计算机的控制权就要转交给硬盘的某个分区了
    - 四个主分区里面,只有一个是激活的,计算机会读取激活分区的第一个扇区,叫做"卷引导记录"(Volume boot record,缩写为VBR)

- 6. 操作系统
    - 控制权转交给操作系统后,操作系统的内核首先被载入内存
    - 以Linux系统为例,先载入/boot目录下面的kernel。内核加载成功后,第一个运行的程序是/sbin/init。它根据配置文件(Debian系统是/etc/initab)产生init进程。这是Linux启动后的第一个进程,pid进程编号为1,其他进程都是它的后代
    - 然后,init线程加载系统的各个模块,比如窗口程序和网络程序,直至执行/bin/login程序,跳出登陆界面,等待用户输入用户名和密码

4. 硬件设备文件名

- 只要插入硬盘,linux会自动检测和分配名称
- 一个硬盘可以分成很多个分区,每个分区都会有一个系统分配的名称
- 第一块SCSI硬盘名称叫sda,它的第一个分区叫sda1
硬件 设备文件名
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB硬盘 /dev/sd[a-p]
光驱 /dev/cdrom或者/dev/hdc
软盘 /dev/fd[0-1]
打印机(25针) /dev/lp[0-2]
打印机(USB) /dev/usb/lp[0-15]
鼠标 /dev/mouse

5. 分区

【Linux】1. Linux的基础理论_扇区_03
- 磁盘分区是使用分区编辑器在磁盘上划分几个逻辑部分
- 磁盘一旦划分成多个分区,不同类的目录与文件可以存储进不同的分区内
- 分区表的长度只有64字节,里面又分成四项,每项16字节。所以,一个硬盘最多只能分四个一级分区,又叫主分区

- 5.1 扩展分区
    - 随着硬盘越来越大,四个主分区已经不够了,需要更多的分区。但是,分区表只有四项,因此规定<html><span style="color:red;">有且只有一个区</span></html>可以被定义成扩展分区(Extended partition)
    - 所谓扩展分区,就是指这个区里面又分成多个区。这种分区里面的分区,就叫逻辑分区(logical partition)
    - 为了突破4个分区的限制,就取出一个分区作为扩展分区
        - 扩展分区最多只能有一个
        - 主分区+扩展分区 最多有 4 个
        - 扩展分区不能写入数据,只能包含逻辑分区,逻辑分区最多是23个,逻辑分区可写数据
        - 扩展分区包含了逻辑分区,那么扩展分区就大小为0了,所以不能写入数据
        - 这样,一个硬盘可以分成26个区,即C盘1个+D盘1个+E盘1个+F扩展分区中的23个逻辑分区 = 26个(为啥是26个?哈哈,因为26个字母呗)。

格式化

- 格式化是指根据用户选定的文件系统(如FAT16(2G),FAT32(4G)、NTFS、EXT2、EXT3、EXT4)对分区进行划分
- 目的是为了更好的写入和读取数据
- 主要是把整个区分切分成等大小的数据块,每个数据块是4KB,10K需要使用2个半的数据块。是存放文件的最小空间。
- 微软操作系统(DOS、WINDOWSD等)中磁盘文件存储管理的最小单位叫做簇
- 簇(cluster)的本意就是一组,即一组扇区(一个磁道可以分割成若干大小相等的圆弧,叫扇区)的意思。因为扇区的单位太小,因此把它捆绑在一起,组成一个更大的单位簇更方便灵活管理。
- 在分区中划出一篇用于存放文件分配表、目录表等用户文件管理的磁盘空间。
    - ID
    - 修改时间
    - 权限
    - 数据块位置
- 格式化会清空数据

挂载点

- 为了让Linux系统中可以访问这些分区,需要把这些分区挂在到对应的目录上
- 在Linux中把目录称为"挂载点"
- 把目录和分区链接在一起的过程叫做"挂载"
- "/"为根目录,必须挂载到一个分区上,默认所有子目录都会写入这个分区
- 同一级目录下面的所有子目录可以有自己的独立存储空间
- 必须有的分区
    - "/"根分区
    -   swap分区(交换分区,虚拟内存,一般为内存的2倍,不要超过2G)
- 推荐分区
    - /boot(启动分区,200M)单独分区,避免分区写满造成系统无法启动 
【Linux】1. Linux的基础理论_分区_04
- 挂在示例
    - /dev/sd2 挂在到了 / 目录上,也就是说向 / 目录下再写文件就是往 /dev/sd2 分区里写文件

MBR跟VBR的区别

- MBR是“主引导记录”,计算机读取设备第一个扇区的前512个字节,这512个字节就是“主引导记录”。其中:
    - 第1-446字节:是用来记录系统的启动信息的,调用操作系统的机器码
    - 后面64字节是分区表,用于对硬盘分区,每16个字节一个区,最多分4个区
    - 最后两个字节,如果是0x55跟0xAA,则代表可以成功启动,否则就代表不能启动。
- VBR是“卷引导记录”,计算机的四个主分区里面,只有一个是激活的,计算机会读取激活分区的第一个扇区,这个激活主分区中的第一个扇区就是“卷引导记录”.

为什么计算机都是从C盘开始,没有A盘和B盘

- 以前A和B盘都是软驱

进程和线程有什么区别和联系

- 进程:计算机里面分配资源的最小单位。
    - 比如你要干一个什么事,你首先要启动一个进程。
        - 举例生产桌子:
            - 你建一个厂房,向操作系统申请资源
            - 然后创建一个机器工人(线程),干活,生产桌子
                - 这个机器工人就是一个线程

- 一个进程里面至少有一个线程。