《Linux内核编程指南》心得之一

1.Linux是多任务,多用户,多进程的操作系统.

2.当fork()一个新进程时,并不立即请求数据内存,而是两个进程共用原数据内存.假如新进程要对这段内存进行写操作,再复制一部分包括该内存在内的内存段,这个过程被称为写前复制.写前复制能有效地节约内存资源,以及为了复制内存造成的一系列开销.

3.分页(paging),页面大小为4KB,不知道是不是还可以有其他大小.

4.共享程序库技术能够大大缩小执行文件的大小.需要注意的是,共享程序库文件只载入内存一次,在内存中供各进程共享.这些程序库只有当程序运行时才被装入,亦称动态链接库(dll).

5.Linux支持的文件系统:Ext2,ISO,NFS,HPFS,Amiga Fast File(AFF),UPS,Sys V,Samba等.

6.为了支持嵌入式Linux,在2.4版本内核中作了一些修改,比如:控制台可以被切断,支持商业的闪存硬件(芯片内磁盘).

7.内核源代码在/usr/src/Linux目录下,依赖体系结构的代码位于arch/的子目录下如arch/arm/

8.start_kernel()函数是linux系统的入口函数,保存在arch/i386/init/目录下.

9.在调用第一个函数start_kernel()前,有一些准备工作要完成,这些工作的汇编代码保存在arch/i386/boot下,它们配置硬件,高度地因机器而异.

10.目录kernel和arch/i386/kernel包括内核的中央部分,内容包括:重要的系统调用,所有系统调用用来转换到系统模式的机制,系统时间,定时器,调度程序,DMA,中断请求管理以及信号处理.

11.内存管理代码在mm/及arch/i386/mm/目录中.

12.虚拟文件系统接口在fs/目录中.Proc与Ext2是重要的文件系统,Proc用作系统管理,Ext2是linux的标准文件系统.

13.编译内核的三个步骤:a.用#make config配置内核b.用#make depend来计算源代码的相关性c.最后就用简单的#make来实现编译.

14.在makefile文件中,最起码需要修改变量ARCH:=arm,如果是为了另一个目标体系结构编译一个Linux内核,可以使用变量CROSS_COMPILE来设置相应编译器路径.

15.微内核结构:实际的内核只提供必需的最小功能(进程通信与内存管理),因此可以以一种小的和简洁的形式实现.以这个微内核为基础,操作系统的其余功能被重新配置为独立的进程.

16.微内核优点:a.组件独立,不会彼此间影响b.易于替换,新组件开发简化c.更少的故障需要处理.

17.微内核的缺点:a.有更多的进程,进程间通信甚至比函数调用更多,使得系统比传统的整体式内核要慢b.微内核结构强制定义单独的组件之间要维护的接口,并且阻止了高级的优化(不太明白)

18.微系统机构轻微的速度损失是可以接收的,原因在于现在的硬件足够快,并且因为简单的系统维护的优点降低了开发成本.

19.Linux是整体式的内核结构.

20.Linux内核的大多数代码属于设备驱动程序,而进程和内存(微内核定义下的实际内核)相当小并且容易理解,各自有约13000行C代码.

21.大多数的设备驱动程序同"微内核"分开是可能的,它们可以在运行时需要时以独立的模块被载入.所以,Linux成功地设法利用了微内核结构的优点而没有放弃它最初的整体式的设计.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shell是一种完整的编程语言,易学易用;shell脚本可以使烦人的手工作业自动化,使你的工作变得简单、轻松!本书通过各种实用的系统管理小技巧和趣味脚本代码,详尽地介绍了shell编程各个不同的方面。学完本书后,你将成为一名shell编程高手。 内容简介 本书共分五部分 ,详细介绍了SHELL编程技巧,各种UNIX命令及语法,还涉及了UNIX的文字处理以及少量的系统管理问题。本书内容全面,文字简洁流畅,适合SHELL编程人员学习、参考。 目录 第一部分 SHELL 第一章 文件安全与权限 第二章 使用FIND和XARGS 第三章 后台执行命令 第四章 文件名置换 第五章 SHELL输入输出 第六章 命令执行顺序 第二部分 文本过滤 第七章 正则表达式介绍 第八章 GERP家族 第九章 AWK介绍 第十章 SED用法介绍 第十一章 合并与分割 第十二章 TR用法 第三部分 登录环境 第十三章 登录环境 第十四章 环境和SHELL变量 第十五章 小结 第四部分 基础SHELL编程 第十六章 SHELL脚本介绍 第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试脚本 第二四章 SHELL嵌入命令 第五部分 高级SHELL编程技巧 第二五章 深入讨论 << 第二六章 SHELL工具 第二七章 几个脚本例子 第二八章 运行级别脚本 第二九章 CGI脚本

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值