运维小屌丝的初程关于RedHat启动流程

2013年,头一次听说除了windows系统居然还有其它系统,上网小小的问了下度娘,发现居然已经有在个人电脑上应用的linux系统了,于是很是兴奋的认为,说不定它可以给更多的电脑用户带来不同的体验,虽不能百家争鸣,但总比得上微软一家独大。

可随着接触,发现越来越不是那么一回事,尽管许多的技术大牛嘲讽windows太低端,可linux无论作为电子商务还是个人电脑都有其不足。更多的是大部分的游戏厂商还是愿意在windows下运行。

我想学学看,至少也能多门技术吧。废话不多写点有用的东西吧。

关于系统启动流程.

先来个简单的1.BIOS自检。2.MBR:Boot Code引导代码。3.执行引导程序 GRUB。4.加载内核。5.执行init。6.runlevel。

首先要明白,操作系统,windows也罢,linux也罢,它都只是软件,那么计算机是怎么进行这款软件的启动呢?

计算机在启动的一瞬间,内存(RAM)是没有任何程序的,CPU的逻辑电路也被设计为只能运行在内存中的程序,熟悉一些的朋友得说了,通过BISO启动

1.BISO启动原理

正常运行一个程序都得操作相应指令,如双击,或敲命令,从底层上来说就是通过操作调用其它命令如ls 就是调用/bin目录下的执行代码,但在刚加电时又是谁调用BISO呢?

    0xFFFF0!!!

既然软件无法满足,那只能靠硬件了。intel将所有的80X86系列的CPU,包括X新型的CPU硬件都设计为加电瞬间强行将CS的值置为0xF000,IP的值置为0xFFF0,这样CS:IP就指向了0xFFFF0(CS为代码段寄存器,IP为指令指针寄存器)BIOS程序的第一条指令就设计在这个位置。现在BIOS开始启动。

2.之后就是通过BIOS自检,硬件配置信息及一些用户配置参数存储在主板的CMOS( Complementary Metal Oxide Semiconductor)上(一般64字节),实际上就是主板上一块可读写的RAM芯片,由主板上的电池供电,系统掉电后,信息不会丢失。(有时会跳出F2,F12等选项就是因为电池没电信息丢失重新输入信息),依次启动设备吧。主要是硬盘,读取硬盘的第一个扇区(MBR,512字节)执行其中前446字节(引导代码)。

3.grub

(1)先加载/boot/grub/stage1(stage1,512字节,为MBR的镜像当MBR挂了,可从stage1写回去)

(2)接下来执行**_stage1_5,**为文件系统,即添加对某种文件系统的支持。

(3)加载/boot/grub/stage2;stage2对启动系统起关键作用,该部分提供了GRUB启动菜单和交互式的GRUB的shell。启动菜单在启动时候通过/boot/grub/grub.conf文件所定义的内容生成。在启动菜单中选择了kernel之后,GRUB会负责解压和装载kernelimage并且将initrd装载到内存中。最后GRUB初始化kernel启动代码。完成之后后续的引导权被移交给kernel。看看/boot目录下就能明白许多。再看看/boot/grub/grub.conf

4.kernel

(1)linux内核保存在/boot/vmlinuz-2.6.32-279.el6.i686此为精简内核。

(2)linux将不常用的驱动,功能编译成为模块打包文件/boot/initramfs-2.6.32-279.el6.i686.img在需要时加载。

(3)用dmesg命令查看本次启动时内核启动信息。也可通过/var/log/dmesg查看

4.init

init是linux系统中运行的第一个进程

调用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂在文件系统,根据运行级别启动相应服务。

linux运行级别:

-0  关机

-1  单用户模式

-2  不带网络的多用户模式

-3  多用户模式

-4  未使用

-5  X11图形化模式

-6  重新启动

init配置文件/etc/inittab通过它改变运行级别

/etc/init/下不同功能的配置文件。

每个级别对应的启动服务保存在/etc/rc.d/rc[0123456].d中

可用init 5切换运行级别5(也可用startx)

5.si::sysinit:/etc/rc.d/rc.sysinit

运维小屌丝的初程关于RedHat启动流程,布布扣,bubuko.com

时间: 2024-10-05 04:45:17

运维小屌丝的初程关于RedHat启动流程的相关文章

运维小知识之nginx---nginx配置Jboss集群负载均衡

codyl 2016-01-26 00:53:00 浏览385 评论0 负载均衡 转自 运维小知识之nginx---nginx配置Jboss集群负载均衡-博客-云栖社区-阿里云https://yq.aliyun.com/articles/17925 运维小知识之nginx---nginx配置Jboss集群负载均衡 背景 紧接着上一篇博客<运维小知识---CentOS6.5安装nginx配置nginx sticky>安装完成之后剩下的工作就是配置了,其实如果我们想要去做负载均衡session共享

