大家好,今天小编关注到一个比较有意思的话题,就是关于linux内核代码学习的问题,于是小编就整理了4个相关介绍linux内核代码学习的解答,让我们一起看看吧。

  1. Linux Kernel (Linux内核)怎么安装?
  2. 如何基于linux内核开发一套适合自己机器的系统?
  3. 学习linux内核,请推荐几本书及顺序,谢谢?
  4. linux内核原理与分析?

Linux Kernel (Linux内核)怎么安装?

1、下载新内核源码:到******.kernel.org,下载最新版本linux内核,保存到/usr/src/kernels目录,大约54MB。

linux内核代码学习-linux内核代码分析视频详解
(图片来源网络,侵删)

2、#cd/usr/src/kernels

3、#tarjvxflinux-2.6.31.5.tar.bz2

linux内核代码学习-linux内核代码分析视频详解
(图片来源网络,侵删)

4、进入系统原内核目录,把其中的隐藏文件.config***到新内核目录中。

5、cd进入新内核目录,然后执行#makeoldconfig 此时所有提示均按回车,选项提示都默认。

linux内核代码学习-linux内核代码分析视频详解
(图片来源网络,侵删)

6、#makexconfig此时弹出一个内核配置窗口,里面全是英文,我看不懂,干脆就直接把这个窗口关掉,继续往下做。

7、#makebzImage&&makemodules&&makemodules_install&&makeinstall第七步编译时间比较长,要30到50分钟不等,要看机器情况了。

8、#uname-r查看内核版本,完成上面步骤后就可以重启系统了,启动时会在GRUB菜单里出现新内核选项了。 此方法安装新内核后同时也会保留旧内核,启动时,可以在新老内核间选择,相当的实用

如何基于linux内核开发一套适合自己机器的系统?

其实这样提问就不怎么对。基于xx内核的说法好像是Windows世界说的。在GNU/Linux世界是不用这样的。你可以从零开始制作一个自己的Linux。最简单的是lfs,首先去lfs官方下载手册和源代码包,自己建立编译环境,然后自己编译一个适合自己的Linux。内核除了可选Linux内核外,hurd内核也可以选。如果想编译适合arm架构的Linux,就得先下载clfs的手册了,玩玩交叉编译。如果想带上图形界面,继续blfs。总之,自己编译一个适合自己电脑的Linux,只要电脑硬件跟得上,自己有时间折腾,这事不是很难。如果水平再高点,连那些发行版的包管理也可以拿来用用……

Linux内核基本已经包含了常见的硬件驱动,所以只需要一个编译框架,比如buildroot或openwrt之类的。选中目标板的硬件驱动和功能包,去掉多余的,就可以编译出一个精致的系统。像openwrt,编译好的固件通常只有几M大小。

如果是通用桌面机,需要图形界面,那就找个发行版比如常用的debain改吧。

学习linux内核,请推荐几本书及顺序,谢谢?

linux内核最经典的书是《深入理解Linux内核》,这本书内核编程看;如果你是搞UNIX/Linux环境下的应用程序编程,那么就看《UNIX环境高级编程》;如果做Linux下设备驱动程序开发,就看《Linux设备驱动》(第三版)。这几本都是老外写的,都是很经典的书。

linux内核原理与分析?

Linux内核原理与分析如下:

进程管理 。Linux内核负责创建、调度和中止进程。每位进程都有一个惟一的进程ID,用于分辨不同的进程。

显存管理 。Linux内核负责分配和回收显存***。它使用虚拟显存管理技术,将数学显存具象为一致的地址空间,提供给进程使用。

文件系统 。Linux内核提供了一个统一的文件系统插口,支持多种不同的文件系统格式。

设备驱动 。Linux内核包含了大量的设备驱动程序,用于管理和控制硬件设备。

Linux内核的工作原理:

进程调度 。Linux内核使用优先级调度算法,按照进程的优先级和运行状态,决定下一个运行的进程。

显存管理 。Linux内核使用页式显存管理技术,将数学显存界定为固定大小的页,通过页表来管理显存***。

文件系统 。Linux内核通过虚拟文件系统层,提供了一个统一的文件系统插口,致使用户可以透明地访问不同的文件系统。

设备驱动 。Linux内核通过设备驱动程序,将硬件设备的操作具象为文件操作,致使用户可以通过文件操作插口来控制硬件设备。

到此,以上就是小编对于linux内核代码学习的问题就介绍到这了,希望介绍关于linux内核代码学习的4点解答对大家有用。