什么是内核?

来源:互联网 发布:国外美女图片网站源码 编辑:程序博客网 时间:2024/05/22 09:55

2016-09-18 17:49 第一次写内核这个话题,现在看来当初对内核的理解是非常表面的。现在学习Linux内核,内核中使用的技术非常复杂,绝非仅仅是.c .h文件。

  1. 百度百科,或者维基百科给出的解释
    内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。百度百科
  2. 我理解的"内核"的含义
    刚刚开始学习嵌入式Cortex-M4的裸机,那么现阶段"内核"对于我来说,就是由汇编写的启动代码,还有官方给出的一些.c文件和.h文件. 这些.c和.h文件会定义一些常量或者变量,定义一些函数让硬件可以工作. "内核"是别人定义好东西,于我而言,就是要学会如何使用"内核"来完成想要做的事情,例如调用别人定义好的函数等等.
    更加准确的内核定义应该是"负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性". 
  3. Contex-M4内核
    目前使用的开发板的SoC是STM32F407ZGT6, 意法半导体官方(www.st.com)提供支持的文件如下:

    核心文件: core_cm4.h, core_cmFunc.h, core_cmInstr.h, core_cmSimd.h;
    启动代码: starup_stm32f40_41xxx.s
    SoC相关的数据结构定义: stm32f4xx.h
    系统时钟初始化: system_stm32f4xx.h 和   system_stm32f4xx.h
    对于我而言,核心文件还有SoC的文件都要了解,看看它们定义了什么功能,然后再利用这些功能做一些事情
  4. Linux内核

0 0