启动流程和系统管理

author author     2022-08-16     698

关键词:

  了解linux的工作原理,可以通过linux的启动的过程一步步理解linux的工作原理,这就需要深入了解操作系统启动的每一步,不用了解每一步启动的细节,只要了解系统启动的时每一步的特性就差不多。这里主要介绍centos6,它的大致流程是,post(计算机开机自检)->grub(引导操作系统的程序)->kernel(内核)->init(进程管理程序)->bash(用户交互程序)

一个计算机启动流程

1 post过程

首先计算机加电,cpu就会读取bioscpu内置某种特殊的指令,会默认的读取bios),bios读进内存后检查计算机上所有硬件,并按照配置内容启动的下一步。bios包括两部分,一部分是rom,内部存储一些不可改变机器指令,另一部分是ram,存储人们设定的开机特性(这个模块需要持续供电,一旦断电设定的数据就会丢失)。控制bios一般都是计算机加电后,按F#(不同的计算机不同)进入蓝白相间到的配置界面,这里可以配置第一启动硬件、开启cpu的虚拟化特性、声卡等等功能。

     2 grub

  bios程序运行后,会加载第一启动项,假如第一启动项是硬盘。这时cpu会读取硬盘第一磁道第一扇区的数据,读取的是前446字节的数据,这部分数据叫做mbrgrub比较大不能完全放在mbr里,还有一部分放在了前27个扇区里,然而前27扇区也放不开,还有一部分数据存放在/boot目录下的grubstage2里。总结一下,一部分数据存放在mbr里称这部分数据叫stage1,还有一般数据放在硬盘前27个扇区里叫stage1.5,最后一部分数据存放在/boot/grub目录下叫stage2.

     3 kernel

 在grub中可以选择启动哪个系统,这里启动的不是我们的要启动系统,真正启动的是/boot目录下的vmlinuzinitramfs文件,vmlinuz是需要的内核,而initramfs不是需要的,initramfs文件里有一个简易的系统,内嵌了部分驱动,是启动真正文件系统的中间步骤,设计它的主要目的是防止内核过大,内核文件vmlinuz只有4Minitramfs20M多。内核通过initramfs内部的驱动去加载真正的文件系统,加载各种磁盘、网卡、usb等等驱动,实现系统的高级功能。

     4 init

  它不是系统必须有的程序,只是内核把一部分监控和管理权限放给了init,让init代理内核实现进程管理。内核之所以让渡这些权限是因为进程调度是最浪费系统时间。进程调度的一个过程:首先cpu收到中断信号,cpu就会把当前正在运行的进程的数据全部挪到内存里,并且给这个进程贴上标签,它运行到哪一步了;然后cpu把内核读进来,还原内核的状态,加载上次运行内核数据,cpu判断下一个需要运行的程序分配好时间片后自己离场;最后加载下一个进程。这里有一个概念,cpu 的处理数据的速度远远大于磁盘读取的速度。当内核特别大的时候,一次调度i/o量将会特别大。这里就解释通了内核一定要小,越精巧cpu的利用率越高。

     5 bash

  用户交互工具可以看之前的博客。

系统补救

     1 post阶段

  F#进入bios更改,忘记bios密码,可以取下主板上的纽扣电池,bios中配置的数据都会丢失。

     2 grub阶段

  • 开机后计算机处于黑屏状态,这时硬盘的数据时有效的,这时破坏的一般是grubstage1阶段。可以通过光盘的救援模式进行救援,操作流程大致如下:

光盘引导选择第三个,一路确认开启一个shell

grub-install /dev/sd*      这里的/dev/sd*是原grub所在的硬盘

  • 开机后计算机黑屏但是有报错erorr ##,这时stage1.5stage2被破坏了,和修复stage修复流程类似:

光盘引导选择第三个,一路确认开启一个shell

grub-install --root-direcoty=/path /dev/sd*        /pathboot的父目录,/dev/sd*是原grub所在的硬盘

  • 开机后系统显示grub >这时是grub的配置文件被破坏了,grub配置文件的位置/boot/grub/grub.confgrub配置文件的格式

default=0                 
timeout=5                 grub界面的等待时间
tille centos6               引导的名字
       root(hd0,0)         内核文件位于的磁盘分区
       kernel /vmlinuzroot=/dev/sda2         使用哪一个内核,文件系统的目录
       initrd /initramfs        initramfs的位置


3 kernelinitbash补救

kernelinitbash丢失,进入救援模式安装对应的rpm包就可了。

init的配置文件位于/etc/inittab

bash的配置文件位于/etc/bashrc和用户家目录的.bashrc

服务管理

  服务器启动的时候,一般都服务和系统一起启动,开机启动的服务的管理脚本位于/etc/init.d/目录下,是通过init这一步调用的。格式就是bash脚本,只是多了启动和关闭顺序。可以把一些想开机后执行的脚本定义在local里。

   servicesername start|stop|restart|reload|status     服务的管理

   chkonfigadd name                    把服务的添加到开机管理里

   chkonfig-l level name on|off                   设置服务开机开启在哪个等级里

  有些程序需要监听端口,但是只是偶尔使用,让这个服务永驻内存会浪费内存和cpu的时间片,但是还不能停止,这时有人写了个xinted帮一批程序监听端口,只有被调用的时候才会运行服务程序。

