1. BOIS开机的第一步,作用是开机自检,(检查与主板连接的零部件CPU、显卡、内存条是否有接触不良的,所谓的主板检测)
2. MBR引导(MBR是磁盘的引导区,前512K,引导程序是1-446,查看磁盘分几个区,怎么启动)
3. GRUB菜单(引导操作系统的菜单)
4. Kernel(是操作系统的内核,相当于Windows的CPU一样,核心部分。启动核心,进行计算)
init进程初始化(执行kerenl计算出来的任务)
进程是可以生产子进程
Bash的含义:不是刷新,而是在生成一个子进程,当做当下看到的界面,之前的界面还存在
一、 第一个sshd这个进程负责远程连接的服务进程,当我们Xshell连接上linux的以后,sshd会生成一个子进程sshd来接待我们发起远程连接,如果在一次xshell的连接还会生成一个子进程sshd来接待我们的远程连接(也就是所谓的监听端口)
二、 第二个sshd子进程为了帮我们友好的方式进行远程操作,子进程就就生成一个叫做bash界面进程,其实我们命令模式所操作的界面就是bash这个界面
三、 第三个bash这个界面是负责解析我们的命令,人与计算机的交互,把人认识的命令解析给计算机认识的。(计算机只认识二进制,我们的命令计算机是不认识的,所以bash就把我们的命令解释成计算认识的二进制传递给后方的sshd子进程,子进程在传递给kerenl这个运算单元,然后kerenl在识别进行计算,然后在传递给子进程执行)
图形界面是更友好的界面,那鼠标进行,同样也是把鼠标命令解析成二进制界面来执行
四、scket:所谓就是监听端口,就是24小时不断监听某个固定端口的进程
(监听的目的就是一旦目标端口指定到端口时有人接待)
Sshd这个进程负责远程连接的,那么怎么远程连接两个电脑要传输数据,要遵循TCP协议,那么TCP协议两个重要的字段是源端口与目标端口,最大的端口时655355,如果是我想给对方发起连接我饿端口是随机端口,而对方的端口必须是固定的端口,对方收到数据之后,读取源端口位置,这样对方会把我我的源端口变成目标端口这样就可以把数据发回来
6读取/etc/inittab配置文件
设定linux开机时默认的启动模式 如果是3默认进入多用界面或者是命令界面,若是6的话就是重启模式,若是2的话默认是没有nfs网络文件的系统的多用户模式,若是4 的就是保留模式
7执行/etc/rc.d/rc.sysinit 初始脚本
为什么是初始脚本原有是/proc
解释/proc:内存内存数据,只不过他的读写速度是很快的,他的存储数据也是临时存储,也是需要占用硬盘的空间,内存的运行也是需要硬盘的支持,对于linux来说什么目录放的是内存数据就是/proc目录,proc里面既有文件也有目录,但是呢里面好多的目录
的名字都是数字,这个目录到底是什么呢这些数字就是进程,进程是什么呢:如果只把眼光站在运维的角度看问题,只能看到进程的这个东西,站在运维角度上看进程就是程序,如果我们看的在远一点,其实进程里面有很多进程,真正的干活的其实线程,我们是看不到的,
进程是什么,回到进程是程序是可以的,其实进程什么也不是,进程就是目录存放资源的目录,这些资源是提供给线程进行调用的资源,真正干活的是线程,因此线程就是程序
8 执行/etc/rc.d/rc 脚本
这个目录是告诉linux那些文件会开机时自动启动,,,,当前我们开启的3模式linux就会进入 /etc/rc3.d,打开这个目录,启动所有以S开头的脚本,Chkconfig这个命令是即时生成的,并不是保存那个文件里面,因此无法对CHKCONFIG无法备份,因此呢在运维工作中并不建议用chkconfig的形式来管理开机自启动项,运维注重安全,/etc/fstab,我们也是不推荐,我们推荐/etc/rc.local ,也可以通过命令的方式启动服务,每次开机/etc/rc/local 也是自启动的,这里面还可以写注释,非常安全,非常规范
9 执行/etc/rc.d/rc.local个人配置脚本
10启动mingetty