学习linux内核,请推荐几本书及顺序,谢谢?
Linux内核最经典的书是《深入理解Linux内核》,这本书内核编程看;如果你是搞UNIX/Linux环境下的应用程序编程,那么就看《UNIX环境高级编程》;如果做Linux下设备驱动程序开发,就看《Linux设备驱动》(第三版)。这几本都是老外写的,都是很经典的书。
微内核与linux系统的区别?
区别如下:
内核结构不同,vxworks是微内核,只提供基本的服务,而linux是宏内核,除了基本的服务、内核还包括文件系统、网络协议等;
运行模式不同,vxworks应用程序在“实模式”下,无用户模式和内核模式之分,而linux***用“保护模式”,用户进程、线程运行在用户模式下,内核线程运行与内核模式。
微内核与Linux系统的区别主要体现在以下几个方面:
1. 内核架构:微内核***用微内核架构,将操作系统的核心功能进行模块化分离,将部分功能实现在内核空间,而其他功能则在用户空间中实现。而Linux***用单内核架构,将大部分功能都实现在内核空间。
2. 性能:由于微内核***用了模块化的设计,将一部分功能放在用户空间中实现,因此微内核相对来说性能上更加受限。而Linux***用单内核设计,能够更高效地进行系统***的管理与调度。
3. 可靠性与稳定性:由于微内核的设计具有模块化与分离的特点,不同模块之间的交互更加明确与清晰,因此在出现问题时更容易进行定位与修复。而Linux***用单内核架构,各个功能模块之间的交互更加复杂,因此在出现问题时难以快速定位与修复。
4. 可扩展性:由于微内核设计时将核心功能进行模块化分离,因此微内核具有很高的可扩展性。可以根据具体需求灵活添加或移除功能模块。而Linux的核心功能集成在单个内核中,扩展性相对较差。
Linux Kernel (Linux内核)怎么安装?
1、下载新内核源码:到******.kernel.org,下载最新版本linux内核,保存到/usr/src/kernels目录,大约54MB。
2、#cd/usr/src/kernels
3、#tarjvxflinux-2.6.31.5.tar.bz2
4、进入系统原内核目录,把其中的隐藏文件.config***到新内核目录中。
5、cd进入新内核目录,然后执行#makeoldconfig 此时所有提示均按回车,选项提示都默认。
6、#makexconfig此时弹出一个内核配置窗口,里面全是英文,我看不懂,干脆就直接把这个窗口关掉,继续往下做。
7、#makebzImage&&makemodules&&makemodules_install&&makeinstall第七步编译时间比较长,要30到50分钟不等,要看机器情况了。
8、#uname-r查看内核版本,完成上面步骤后就可以重启系统了,启动时会在GRUB菜单里出现新内核选项了。 此方法安装新内核后同时也会保留旧内核,启动时,可以在新老内核间选择,相当的实用
为什么linux要分为用户空间和内核空间?
为了减少系统崩溃的概率,linux要分为用户空间和内核空间。
linux要分为用户空间和内核空间,在 CPU 的所有指令中,有些指令是非常危险的,如果错用,将导致系统崩溃,比如清内存、设置时钟等。如果允许所有的程序都可以使用这些指令,那么系统崩溃的概率将大大增加。
所以,CPU 将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通应用程序只能使用那些不会造成灾难的指令。