Linux高级应用(九)Linux内核的原理和配置

一、嵌入式Linux平台的启动过程
1、运行启动引导程序—bootloader(相当于PC的BIOS)
Booting from NAND
Load Kernel…
Uncompressing Linux… done, booting the kernel.

工作:
处理器的初始化、内存初始化、硬件平台初始化—>将硬盘(Nand flash)中的内核镜像(zImage)拷贝到内存(DDR2)—>解压并启动内核。

2、启动加载Linux内核
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.0.8-FriendlyARM (gec@ubuntu) (gcc version 4.5.1 (ctng-1.8.1-FA) ) #2 PREEMPT Tue Apr 6 07:40:26 CST 2021
[ 0.000000] CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7), cr=10c53c7f
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: MINI210
[ 0.000000] MINI210: S70 selected
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU S5PV210/S5PC110 (id 0x43110220)
[ 0.000000] S3C24XX Clocks, Copyright 2004 Simtec Electronics
[ 0.000000] S5PV210: PLL settings, A=1000000000, M=667000000, E=80000000 V=54000000
[ 0.000000] S5PV210: ARMCLK=1000000000, HCLKM=200000000, HCLKD=166750000
[ 0.000000] HCLKP=133400000, PCLKM=100000000, PCLKD=83375000, PCLKP=66700000
[ 0.000000] sclk_dmc: source is sclk_a2m (0), rate is 200000000
[ 0.000000] sclk_onenand: source is hclk_dsys (1), rate is 166750000

3、挂载硬盘上的rootfs

[ 2.999845] Freeing init memory: 1456K
[ 3.007247] yaffs: dev is 32505860 name is “mtdblock4” rw
[ 3.007297] yaffs: passed flags “”

根文件系统的内容:
[root@FriendlyARM /]# ls /
bin lost+found test
data mnt tmp
dev opt udisk
etc proc usr
fa-network-service root var
home sbin www
lib share
linuxrc sys

4、运行Linux的启动脚本—/etc/init.d/rcS或者/etc/profile
通过启动脚本文件可以自动启动运行一个应用程序。

=======================================================================================================
二、Linux内核的作用
进程的管理—进程创建、进程的调度(基于优先级的抢占式调度、基于时间片的轮转式调度)
进程间的通信—管道、队列、信号、共享内存
内存管理----内存的虚拟地址、内存的分配
文件系统----# cat /proc/filesystems
网络协议----TCP/IP、socket接口
设备驱动----Linux device driver是工作在Linux内核中的,由内核来管理的。

=======================================================================================================
三、为什么要学习Linux内核
1、Linux内核开源的、免费的、支持多用户、性能稳定的一个操作系统。
www.kernel.org

2、使我们更加了解计算机操作系统的原理

3、为了学习Linux驱动程序
设计Linux驱动程序时,需要使用Linux内核的驱动模型。
编写驱动时࿰

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值