image.png

QNX启动步骤

嵌入式系统的启动都是类似的,先启动一个boot程序,然后又boot控制系统的进一步加载运行.

根据启动过程,大致可以分为一下五个步骤:1. 处理从复位向量执行代码。2. 启动系统的启动代码(qnx的启动代码就是IPL)。3. IPL会将OS镜像装载并传递控制参数到镜像中的startup程序。4. startup程序配置系统,然后启动neutrino微内核和进程管理器procnto。5. procnto模块装载附加的驱动和应用程序。

image.png

下面主要以QNX 4介绍.

QNX4

QNX4 是 一 个 遵 循 POSIX 1003. 1 标 准 及
POSIX 实时标准的实时操作系统。

image.png

QNX4启动

  1. 计算机加电后, 首先由板上自带的 BIOS 进行检测通过后从硬盘的 第一个物理扇区( 0 磁道 0 柱面 1 扇区) 读入"引导块"( Loader block) 并把执行控制权交给引导程序。

  2. 引导程序执行后将会选择一个可启动的硬盘分区来启动系统。

  3. 启动分区的第一个扇区内,存放着QNX4操作系统的第二个 loader, 这个 lo ader 会提示用户选择一个 QNX 系统映象来启动系统。

    image.png

  4. 系统映象一般包含 boot 、 Proc32、 sinit 这 3 个进程, 当它被加载到内存后, 首先执行boot进程,在实模式下完成系统的初始化工作后将机器设置为保护模式。接着执行 Proc32进程, 该进程包含系统微内核, 主要完成处理器的初始化并对系统映象所包含的各个进程进行运行调度; 最后执行sinit进程, sinit进程通过启动一个shell来执行脚本命令从而对系统进行第二阶段的初始化, 通常一些比较次要的系统服务以及大部分用户程序都是在这个阶段加载的。

  5. 正常启动时,sinit进程首先查找初始化脚本配置文件/ etc/ config/ sysinit . node, 如果该文件不存在或无法打开/etc/config/sysinit file 文件, 如果还不存在则sinit进程结束, 系统没有被初始化。

image.png

参考

QNX4原理及其启动过程分析


http://www.taodudu.cc/news/show-6306808.html

相关文章:

  • 为QNX系统增加定制命令方法
  • Converting Phase Noise to Time Jitter
  • 信号与系统(day10)补充
  • 塞瓦定理,逆定理,及其引伸的证明
  • C语言基础知识概况
  • C语言入门基础知识【完整版】
  • Android编程权威指南第3版 源代码
  • Android编程权威指南.第3版.pdf
  • 安卓编程常见错误记录
  • Android-第九节网络编程
  • 移动端(下)
  • 移动端项目
  • html移动端
  • 移动端测试——移动端基础
  • 移动端方案
  • 八、移动端:
  • 移动端——布局
  • 移动端(上)
  • 移动端和PC端
  • 移动端开发(学好移动端这一篇就够啦)
  • App地推活动的效果差?可能是地推业绩统计效率低惹的祸
  • App地推渠道归属:解决地推中存在的难题
  • App地推效果差?你可能缺少渠道效果统计
  • App地推统计:最全面的业绩统计方案
  • App地推效果统计,自动业绩结算
  • APP地推的一些经验
  • APP地推心得:可复制的APP地推方案
  • 微信小程序一键登录
  • 实现用户一键登录的方案有哪些?
  • 社交网站如何免接口启用QQ微信“一键登录”网站

