对/etc/rc.d/init.d/目录的一点理解

NXP LPC18Sxx:高性能MCU如何实现硬件级安全与实时控制 在嵌入式系统设计中,实时性与安全性是两大核心挑战。实时性要求微控制器(MCU)具备高速处理能力,以满足工业控制、物联网设备对数据采集与响应的毫秒级要求。安全性则涉及数据加密、身份认证和防篡改,传统方案常面临性能与安全难以兼顾的困境。其技术原理在于,通过集成硬件加密引擎(如AES-128)和真随机数生成器(TRNG),在芯片内部构建从密钥生成、存储到使用的全链路硬件防护,从而在硬件层面实现高效加密运算,同时不占用CPU资源。这种硬件级安全模块的价值在于,它显著降低了系统复杂度与成本,提升了整体可靠性。在应用场 阅读详情

辅助环境:rh9,fc7
另:本文如无特殊解释,init.d指的就是/etc/rc.d/init.d目录。

本文包括3部分内容
1、        Linux的引导过程
2、        运行级别
3、        /etc/rc.d/ 与/etc/rc.d/init.d的关系
都仅限于自身的理解,如有差错和不足的地方请指正和补充!一起学习,一起进步。

        “/etc/rc.d/init.d/目录下的脚本就类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行”。开始之前,先引用李善明经理昨天晚上总结时的一个理解,让大家先对init.d目录有个大概的印象。在进入init.d之前,我们一起来做两个准备工作,linux的引导过程和运行级别的概念。

一、        Linux的引导过程
系统启动之后,在进入init.d之前,我们先来看看系统都做了什么工作,先看看一个图(此图来自网络)



    从这个图中,我们从比较高的角度去看开始引导的整个过程,比较清晰明了。系统加电之后,首先进行的硬件自检,然后是bootloader对系统的初始化,加载内核。
    内核被加载到内存中之后,就开始执行了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统,并已初始化所有的设备驱动程序和数据结构等之后,就通过启动一个叫init的用户级程序,完成引导进程。

二、        运行级别(run level)
    Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init进程上来首先做的事是去读取/etc/目录下inittab文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到6 ,具有不同的功能。不同的运行级定义如下:
  # 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)
  # 1 - 单用户模式
  # 2 - 多用户,没有 NFS
  # 3 - 完全多用户模式(标准的运行级)
  # 4 – 系统保留的
  # 5 - X11 (x window)
  # 6 - 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )



这是两个表较常用运行级别,左图redhat9 级别3启动的将是文本界面,右图fc7级别5启动的将是图形界面。

三、        /etc/rc.d/与/etc/rc.d/init.d的关系
    写到这里,应该差不多要进入init.d了,可是我觉得单写/etc/rc.d/init.d的话不一定能说得清楚明白,就拿它跟/etc/rc.d这个它上一级的目录一起来讨论,可能比较合适一些,因为他们之间有着千丝万缕的关系。
    在这里先解释一下init.d里面放的都是什么东西。这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本。系统在安装时装了好多rpm包,这里面就有很多对应的脚本。执行这些脚本可以用来启动,停止,重启这些服务。
前面说到,/etc/rc.d/init.d这个目录下的脚本就类似与windows中的注册表,在系统启动的时候执行。程序运行到这里(init进程读取了运行级别),相信从命名的角度大家也能猜到该运行/etc/rc.d/init.d里面的脚本了,不然它为什么也叫init(.d)呢是吧。没错,是该运行init.d里的脚本了,但是并不是直接运行,而是有选择的因为系统并不需要启动所有的服务。
    那么,系统是如何选择哪些需要启动哪些不要呢?这时刚才说的运行级别就起作用了。
    在决定了系统启动的run level之后,/etc/rc.d/rc这个脚本先执行。在RH9和FC7的源码中它都是一上来就check_runlevel()(虽然实现的代码不一样,也大同小异),知道了运行级别之后,对于每一个运行级别,在rc.d下都有一个子目录分别是rc0.d,rc1.d ….. rc6.d。每个目录下都是到init.d目录的一部分脚本一些链接。每个级别要执行哪些服务就在相对应的目录下,比如级别5要启动的服务就都放在rc5.d下,但是放在这个rc5.d下的都是一些链接文件,链接到init.d中相对应的文件,真正干活的init.d里的脚本。

redhat9    ls


fc7          ls -l


    这样看的就很清楚了。

    到这里,估计大家可能都比较清楚了,我开始也以为是这样的。可是后来我仔细看过和比较这些链接文件和init.d里真正被执行的脚本的文件名之后,一直有几个问题没弄明白。借着写这个文章的机会,我做了一些功课,总算是大概解开了那些疑惑。
1、这些链接文件前面为什么会带一个Kxx或者Sxx呢?
    是这样的,带K的表示停止(Kill)一个服务,S表示开启(Start)的意思