优云云监控:先定一个运维小目标,比方监控它10000台主机

“想做世界最好是对的,但是最好先定一个能达到的小目标,比方说我先挣它一个亿.”,王首富云淡风轻地给各行各业提供了一个很好的Roadmap,包括我们运维.的确,如今数据中心的规模增长速度也已像一匹脱缰的野马,各地都频频建设起超大型数据中心.按工信部的定义,超大型是指规模大于等于一万个标准机架的数据中心,考虑到虚拟化技术的使用,实际上需要运维的主机规模很容易超过十万的级别.所以,首富说的目标离我们也不远,也许很快就可以达到. 而如此大规模的数据,其运维的难度可想而知,我们来逐个分析应对看看: 挑战一

运维小哥之年终总结 [2019]

光阴荏苒,转眼又到了2019的末梢了.从混迹社会开始,经历每一个小阶段后,我都会来次三省五申,就像高中那会儿,每次月考后,总要对自己进行查缺补漏,充备再战,那样才有机会做到尽善尽美.此刻,也是如此,于是乎耗时数日将往昔尘事进行一番贯穿性的总结.将心中"蓄谋已久"的情绪和思想来一次无约束的释放! 职业生涯描述 先按时间节点来回顾下职业生涯. 2017年6月,在结束完学校的一切事物后,我背着个灰黑色的双肩包,拖着个银白色的行李箱,兴冲冲的来到了深圳.在交通途中,映入眼帘的是那川流不息的人群

【运维小分享】Apache日志分析命令汇总

很多像我这样刚入门的小菜鸟,不知道日常怎么对自己的网站的日志进行分析,得出谁访问过我网站,访问什么,响应效果如何等等,在这里我对相关基础分析命令作个总结,大家可以参考一下&给修改意见. 在讲分析命令之前,首先要明确日志格式,每个人的格式不一定一样,如果与我的格式不一样则分析命令的列数号要作对应调整 141.10.225.94 - - [09/Dec/2016:15:42:45 +0800] "GET /wp-content/uploads/2016/12/56.jpg HTTP/1.1&

linux 系统运维小工具

一 CPU 性能监控工具 1 vmstat ,系统自带 procs 列 :r 列: 表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU核数,说明CPU不足,需要增加CPU,其中的CPU指的是逻辑CPU查看CPU总核数 : b 列表示在等待的资源的进程数目 memory列:swpd:是内存切换到交换分区的量(单位为k),如果swpd值不为0,或者较大,只要si so 长期为0,不会影响系统性能free 表示当前空间的物理内存数量(单位为k)buff 表示buff chache 的内存

【运维小分享】记个人博客网站受针对xmlrpc.php的暴力破解攻击

起因: 今天忽然打开个人blog,就发现打开很慢,然后出现了下图的反馈:服务器服务不可用!waht?刷新了几次都不行,赶紧登陆服务器后台查看情况. 确认攻击: 登陆后台后通过netstat发现连接数极多,相对于平时来说多了好几倍吧,赶紧通过日志load出疯狂访问的ip # cat 2016-12-16-access_log | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 10   30305 191.96.249.53   290

运维小东西:每天备份sql到远程服务器上

首先两台服务器可以无密码登录(这个方式比较简单,当然安全系数会降低) #ssh-keygen -t rsa #生成密钥发送给远程服务器上 #ssh-copy-id ~/root/id_rsa.pub [email protected] 这样ssh的时候就不用输入密码了.对于crontab这种定时自动运行的任务来说还是比较方便的. 现在就是写shell备份sql到远程服务器的脚本: #!/bin/sh DB_NAME1="" DB_USER="" DB_PASS=&q

【运维小分享】整理Apache日志

网站的日志文件随着每天的访问记录积累,会越来越大,特别是大型网站. 日志越来越大不仅影响储存容量从而影响网站性能,而且对我们做日志分析造成困难. 因此,我要对日志进行规范整理. 方法一:使用rotatelogs实现log轮转 rotatelogs是一个配合Apache管道日志功能使用的简单程序. PS:管道日志功能 Apache提供了不把日志直接写入文件,而是通过管道发送给另外一个程序的能力.这样就大大加强了对日志进行处理的能力.这个通过管道得到的程序可以是任意程序,如日志分析.压缩日志等.要实

【运维小实验】数据镜像备份实验inotify+rsync实时备份

数据镜像备份实验inotify+rsync实时备份 本文是基于VM搭建的虚拟集群环境,全部虚拟机网卡模式为NAT方式相连,处于同一网段. 搭建环境: 使用redhead 2.6.32-431.el6.x86_64版本的linux,创建两台,配置相关网络信息,确保同一网段下. 安装配置rsync+inotify Rsync一般系统默认安装了,如果没有安装的去相关网站下载安装包解压安装即可 Inotify登陆https://github.com/rvoicilas/inotify-tools/wik