QNX4系统启动过程相关推荐

  1. Android 系统启动过程

    文章来源于网络,心得来源于整理. 请尊重作者:http://hi.baidu.com/guoxiaoming/blog/item/24e9e9f8c9628f1fd9f9fd89.html/cmtid ...

  2. 系统启动过程Linux

    操作系统的启动分为两个阶段:引导boot和启动startup.引导阶段开始于打开电源开关,结束于内核初始化完成和 systemd 进程成功运行.启动阶段接管了剩余工作,直到操作系统进入可操作状态. 总 ...

  3. linux系统启动过程(三)

    Linux 系统启动过程 linux启动时我们会看到许多启动信息. Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导. 运行 init. 系统初始化. 建立终端 ...

  4. 计算机启动操作系统的过程,操作系统启动过程

    操作系统启动过程简单分为四部分,从BIOS自检.系统引导.启动内核.初始化系统.其中每个部分又分为多个子部分,操作系统的建立是一个相对比较复杂的事情.以下以Linux2.6.32版本为基础,介绍操作系 ...

  5. Linux入门之系统启动过程及初始化----“翻滚吧,牛宝宝”

    每当你按下开机电源键的时候,总是怀着一颗虔诚的心,抱着求神拜佛的念头,祈求机器顺利开机,不要出幺蛾子:每当你看到屏幕上输出的一行又一行的信息,绿的OK,红的failed,迷茫的眼神穿透了显示器:这一切 ...

  6. 根据centos系统启动过程定位故障位置

    根据Centos系统启动过程定位故障位置,按系统启动顺序执行,如果停在某个阶段不往下执行,就定位在这个阶段有故障,根据故障现象找原因直至解决问题. 按系统启动顺序可分为4个步骤,分别是BIOS自检.G ...

  7. 【Notes9】Linux系统启动过程,数据库,驱动,i2c-tools,shell

    文章目录 1.Linux系统启动过程:ukr,ubuntu开机引导文件/etc/default/grub 2.数据库:存储过程(PL/SQL代码集,像没有返回值的自定义函数)和函数需要用户显示调用才执 ...

  8. IBM AIX 5.3 系统管理 -- 系统启动过程详解

    一. 启动过程 启动过程包含下面的一些步骤: 1.1启动一个系统的初始步骤是上电自检(Power On Self Test,POST).其目的是验证基本硬件是否处于正常的工作状态.同时初始化内存.键盘 ...

  9. rhel系统启动过程_Linux系统启动过程分析

    [原创]Linux系统启动过程分析-wjlkoorey258-ChinaUnix博客 http://blog.chinaunix.net/uid-23069658-id-3142047.html 经过 ...

  10. android tcpdump log分析,android 系统启动过程中加入tcpdump和logcat

    一.android 系统启动过程中加入tcpdump ,分析开机启动后,系统与服务器端的消息交互. 1. init.rc 中的修改 1)在init.rc 中加上tcpdump service. ser ...

最新文章

  1. 002 Android之helloworld工程详解
  2. html5控制gif速度,gif加速软件 教你加快GIF图片的播放速度
  3. vba mysql连接字符串_分享一个VBA连接mysql数据库的方法
  4. 转:libev和libevent的设计差异
  5. Tensorflow卷积神经网络
  6. 时间序列-N_LSTM
  7. 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_1.页面发布-需求分析...
  8. 【LaTex】Vscode+LaTex模板的使用
  9. 测绘工程专业与计算机,测绘工程专业的计算机技术教学
  10. 云计算被指变相占土地 专家称去伪存真
  11. MATLAB编程之混沌系统
  12. 制作openstack离线 yum 源
  13. 元宇宙并不是区块链的延伸 因为区块链并未跳出虚拟的牵绊
  14. 一张图,讲明白UML类图
  15. 如何截取视频片段 批量截取片段的方法
  16. 链游开发,链游源码出售,基于Dapp合约的链上游戏
  17. Android 消息推送OnePush
  18. Word 2007 2010 书法字帖 停止保护
  19. 【踩坑日记】vue项目ie打不开报错SCRIPT1006:缺少‘)‘
  20. 讲解机器人都有哪些基本功能?

热门文章

  1. 摩斯电码php源码,PHP实现基于文本的摩斯电码生成器
  2. jquery添加样式
  3. 如何更改文件夹的图标!如何更改文件的图标!
  4. marked生成Markdown导致代码块错位的BUG解决
  5. Centos配置DNS
  6. Python游戏末日丧尸
  7. 操作无法完成错误0x0000709再次检查打印机名称解决方法!
  8. How MonoRail works
  9. 【软著】申请软件著作权流程资料及方法
  10. 囧!万恶的微软组策略