2、K和S后面带的数字呢?干什么用的
    这个我开始的时候还以为是排列起来好看或者数数用呢(是不是很幼稚?)。后来发现不是的。它的作用是用来排序,就是决定这些脚本执行的顺序,数值小的先执行,数值大的后执行。很多时候这些执行顺序是很重要的,比如要启动Apache服务,就必须先配置网络接口,不然一个没有IP的机子来启动http服务那岂不是很搞笑。。。
3、无意中我发现同一个服务带S的和带K的链接到init.d之后是同一个脚本。我就纳闷了,为什么会是执行同一个脚本呢?
    这个时候真是S和K的妙用了,原来S和K并不止是用来看起来分的清楚而已。S给和K还分别给init.d下面的脚本传递了start和stop的参数。哦,是这样的(焕然大悟的样子,呵呵)!这时我才想起来原来曾经无数用过的/etc/rc.d/init.d/network restart命令。原来传S时相当于执行了/etc/rc.d/init.d/xxx start这条命令,当然K就相当于/etc/rc.d/init.d/xxx stop了。

抛砖引玉,欢迎指正和补充。 

EhLib 8.0 Build 8.0.023 Pro Edition FullSource for D7-XE8 EhLib 8.0 Build 8.0.023 Pro Edition FullSource for D7-XE8 亲测可用,含全部源码及 Demo The Library contains components and classes for Borland Delphi versions 7, 9, Developer Studio 2006, Delphi 2007, Embarcadero RAD Studio 2009-XE8, Lazarus. TABLE OF CONTENTS ----------------- Overview Installation Library Installation Help Demonstration Programs Registering and Prices Other information About author Where to start. ------------------- Read about EhLib for Lazarus in the file - Lazarus\readme.txt Start overview of the library with the main Demo project .\Demos\Bin\MainDemo.Exe. (Compiled Demo files are available in the Evaluation version of the library) Then you can read a summary of the new features and changes in the file history-eng.html. More detail about new features can be found in the file - About EhLib 8 Eng.doc To install a new version of the library in the IDE, use the installation program in .\Installer\EhLibInstaller.exe Overview -------- The Library contains several components and objects. TDBGridEh component TDBGridEh provides all functionality of TDBGrid and adds several new features as follows: Allows to select records, columns and rectangle areas. Special titles that can correspond to several/all columns. Footer that is able to show sum/count/other field values. Automatic column resizing to set grid width equal client width. Ability to change row and title height. Allows automatic broken of a single line long title and data row to a multiline. Title can act as button and, optionally show a sort marker. Automatically sortmarking. Ability to truncate long text with ellipsis. Lookup list can show several fields. Incremental search in lookup fields. Frozen columns. DateTime picker support for TDateField and TDateTimeField. Allows to show bitmaps from TImageList depending on field value. Allows to hide and track horizontal or vertical scrollbars. Allows to hide columns. Allows to show 3D fr 立即下载

相关推荐

基于STM32F334C8T6的四开关Buck-Boost双向DC-DC电源设计与实现(附源码、仿真与计算书)

本文详细介绍了基于STM32F334C8T6的四开关Buck-Boost双向DC-DC电源设计方案。该设计利用STM32的高分辨率定时器(HRTIM)实现精确PWM控制,支持Buck、Boost和Buck-Boost三种工作模式自动切换,具备双向能量流动能力。通过PSIM仿真和Mathcad计算书进行参数优化,实测效率达95.8%,适用于新能源系统和电池管理等场景。

www00的博客 525

LPC43Sxx双核MCU:如何用硬件AES与TRNG构建高性能安全嵌入式系统

在嵌入式系统开发中,微控制器(MCU)的性能与安全性常面临取舍。其核心原理在于,高性能应用(如实时控制、图形处理)需要强大的计算能力,而安全功能(如数据加密、身份认证)若由软件实现,会严重消耗CPU资源,影响实时性。为解决这一矛盾,现代MCU引入了硬件安全模块,其技术价值在于将加解密、密钥管理等复杂运算交由专用硬件引擎执行,从而释放主处理器资源,实现性能与安全的统一。这种硬件级安全方案广泛应用于需要高可靠性与数据保护的场景,例如工业物联网网关、智能电表和汽车电子。本文以NXP LPC43Sxx系列为例,深入

weixin_33657398的博客 310

汇川PLC和PLC之间ModebusTCP通讯

然后在全局变量中创建相应的变量关联IW和QW的寄存器创建全部变量//AM402作为主站——读H3U(D12-D21)//AM402作为主站——写给H3U(D200-D209)或者使用数组的方式。

panjinliang066333的博客 3万+

Linux之init.d、rc.d文件夹说明

rc.d init.d

fang.lovest.yang的博客 5435

MOBsf联动雷电模拟器(在docker国内库撤销后)

MobSF (全称:Mobile Security Framework,中文名:移动安全框架) 是一个自动化的移动应用程序(Android / iOS / Windows)开源测试工具,该工具采用Python开发,能够执行静态,动态和恶意软件分析。MobSF提供了很多自动化分析功能,尤其适用于Android应用。安装必备(默认已准备好)docker(kali) 现在的国内镜像源都已经下架了只能开代理下载桌面版然后给pull到本地。

