Linux开机启动流程/socket/软中断和硬中断

一.Linux开机启动流程

开机启动流程的意义:

        1.掌握让某个软件开机自动运行

        2.开机不能正常启动,是什么原因,或者那个环节出现了问题

        3.防止黑客植入木马,去查询黑客会把木马放到哪些地方

开机启动流程:

1.power on开机

2.POST开机自检,指计算机系统,接通电源,包括对CPU、系统主板、基本内存、扩展内存等设备的测试,如果发现错误,会给操作者提示或者警告。简化或者加快该过程,可以使系统能够快速启动。

3.BIOS程序,完成开机自检的程序。BIOS就是Basic Input Output system的缩写,简称基本输入输出系统。BIOS是电脑启动时加载的第一个软件。

它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

ROM存储器 : read only memory --》只读的存储器 断电信息丢失

RAM存储器: random access memory 随机存取存储器 --》可读可写 断电信息不丢失

BIOS的配置固化到了主板上面的CMOS芯片上面, BIOS是一个程序会读取CMOS芯片里的参数,了解cpu的配置,时间的配置,启动顺序的配置等

CMOS芯片:CMOS芯片是一种低耗电存储器,其主要作用是用来存放BIOS程序中的设置信息以及系统时间日期。如果CMOS中数据损坏,计算机将无法正常工作

4.boot启动顺序检查,启动第一启动顺序

boot启动顺序,一般来说是:可移动设备--->硬盘--->光驱--->网络中安装启动服务器

我们电脑在没有连接外驱设备的情况下,一般是选择硬盘作为第一启动顺序

​​​​​​​

5.硬盘中的MBR(master boot record)程序

MBR也就是主引导记录,它位于硬盘的0磁道,0柱面的1扇区,然后MBR中有一个grub2引导程序,是用来启动Linux系统的

MBR主引导记录的组成:

        分区表 + grub2主引导程序 + 类型    总共512个字节

grub是linux系统的启动程序

grub2是grub的第2个版本

6.加载/boot中文件系统的驱动

[root@localhost ~]# cd /boot
[root@localhost boot]# ls
config-4.18.0-240.el8.x86_64                             initramfs-4.18.0-240.el8.x86_64kdump.img
efi                                                      loader
grub2                                                    System.map-4.18.0-240.el8.x86_64
initramfs-0-rescue-c60d2d9754344502ada018e9d5f81a56.img  vmlinuz-0-rescue-c60d2d9754344502ada018e9d5f81a56
initramfs-4.18.0-240.el8.x86_64.img                      vmlinuz-4.18.0-240.el8.x86_64

7.运行/boot里的内核文件vmlinuz、initramfs

vmlinuz,是内核程序文件

initramfs,给内核程序提供一个初始化的内存文件系统的镜像文件

8.启动systemd进程

systemd是centos7里的第一个进程,是所有进程的父进程(centos6的第一个进程是init)

9.启动对应的运行级别的里的服务,我们一般是启动multi-user多用户模式,会运行/etc/systemd/system/multi-user.target.wants/ 下的服务(也就是设置为开机要自启的服务,里面都是一些链接文件)

运行级别:runlevel(是centos6的叫法,)

        0 关机

        1 单用户模式

        2 多用户模式,不能使用nfs

        3 完全多用户模式 --》字符界面模式 --》非常正常的模式, 默认最小化安装的模式 multi-user

        4 保留,没使用

        5 图形界面

        6 重启

centos7中只有3和5两个级别,不同级别启动的服务是不一样的

3 字符界面–》会定义哪些程序在字符界面下开机启动–>开启的程序少–》消耗的资源少–》最小化安装–》3

5 图形界面–》会定义哪些程序在图形界面下开机启动–》开启的程序多–》消耗资源多–》带GUI服务器–》5

可以使用renlevel命令查看当前的运行级别

[root@wangsh boot]# runlevel 
N 3        #N代表最开始进入的模式,没有进行模式切换
[root@wangsh boot]#runlevel
3 5        #代表开机先进入运行级别3,后来切换到运行级别5

10.启动相应运行级别的的服务,比如/etc/rc.local以及/etc/fstab文件

/etc/rc.local 启动的过程中,最后会运行这个脚本里的命令(这个文件必须要有可执行权限)

/etc/fstab 启动的过程中,会加载这个文件里知道的磁盘分区

11.login登录

用户输入用户名和密码以后,Linux系统会自动进入/etc/passwd文件和/etc/shadow文件里验证用户名和密码是否正确

12.加载四个配置文件

登录成功之后,会加载四个配置文件

        /etc/profile  全局配置,对所有用户有效        

        /etc/bashrc  全局配置,对所有用户有效

        ~/.bash_profile   局部配置,只对登录的用户生效

        ~/.bashrc  局部配置,只对登录的用户生效

二.socket

socket分为网络socket和文件socket

socket是进程与进程之间的一种通信方式

进程之间的通信方式:

        1.管道(匿名管道和命名管道)

        2.消息队列

        3.信号

        4.信号量

        5.共享内存

        6.socket(文件socket、网络socket)

文件socket:

        是实现一台电脑里的不同进程之间通信的文件

        Linux中连接mysql的时候,可以通过-S来指定socket的路径,如果在配置文件中写好了socket的路径,那么使用mysql连接的时候,就不需要使用-S来指定socket的路径了

网络socket

        是ip + port  --》格式ip:port     例:  192.168.2.43:3306

        使用mysql连接的时候,可以通过-h指定主机名,-p指定端口号来进行指定网络socket

[root@localhost ~]# mysql -h 192.168.2.43 -P3306 -u root -p'Sanchuang123#'

三.软中断和硬中断

软中断和硬中断的差别

1、硬中断是由外部事件引起的因此具有随机性和突发性;软中断是执行中断指令产生的,无外面事件中断请求信号,因此软中断的发生不是随机的而是由程序安排好的。

2、硬中断的中断号是由中断控制器提供的(NMI硬中断号系统指定的为02h);软中断的中断号是由指令直接给出的,无需使用中断控制器。

3、硬中断的中断响应周期,CPU需要发中断回合信号(NMI不需要),软中断的中断响应周期,CPU不需要发中断回合信号。

4、硬中断是可屏蔽的(NMI硬中断不可屏蔽),软中断是不可屏蔽的。

猜你喜欢

转载自blog.csdn.net/weixin_43880061/article/details/126139917
今日推荐