13、UNIX系统初始化、关机流程与文件系统管理解析

UNIX系统初始化、关机流程与文件系统管理解析

1. UNIX系统初始化相关

在UNIX系统中,并非每个 rcn 脚本都有对应的 rcn.d 子目录。 rcn.d 子目录中的启动和终止文件是指向 /etc/init.d 目录中特定功能脚本的硬链接,可通过 ls -i 命令查看文件的inode编号来验证。

如今,System V初始化方法占据主导,但不能简单判定它就是最佳方式。有时使用几个较大的脚本文件会比使用多目录结构和众多小脚本文件更方便。因此,出现了一些混合解决方案,部分System V版本将BSD初始化理念融入到自身初始化体系中。例如HP - UX 9.0x和IBM AIX 3.x平台,它们避免了复杂的多层初始化方式,为每个运行级别提供一个或多个较大的脚本文件,这些文件可直接从 /etc/inittab 文件调用,甚至可在启动/停止过程中编码。

  • HP - UX 9.0x平台 :仅有几个与BSD平台名称相近的 rc 脚本文件,部分为Korn shell脚本,表明系统默认使用Korn shell。
$ls -l /etc/rc*
-r-xr--r--     1 bin    bin    15988    Apr 4    11:10  /etc/rc
-r--r--r--     1 bin    bin    21584  

相关推荐

Upstart事件驱动服务管理原理与实战

Linux服务管理从SysV init的线性脚本模式,演进为基于事件驱动的动态生命周期控制,其核心在于将系统状态变化(如网络就绪、文件系统挂载)抽象为可订阅、可触发、可组合的语义化事件。这种机制通过异步启动、作业状态机和依赖图解耦,显著提升服务可靠性与故障定位效率。它不仅支撑了Ubuntu 10.04–14.04时期的稳定运维,更深刻影响了现代技术栈——Docker healthcheck、Kubernetes liveness probe及systemd的After/Wants依赖模型,均继承自Upsta

weixin_30681615的博客 363

RTC实时时钟深度解析:晶振精度、校准与掉电保持实战指南

实时时钟(RTC)是嵌入式系统中看似简单却暗藏玄机的外设,其核心价值在于系统断电后仍能精准维持时间。内部结构围绕32.768kHz晶振构建分频链路,通过独立备份域和VBAT引脚确保掉电不丢数据。然而,晶振的负载电容匹配、温度漂移、老化以及电源切换电路设计,都会直接影响走时精度。理解ppm误差换算、数字校准方法以及I2C通信异常排查,是解决“时间越走越偏”等工程问题的关键。在低功耗设备中,RTC常作为定时唤醒源;在工控表计领域,则需选用带温补的高精度独立芯片。掌握RTC的原理与选型要点,能够帮助开发者从源头规

weixin_34379433的博客 379

嵌入式面经c/c++面经软件开发面经<22/30>-- 操作系统(一)

操作系统常见面试题

a763450633的博客 598

第04章 初始化程序(2):逐行解读 main.c——操作系统的“创世记”代码圣典

这行代码的长度只有17个字符,但它的作用极其关键。在中,系统调用相关的宏(如_syscall0_syscall1等)被条件编译包裹着:只有在内核代码中定义了的时候,这些宏才会展开为内联汇编形式的系统调用入口;而在用户程序中不定义这个宏,则通过C库来调用系统调用。为什么需要这样的设计?这涉及到操作系统开发中一个经典的“鸡生蛋”问题。内核本身需要调用系统调用(比如fork()创建进程),但系统调用通常是由C标准库(libc)封装的。而C标准库本身又运行在操作系统之上——它依赖内核提供的系统调用接口才能工作。

weixin_42108533的博客 468

CST 仿真_NFC仿真

在CST中实现NFC天线单体的仿真

qq_43706810的博客 3961

433M遥控器无线解码1527协议

433M遥控器无线解码1527协议,定时器轮询法

weixin_58595117的博客 1万+

懒人精灵手游内存技术分析

教学声明:全套教程教学用到的游戏采用手游私服网游进行测试,不针对任何游戏。教学只做计算机技术研究,不做其他用途。

yizhihaoren123的博客 1657

T12 电烙铁简单程序逻辑

通过分析就可以知道,发热丝本身即是发热体,也是热偶的工作端。怎么可能是热电动势呢,确实,但不要忘了T12-OUTPUT端的电压是PWM波,理论上是有单片机PWM电压为0 v时的,而T12-OUTPUT端的电压此时也应为0。在T12烙铁头中,PID控制算法通过监测温度传感器的输出,计算当前温度与设定温度之间的差异,并根据这一差异调节加热功率,以实现烙铁头温度的精确控制。这段代码实现了一个简单的增量式PID控制器,通过计算当前温度与期望温度之间的差异以及历史偏差值,调节输出控制量,实现对温度的精确控制。

hgkhjkljnl的博客 1万+

VIPER22A实战:从零搭建15W非隔离电源,附BUCK电路调试心得

本文详细介绍了使用VIPER22A芯片从零搭建15W非隔离电源的全流程,重点解析BUCK电路设计与调试技巧。通过核心参数计算、PCB布局优化和效率提升方案,帮助工程师快速掌握DC-DC电源设计要点,实现高效稳定的电源转换。

redis7keeper的博客 671

缺陷检测:使用PatchCore训练自己的数据集

必须包含有训练图片(无缺陷图片)、测试图片(缺陷图片)和ground_truth,并且ground_truth必须与对应图片的名称相同。同上一篇结果一样,我的输出为原始图片大小,但是不知道是不是因为图片不是正方形的,导致训练结果不好。编写一个脚本,重新规划数据集的路径规则,但是我稍微写复杂了一点,使用了类来操作。第二种(复杂):编写一个自己的Dataset,参考。第一种(简单):将数据集路径规则改成项目中。返回的必须是一个字典类型,可以阅读。本人此次使用的是第一种方法。运行时,参数部分直接输入。

xiaoxTai的博客 6483

遥感目标检测数据集汇总

文章目录1. 光学数据集1.1 DIOR1.2 LEVIR1.3 DOTA1.4 RSOD1.5 NWPU VHR-101.6 VEDAI1.7 COWC1.8 ITCVD1.9 DIUx xView 20181.10 HRSC20161.11 TAS1.12 SZTAKI‐INRIA1.13 UCAS AOD1.14 DLR 3K Vehicle2. SAR2.1 SSDD2.2 SSDD+2....

quanwei的博客 6万+

Python 爬虫实战:爬取知乎问答与评论数据并分析

摘要:本文以Python为核心工具,系统讲解知乎问答与评论数据爬取的技术方案。通过分析知乎API接口结构,详细阐述Requests库结合正则表达式的数据获取方法,涵盖请求头构造、鉴权参数处理等关键技术。文章对比了HTML解析、API调用和Selenium模拟三种爬取方案的优劣,提供完整的代码实现,包括问题信息获取、回答列表爬取和评论数据提取。同时介绍了数据存储(JSON/Excel)和基础文本分析(词云生成)方法,并给出合规使用建议和技术优化方向,为开发者提供了一套可落地的知乎数据爬取与分析解决方案。

2503_91057718的博客 1822

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

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

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 17、云经纪解决方案——以IBM云经纪为例
下一篇: 10、维格纳分布函数与量子断层扫描研究
vim8coder
博客等级 码龄1天 0粉丝 1693原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值