总结

  这一节主要介绍了计算机启动的各个阶段和各个阶段的补救措施,并且简单介绍了服务程序的管理命令。


本文出自 “老王linux旅程” 博客,请务必保留此出处http://oldking.blog.51cto.com/10402759/1879116

centos6的启动流程

CentOS6的启动流程一:Linux的组成:    linux是由kernel和rootfs组成的。kernel即是内核,具有进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能等管理的作用;而rootfs即是根文件系统,由程序和glibc(即c... 查看详情

系统启动和内核管理(代码片段)

系统启动和内核管理1CentOS6的启动管理1.1Linux组成kernel实现进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能等功能rootfs包括程序和glibc库程序:二进制执行文件库:函数集合,function,调用接口(头文件负责描述)1.... 查看详情

操作系统系统启动流程(代码片段)

文章目录系统启动流程(Linux)BIOSMBRGRUB2启动引导内核引导systemd固件和BIOSBIOS分类关于legacy关于uefibootloader启动管理器kernel初始化systemd-守护进程总结系统启动流程(Linux)1.BIOS加电自检2.把MBR加载到内存3.加载grub引... 查看详情

操作系统系统启动流程(代码片段)

文章目录系统启动流程(Linux)BIOSMBRGRUB2启动引导内核引导systemd固件和BIOSBIOS分类关于legacy关于uefibootloader启动管理器kernel初始化systemd-守护进程总结系统启动流程(Linux)1.BIOS加电自检2.把MBR加载到内存3.加载grub引... 查看详情

启动和内核管理

一、启动和内核管理1)CentOS5和6的启动流程2)服务管理 3)Grub管理 4)自制Linux5)启动排错 6)编译安装内核二、linux组成 Linux:kernel+rootfs kernel:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能... 查看详情

启动和内核管理

一、启动和内核管理1)CentOS5和6的启动流程2)服务管理 3)Grub管理 4)自制Linux5)启动排错 6)编译安装内核二、linux组成 Linux:kernel+rootfs kernel:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能... 查看详情

centos系统启动流程

CentOS系统启动流程一、Linux系统的组成部分:内核+根文件系统1.内核:进程管理:进程之间的通信为:IPC(InterProcessCommunication)机制,有消息队列、semerphor、shm、socket(跨主机之间的通信)内存管理;网络管理;文件系统;驱动... 查看详情

centos5和6的启动流程

一、Linux组成    1.linux:kernel+rootfs        kernrl的作用:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能        rootfs:程序和g 查看详情

amsactivity启动流程详解(代码片段)

文章目录概述相关类说明AMS服务启动Activity启动流程概述ActivityManagerService(以后简称AMS)都有所耳闻。AMS是Android中最核心的服务,主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作,其... 查看详情

centos6,7的启动流程

CentOS6系统启动流程: POST-->BootSequence(BIOS)-->Bootloader-->kernel[-->ramfs]-->rootfs(ro)-->/sbin/init-->设定默认运行级别-->系统初始化-->可以并行执行ctrl+alt+del热键功能定义,系统服务的开启和关闭,电源管理,dbus管理等-... 查看详情

systemd管理示例

Systemd简介: Systemd是系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程。首先简单了解一下centos的启动流程;POST-->BootSequence-->Bootloader-->kernel+initramfs(initrd)-->rootfs--&g... 查看详情

centos6系统启动流程

一、Linux系统简介    ⒈ Linux组成:kernel+rootfs        ①kernel主要功能:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能         查看详情

启动和内核管理

CentOS6启动流程1.加载BIOS的硬件信息,获取第一个启动设备2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备4.核心执行init程序,并获取默认的... 查看详情

liunx系统启动和内核管理总结(代码片段)

Liunx系统启动和内核管理总结Liunx系统启动一、硬件启动流程(1)、打开电源(2)、BIOS:1.POST初始化硬件设备,检查系统外围主要设备(CPU,内存,硬盘,显卡i-o设备,键盘鼠标)2.确定启动设备-根据BIOS设置的启动顺序,检测驱动器... 查看详情

centos系统启动流程你懂否

一、Linux内核的组成1)进程管理2)内存管理3)网络协议栈4)文件系统5)驱动程序6)安全功能(selinux)未完结。。。。。。。。。。。本文出自“小耳朵”博客,请务必保留此出处http://purify.blog.51cto.com/10572011/1843124 查看详情

文件系统和本地存储管理1

...核管理 内核编译和安装 内核的裁剪 定制内核7.Linux系统启动流程 CentOS5、6 查看详情

文件系统和本地存储管理1

...核管理 内核编译和安装 内核的裁剪 定制内核7.Linux系统启动流程 CentOS5、6 查看详情

业务流程管理系统都有哪些?

业务流程管理系统(BusinessProcessManagementSystem,BPM)是为实体企业的业务流程管理、调度与优化而开发的一类软件系统。以下是一些常见的业务流程管理系统:Bonita:一款开源的业务流程管理系统,可以支持BPMN2.0标准,并提供了各... 查看详情