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个字节。所以,一个硬盘最多能分四个一级分区,又叫主分区
- 4.3 扇区
- 扇区是硬盘存储上的概念,机械硬盘的内部是金属盘片,将圆形的盘片划分成若干扇形区域,这就是扇区,若干个扇区就组成整个盘片
- 扇区是硬盘上最小的读写单位,这个是硬盘决定的,不是操作系统决定的,磁盘半径越大,扇区就越大
- 对现在的硬盘来说,逻辑扇区的大小等于物理扇区的大小,所以也并没有严格区分物理扇区和逻辑扇区
- 4.3.1 物理扇区
- 物理扇区就是底层硬件意义上的扇区
- 4.3.2 逻辑扇区
- 而在物理扇区之上,操作系统划分的逻辑扇区,是为了方便操作系统读取写入硬盘数据而设置的,其大小与具体地址,都可以通过一定的公示和物理地址对应
- 同时如果出现的坏扇区,系统可以通过逻辑扇区,将物理上的坏扇区地址,重新定位到硬盘上备用的好扇区上,这样就业延长了硬盘的使用寿命
- 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. 分区
- 磁盘分区是使用分区编辑器在磁盘上划分几个逻辑部分
- 磁盘一旦划分成多个分区,不同类的目录与文件可以存储进不同的分区内
- 分区表的长度只有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)单独分区,避免分区写满造成系统无法启动
- 挂在示例
- /dev/sd2 挂在到了 / 目录上,也就是说向 / 目录下再写文件就是往 /dev/sd2 分区里写文件
MBR跟VBR的区别
- MBR是“主引导记录”,计算机读取设备第一个扇区的前512个字节,这512个字节就是“主引导记录”。其中:
- 第1-446字节:是用来记录系统的启动信息的,调用操作系统的机器码
- 后面64字节是分区表,用于对硬盘分区,每16个字节一个区,最多分4个区
- 最后两个字节,如果是0x55跟0xAA,则代表可以成功启动,否则就代表不能启动。
- VBR是“卷引导记录”,计算机的四个主分区里面,只有一个是激活的,计算机会读取激活分区的第一个扇区,这个激活主分区中的第一个扇区就是“卷引导记录”.
为什么计算机都是从C盘开始,没有A盘和B盘
- 以前A和B盘都是软驱
进程和线程有什么区别和联系
- 进程:计算机里面分配资源的最小单位。
- 比如你要干一个什么事,你首先要启动一个进程。
- 举例生产桌子:
- 你建一个厂房,向操作系统申请资源
- 然后创建一个机器工人(线程),干活,生产桌子
- 这个机器工人就是一个线程
- 一个进程里面至少有一个线程。