QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3021|回复: 11

linux操作系统有main函数作为程序入点吗

[复制链接]
发表于 2003-12-2 13:47:48 | 显示全部楼层 |阅读模式
我刚刚想对linux进行一些代码阅读,还是什么都不知道。
各位大虾多多指点。

linux操作系统有main函数作为程序入点吗
 楼主| 发表于 2003-12-2 13:53:51 | 显示全部楼层
另外,能不能指点最好从哪里开始看linux源代码。
我想从先从一个问题入手,如linux如何进行进程调度得看下去。因此,首先从task_struct开始看,但现在没什么感觉。
高手指点指点。
回复

使用道具 举报

发表于 2003-12-2 15:43:56 | 显示全部楼层
对2.4的内核来说,启动之后,进入不退出的函数start_kernel()。
main()函数只是c编译器用来识别程序的进入点的标志,你也可以做一个
用"进入程序()"作为程序入口。

看源代码,最好拿一本厚一点的书,第一,不要抠细节,注重各个部分的结构
体及其之间的联系;第二,不懂的地方先放过,以后会懂的;第三,等你对整个
源代码有了清晰的了解,再来分析源代码细节,你会觉得看源代码是享受。
回复

使用道具 举报

 楼主| 发表于 2003-12-2 16:14:41 | 显示全部楼层
非常感谢楼上得指点,我找到你说的start_kernel()了。
谢谢后面那么多好的建议,以后还要多多指教

我现在手头只有两本书 Linux内核源代码分析 scott maxwell 著 ,这本书不知从何看起
不知道有没有好的建议,看这本书
另外就只剩下 linux 操作系统及实验教材 李善平,这个是以前的课本(师兄得),这本虽然容易懂一点,但比较粗
回复

使用道具 举报

 楼主| 发表于 2003-12-2 16:19:57 | 显示全部楼层
另外,我看源代码的时候,怎么样比较好。
我有两个想法:
1,从你说的  start_kernel() 开始看出去,找出其流程
2。用一个目的来带动看,如我想知道如何进行调度任务的,然后从进程开始看出去

能不能给点建议
回复

使用道具 举报

发表于 2003-12-3 09:36:19 | 显示全部楼层
我记得我刚看的时候,也是李善平的另一本书,加上"情景分析“作为资料查询。首先看进程部分,我最先分析的是task_struct,但也是大概了解,没有每一个部分都分析透,对调度schedul(),我只了解它要调度哪几个,当时,对于schedul()的位置在那儿也不清楚,系统调用,中断处理等都是了解结构。看mm部分的时候,我开始只注重物理内存是怎样实现与虚拟内存分离的,这一点很重要。看文件和设备的时候,我是从应用层打开一个文件时,系统是怎样完成处理的,主要是看象task_struct,mm_struct等与这部分结构之间的联系。
    好,有事,就说到这儿!
回复

使用道具 举报

 楼主| 发表于 2003-12-3 13:05:17 | 显示全部楼层
非常感谢指点!
回复

使用道具 举报

发表于 2003-12-3 23:35:13 | 显示全部楼层
davidfox has very good point.    
回复

使用道具 举报

发表于 2003-12-9 11:12:46 | 显示全部楼层
看的我一头雾水
回复

使用道具 举报

发表于 2003-12-9 21:07:14 | 显示全部楼层
太难看了!
回复

使用道具 举报

发表于 2003-12-14 22:43:19 | 显示全部楼层
谁说难看,你的眼光这么差劲linux是最漂亮的真没眼光
回复

使用道具 举报

发表于 2004-1-13 16:14:40 | 显示全部楼层
樓上的理解有誤吧

人家說難看應該是難以看懂。

你卻說linux是最漂亮的〔這一點我承認〕
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 09:17 , Processed in 0.104690 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表