标签:
一 对Linux系统的理解
刚开始不太了解linux系统,对代码来执行操作比较反感,觉得太麻烦。可是当我熟悉了linux的命令的时候就觉得比较有成就感,而且他的开放性还有安全性深深地吸引了我,特别是它的可移植性,不管是掌上电脑还是普通电脑都能装上linux,说明它的应用极其广泛。我认为Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
二学习Linux内核的心得
Linux是一个一体化内核系统。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。Linux 内核实现了很多重要的体系结构属性。在或高或低的层次上,内核被划分为多个子系统。主要包括:
系统调用接口
主要执行从用户空间到内核的函数调用。
进程管理
进程管理的重点是进程的执行,还包括处理活动进程之间共享 CPU 的需求。
内存管理
内核所管理的重要资源是内存。
虚拟文件系统
虚拟文件系统是 Linux 内核中非常有用的一个方面,因为它为文件系统提供了一个通用的接口抽象。VFS 在 SCI 和内核所支持的文件系统之间提供了一个交换层。
这些是我对内核的一些自己的理解,里面还包括很多细节,内核不是整个操作系统,但是它却是整个linux的核心,就像大脑一样,控制着整个系统的运作。
我们不能单纯的通过一个代码或者一个程序来学习,而是要宏观的通过自己的理解,来学习整个过程。
三博客作业目录列表
通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的:http://www.cnblogs.com/kryst4l/p/5225254.html
完成一个简单的时间片轮转多道程序内核代码:http://www.cnblogs.com/kryst4l/p/5247136.html
跟踪分析Linux内核的启动过程:http://www.cnblogs.com/kryst4l/p/5269527.html
使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用:http://www.cnblogs.com/kryst4l/p/5297908.html
system_call中断处理过程:http://www.cnblogs.com/kryst4l/p/5325568.html
分析Linux内核创建一个新进程的过程:http://www.cnblogs.com/kryst4l/p/5341791.html
Linux内核如何装载和启动一个可执行程序:http://www.cnblogs.com/kryst4l/p/5372200.html
理解进程调度时机跟踪分析进程调度与进程切换的过程:http://www.cnblogs.com/kryst4l/p/5387004.html
四学习linux课程的最大收获
学习整个课程,让我受益匪浅,不仅仅是学到了通过汇编语言来了解计算机运作的方法,还熟悉了之前不太熟悉的linux命令,现在使用linux比前以前更加得心应手。更主要学到了一种学习方法,那就是通过读懂代码来了解整个操作系统,这不仅仅是学习linux,在学习其他的操作系统或者机器语言上面都能用到。最后特别是在写博客这个习惯的养成方面,让我知道了知识不单单是需要学会,更重要的是复习与总结。温故而知新,这个习惯能让我们对之前的知识更加深入的了解,而不是学一点忘一点,到最后能真正学到知识。
五学习linux最大的遗憾
学习linux最大的遗憾就是没有把网上课程和自己买的教材联系起来,好像是在上两堂课,对于知识不能融会贯通,只能停留在理解的阶段,对于知识没有能应用。
标签:
原文地址:http://www.cnblogs.com/kryst4l/p/5450309.html