【无标题】

发布时间:2024年01月03日

? ? 一?开机启动过程

bios加电自检-->mbr-->grub-->加载内核文件-->启动进程

1? bios家电自检

检测硬件是否正常,然后根据bios中的启动项设置,去找内核文件

2? mbr

因为grup太大,第一个扇区存不下所有的grub程序,所以分为2部分指引硬件找到内核文件

当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)的设备,将系统控制权传递给包含操作系统引导文件的分区,或者直接根据MBR记录中的引导信息调用启动菜单

3 grub

根据grub配置文件(grub.cfg)中记录的位置,去找到内核文件

对于Linux操作系统来说,GRBU(统一启动加载器)是使用最为广泛的多系统引导程序。系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核,

4 加载内核文件:把内核和镜像文件系统加载到内存中可以使用。

Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程

5 启动进程

Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行(运行中的程序称为进程),init进程负责完成一系列的系统初始化过程,左后等待用户进行登录,system

二.系统初始化进程


1. init进程


由Linux内核加载运行/sbin/init程序

init进程是系统中第一个进程

init进程的PID(进程标记)号永远为1

2. systemd进程

systemd是linux操作系统的一种init软件

centos7中采用全新的systemd启动方式,取代传统的sysvinit

centos7中运行的第一个init进程是/lib/systemd/system

区别:

init ?串行启动后续的程序 ?一个一个按顺序启动

systemd ? 是并行启动程序 ?全部一起启动

路径:

/lib/systemd/system/*.service为结尾的文件

systemd能够识别并管理这些以.service为结尾的程序

centos6与centos7的区别

centos6使用init 串行启动后续程序,一个一个按顺序启动。

centos7使用systemd 并行启动程序,全部一起启动

systemd

systemd是系统的高级程序,代为管理系统上的服务程序

systemd:yum以及rpm安装的软件可以直接使用

systemctl具有启动,关闭,重启,开机自启等功能

systemd unit(单元):systemd方便管理程序,将程序按照特定的功能分成了很多单元服务,单元配置。

3 systemd单元进程

二?查看当前运行级别? runlevel 且级别的作用:

1

2

3

4

5

6

7

yum及rpm安装的软件可以直接使用systemctl去启动 关闭 重启 开机自启等功能

编译安装 不可以直接使用systemctl命令去管理程序 需要手写一个配置文件

systemd unit(单元) ,systemd方便管理程序,将程序按照特定的功能分成了很多单元

三.修复mbr扇区故障

三??编译安装nginx-systemctl

[Unit]
Description=The nginx HTTP and reverse proxy server? ? ? ?#描述软件的功能

[Service]
PIDFile=/apps/nginx/logs/nginx.pid? ? ? ? ? ? # 方便使用 ?pid ?号 进行操作 ?, ?指明进程的 pid 号
ExecStart=/apps/nginx/sbin/nginx? ? ? ? ? ? ? ?#使用绝对路径启动
ExecStop=/usr/bin/kill -s TERM $MAINPID? ? ? ?#杀死进程
ExecReload=/apps/nginx/sbin/nginx -s reload? ? ? ?#重新加载

[Install]
WantedBy=multi-user.target? ? ? ?#安装子字符界面
?

文章来源:https://blog.csdn.net/MCB134/article/details/135351274
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。