qq_48149564的博客 1600

02 HCM CPI SF集成-组织集成(一)

将员工主数据和组织数据从SAP Successfactors Employee CentraI复制到SAPERP或SAP S/4HANA,SAP SF CPI HCM集成

SAP CPI 129

关于/etc/rc.d 的各种介绍,详细必看

init inittab rc0 rc1 rc2 rc3 rc5 rc6 rcS init.dinit 系统启动超级进程inittab 进程启动配置文件rc0 - rc6 各启动级别的启动脚本rcS 单用户模式启动脚本init.d 启动脚本存放目录rc0.d: eeprom OpenBoot状态,可以进入硬件维护模式,或关闭机器。rc1.d: 单用户模式

freelyc的专栏 1万+

JavaFx 教程

JavaFx 教程

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 784

对/etc/rc.d/init.d目录的一点理解

辅助环境:rh9,fc7 另:本文如无特殊解释,init.d指的就是/etc/rc.d/init.d目录。转载 本文包括3部分内容 1、 Linux的引导过程 2、 运行级别 3、 /etc/rc.d/ 与/etc/rc.d/init.d的关系 都仅限于自身的理解,如有差错和不足的地方请指正和补充!一起学习,一起进步。 “/etc/rc.d/init.d/目录下的脚本就类似与wind

wy19910326的专栏 1万+

【Burp入门第二篇】Chrome配置BurpSuite代理教程

1、配置Burp代理为127.0.0.1:80802、扩展商店添加插件switchyomega,修改服务器和端口为下图:3、打开代理,选择刚才添加的代理

等风来 8368

Python爬虫实战:使用最新技术爬取新华网新闻数据

在当今信息爆炸的时代,网络爬虫技术已经成为获取互联网数据的重要手段。作为国内权威新闻媒体,新华网每天发布大量高质量的新闻内容,这些数据对于舆情分析、市场研究、自然语言处理等领域具有重要价值。本文将详细介绍如何使用Python最新技术构建一个高效、稳定的新华网新闻爬虫系统。本文详细介绍了如何使用Python最新技术栈构建一个高效、稳定的新华网新闻爬虫系统。我们从基础爬虫开始,逐步添加了代理支持、用户代理轮换、请求延迟、重试机制、动态页面渲染、数据存储等高级功能,最终实现了一个生产可用的分布式爬虫系统。

2201_76125261的博客 1771

对 /etc/rc.d/init.d 目录的一点理解

一、Linux的引导过程   系统启动之后,在进入init.d之前,我们先来看看系统都做了什么工作。系统加电之后,首先进行的硬件自检,然后是bootload对系统的初始化,加载内核。 内核被加载到内存之后,就开始执行了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动进行初始化。 从这开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件...

caotuo_csdn的博客 790

【AUTOSAR-E2E】-1.4-详述E2E Transformer解决方案

共13页精讲 目录 1“Data Transformation”介绍 1.1 基于SOME/IP Transformer 1.2 基于COM Based Transformer 2 ComXf(COM Based Transformer)介绍 2.1 ComXf(COM Based Transformer)功能规范 2.2 ComXf(COM Based Transformer)提供的服务 2.3 配置注意事项 3 E2EXf(E2E Transformer)介绍 3.1 E2EX...

「汽车电子助手」的博客 4700

【转载】对/etc/rc.d/init.d目录的一点理解

辅助环境:rh9,fc7 另:本文如无特殊解释,init.d指的就是/etc/rc.d/init.d目录。转载 本文包括3部分内容 1、 Linux的引导过程 2、 运行级别 3、 /etc/rc.d/ 与/etc/rc.d/init.d的关系 都仅限于自身的理解,如有差错和不足的地方请指正和补充!一起学习,一起进步。 “/etc/rc.d/init.d/目录下的脚本就类似与windows中的注册...

think_ycx的专栏 514

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

对/etc/rc.d/init.d目录的一点理解(转)

本文包括3部分内容1、 Linux的引导过程2、 运行级别3、 /etc/rc.d/ 与/etc/rc.d/init.d的关系都仅限于自身的理解,如有差错和不足的地方请指正和补充!一起学习,一起进步。“/etc /rc.d/init.d/目录下的脚本就类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行”。开始之前,先引用李善明经理昨天晚 上总结时的一个理解,让大家先对init.d...

weixin_33853827的博客 451

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

linux 启动过程以及 /etc/rc.d/init.d/目录的一点理解

出处:http://www.cnblogs.com/see7di/archive/2011/06/17/2239723.html rc.d的内容如下: init.d/ :各种服务器和程序的二进制文件存放目录。 rcx.d/: 各个启动级别的执行程序连接目录。里头的东西都是指向init.d/的一些软连接。具体的后边叙述。 还有三个脚本:rc.sysinit, rc, rc.loca

jiaoyongqing134的专栏 474

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: linux下网络配置(RedHat)
下一篇: linux /etc/rc.d/目录的详解
cradmin
博客等级 码龄23年 34粉丝 16原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值