首页 文章 精选 留言 我的

精选列表

搜索[开源操作系统],共10000篇文章
优秀的个人博客,低调大师

【学习笔记】小O带你掌握操作系统的心跳-OneOS内核启动

一、简介 内核启动介绍了整个系统从硬件上电如何一步步进入用户程序的过程。一般情况下,启动过程分为硬件上电,首先运行和体系架构相关的启动汇编文件,进行一些最基本硬件的初始化(例如CPU配置,时钟,栈地址,RAM等),为内核运行铺垫好环境,然后初始化内核各模块(例如调度器,定时器等),接着创建系统任务(例如空闲任务)和用户任务,最后启动调度和运行用户程序。 二、自动初始化 自动初始化是指初始化函数不需要被显式调用。 隐式调用(静态调用):将动态链接库和其它源程序文件(或者目标文件)一起参与链接;在介绍内核启动之前,有必要介绍自动初始化的实现机制。 在介绍内核启动之前,有必要介绍自动初始化的实现机制。 显式调用(动态调用):手动调用动态链接库中包含的资源,同时用完后要手动将资源释放。自动初始化的实现是利用编译器的段和段排序的特性,以GCC编译器为例具体如下: 在介绍内核启动之前,有必要介绍自动初始化的实现机制。 自动初始化的实现是利用编译器的段和段排序的特性,以GCC编译器为例具体如下: 1、通过GCC的关键字__attribute__((section(x))),可以把定义的符号(函数地址或变量地址)放到段名为x的段中,段名x由用户指定。在自动初始化应用中,段名都包含.init_call字符串,若采用通配符的表示方法,段名为.init_call,表示任何一串其它一串字符串; 2、在GCC的链接脚本中,关键字KEEP((SORT(.init_call)))可以对段名符合.init_call*形式的段进行排序; 3、若把自动初始化函数的符号(即函数地址)放到符合.init_call*形式的段中,就可以间接实现函数符号排序,从而可以提供有顺序的执行自动初始化函数的方法。 自动初始化通过宏定义提供了注册初始化函数的接口,接口如下: 提供了段结构的宏定义,根据初始化优先级的不同,有如下宏定义: 编译之后,初始化宏对应的段结构如下: 三、内核启动流程 下图展示了整个系统启动过程和内核启动过程,本节主要介绍内核启动部分。 可见,内核启动主要有下面几个 步骤: 1、系统先从启动文件开始运行,然后进入 OneOS 的内核启动函数 os_kernel_init()和os_kernel_start() 2、os_kernel_init中调用_k_run_init_call函数执行OS_INIT_LEVEL_PRE_KERNEL_1,进行内核启动前的第一阶段的初始化 3、初始化内核各模块,如tick队列,调度器,定时器等 4、创建recycle,idle,timer,sys系统任务 5、启动调度器,最后会运行sys任务,sys任务调用_k_run_init_call函数依次执行其他自动化宏注册的函数,最后调用main函数进入用户程序入口

优秀的个人博客,低调大师

分布式监控系统 WGCLOUD,新增支持32位操作系统

WGCLOUD,server端基于springboot开发,agent端使用go编写。支持高并发高性能,核心模块包括:主机监控,ES集群状态监控,CPU监控,CPU温度监控,内存监控,数据监控,docker监控,网络流量监控,服务心跳检测,应用进程管理,磁盘IO监控,系统负载监控,端口监控,日志文件监控,监控告警信息(默认邮件,支持钉钉微信集成)推送。 针对版本WGCLOUD-v3.3.0,新增了可以在32位系统运行的客户端agent版本,请在https://www.wgstart.com/help/docs15.html下载 码云源码下载:https://gitee.com/wanghouhou/wgcloud GITHUB源码下载:https://github.com/tianshiyeben/wgcloud 安装包下载:http://www.wgstart.com

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册