新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 操作系统研究。UEFI
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机理论与工程『 操作系统原理 』 → 漫谈如何学习操作系统原理[转帖] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5749 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 漫谈如何学习操作系统原理[转帖] 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     DMman 帅哥哟,离线,有人找我吗?魔羯座1984-1-11
      
      
      威望:1
      头衔:数据挖掘青年
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:803
      积分:5806
      门派:W3CHINA.ORG
      注册:2007/4/9

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给DMman发送一个短消息 把DMman加入好友 查看DMman的个人资料 搜索DMman在『 操作系统原理 』的所有贴子 点击这里发送电邮给DMman 访问DMman的主页 引用回复这个贴子 回复这个贴子 查看DMman的博客楼主
    发贴心情 漫谈如何学习操作系统原理[转帖]

    作者:不详 来源:CSDN博客  ithao123收集 2007-08-13
    摘要
    IT经验网
      学习应用软件的朋友,我也劝你们看看操作系统,内核等这些系统底层的东西。看过了以后,你会觉得看应用级编程会更流畅,学起来也会更简单。我就是这样学的,学MFC,后来开始学INTEL CPU的应用级编程,现在我决定开始从系统级学起。
    本人学习计算机技术至今,对于如何学习操作系统原理有一点自己的看法,现在写出来,希望对大家能有所帮助!

            操作系统怎么学,首先要想操作系统是怎么来的,在没有操作系统的年代里,人们是怎么编程的。这是首要的问题。不知道有没有人看过INTEL官方的CPU文档,总是分为应用级编程、系统级编程、指令集这三块。其中系统级编程这一块最复杂,我不说内容,就单从文件的大小来看,IA-64编程手册的应用级编程卷是2MB,系统卷却有6MB。就连IA-32编程手册上的系统卷部分也远比应用卷的要多。当然这些内容我还没有看,不过从目录当中,觉得有很多相似的地方,比如CPU内存寻址、虚拟存储器管理、中断与保护等等,可以从INTEL的CPU文档上看出,各种CPU或机器虽然各有各的不同,各有各的特点,但是目前的CPU要解决的核心问题就是那么几块,要解决的就是象如何寻址内存,如何管理虚拟存储,如何实现中断,如何保护资源等等。

            各位编程的同仁想必都很清楚,计算机的操作系统就是在为应用级编程提供服务,提供什么服务,就是提供象诸如如何内存寻址,如何管理虚拟存储器、如何进行中断,如何管理磁盘,如何。。。。等等。操作系统为我们做掉了系统级编程中最繁重的一块,所以我们在用应用级编程比如用C++编程的时候才会那么舒服,用 int分配一个变量这内存地址就来了,某个函数要调用另一个函数执行的时候这执行行程就能跳到那个函数,内存不够了,没有关系,操作系统自动启动虚拟存储器(只不过慢了些),所以应用级编程是最舒服的,操作系统级编程比较难,而直接做单片机可能就是最难的了。因为即使就是操作系统级编程,可能很多有关 CPU底层的东西也已经做掉了,你要做的可能就是要了解的你的操作系统做掉了哪些功能,如何调用。而单片机就没有那么好玩了,单片机我没有做过,我想可能就是直接对着一个CPU用汇编来编程,而且很可能是在没有操作系统的情况下,这样一来,操作系统要承担的诸如内存管理,中断,过程跳转等这些复杂繁重的工作就得程序员自己来承担,那程序员的负担就比目前应用级编程大得多了。

            我猜想,可能在没有操作系统的时候,每个计算机程序员的日子可不会象现在的那么好过,因为做每个程序,都需要你自己去分配管理内存,你不但要考虑如何高效的管理内存,还要知道如何进行过程跳转等等这一大堆的的细活,而这些细活在不同的CPU上的实现方式也是不同的,直到把这些问题都解决了以后,你才开始真正考虑你的应用方面的程序逻辑如何去编的问题。当然了,虽然有关CPU底层的系统级实现细节不一样,但是大至CPU系统级这一部分要解决哪几块问题这是一样的,所以在INTEL的官方文档上,无论是IA-32还是IA-64这两个编程手册的系统卷上,都是那么几块内容。

            既然系统级要解决的几个任务都是相同的,每个程序员在编程的时候都要考虑这几方面的内容,那么可能就会想,为什么不把这些程序要解决的相同的任务给提取出来呢,这就形成了操作系统,操作系统的内核的任务,就是专门负责解决早期计算机程序员每次编程都必须要解决的几项系统级任务,这样一来,留给应用级的担子就非常的轻了,忘记在哪里看过,好像以前的数据库系统是属于应用软件的,可能同样是因为每个应用软件连同操作系统都需要一个数据库,所以就把数据库系统给单独提了出来做为系统软件了。有一点不明白为什么目前的操作系统要用文件系统,直接用数据库系统不更好些吗,既对用户服务,又为系统服务!

            我觉得,如果大家有要学操作系统原理的,根本就不必要去看所谓什么操作系统原理这一类的书,连外文的书籍也没有必要去看,因为目前国际CPU制造商提供的 CPU文档的系统级编程卷才是真正的,原汁原味最好的教材,你要编写的操作系统从大部分任务就是解决系统卷里的任务的。有一次在QQ上和一个做单片机的家伙聊天,那人比我小一点,我当时说目前操作系统底层好难,他就说这有什么难的,他马上就能做一个操作系统,就连编译器也能做,我当时被吓了一大跳,小小年纪就这么厉害,现在我懂了,做单片机的,大概都会做操作系统,因为单片机的每次编程就是和系统底层打交道的,所以做单片机程序的自然对一个操作系统内核会比较了解了。

            在此建议和我一样的对操作系统原理感兴趣,对系统底层的感兴趣的人,直接去看INTEL的官方材料吧,操作系统原理有哪几条,要解决哪些任务,通过查看不同CPU的系统卷编程手册,找出其中相同的任务和逻辑去自己总结操作系统是如何做,无疑这种方法学到会是最多的了,而且理解起来可能会比一般的学习方法来得更深刻。

            学习应用软件的朋友,我也劝你们看看操作系统,内核等这些系统底层的东西。看过了以后,你会觉得看应用级编程会更流畅,学起来也会更简单。我就是这样学的,学MFC,后来开始学INTEL CPU的应用级编程,现在我决定开始从系统级学起。目前我也会上MSDN英文网站看看有关MFC的东西,但我看MFC倒不是主要因为去编写MFC应用程序,而是想看看微软是用系统为所有的应用级编程提供服务的,这整个一套结构是如何构造出来的,ORACLE数据库是我继INTEL文档的下一波目标,我也是想看看,一个数据库体系结构是什么样的,可不可以嵌到操作系统里去。

            就写到这里,希望有志同道合的朋友和我一起前行,最后祝大家编程愉快,工作愉快。呵呵!


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    数据挖掘青年 http://blogger.org.cn/blog/blog.asp?name=DMman
    纪录片之家 (很多纪录片下载)http://www.jlpzj.com/?fromuid=137653

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/11/14 21:43:00
     
     cornerp 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:5
      积分:82
      门派:XML.ORG.CN
      注册:2007/10/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给cornerp发送一个短消息 把cornerp加入好友 查看cornerp的个人资料 搜索cornerp在『 操作系统原理 』的所有贴子 引用回复这个贴子 回复这个贴子 查看cornerp的博客2
    发贴心情 
    兄弟刚决定朝这个方面发展,谢谢你的提醒
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/11/14 22:37:00
     
     ww4052 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:64
      门派:XML.ORG.CN
      注册:2007/10/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ww4052发送一个短消息 把ww4052加入好友 查看ww4052的个人资料 搜索ww4052在『 操作系统原理 』的所有贴子 引用回复这个贴子 回复这个贴子 查看ww4052的博客3
    发贴心情 
    谢谢版主!你的建议很好,我有志于向此方面发展,总算有方向标了!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/11/21 7:33:00
     
     PRC001 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:74
      门派:XML.ORG.CN
      注册:2007/10/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给PRC001发送一个短消息 把PRC001加入好友 查看PRC001的个人资料 搜索PRC001在『 操作系统原理 』的所有贴子 引用回复这个贴子 回复这个贴子 查看PRC001的博客4
    发贴心情 
    我也来顶一下,我想最好搞到最低层的数字电路里面去

    ----------------------------------------------
    登山则情满于山  观海则意溢于海

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/11/28 0:42:00
     
     lijie5208 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:65
      门派:XML.ORG.CN
      注册:2007/12/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lijie5208发送一个短消息 把lijie5208加入好友 查看lijie5208的个人资料 搜索lijie5208在『 操作系统原理 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lijie5208的博客5
    发贴心情 
    谢谢
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/12/6 13:20:00
     
     baiheking 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:61
      门派:XML.ORG.CN
      注册:2007/12/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给baiheking发送一个短消息 把baiheking加入好友 查看baiheking的个人资料 搜索baiheking在『 操作系统原理 』的所有贴子 引用回复这个贴子 回复这个贴子 查看baiheking的博客6
    发贴心情 
    我是一个计算机大学生,而且我现在正在学习操作系统,听君一席话,胜读半年书啊
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/12/12 11:06:00
     
     计算的高手 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:1
      积分:58
      门派:XML.ORG.CN
      注册:2007/12/14

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给计算的高手发送一个短消息 把计算的高手加入好友 查看计算的高手的个人资料 搜索计算的高手在『 操作系统原理 』的所有贴子 引用回复这个贴子 回复这个贴子 查看计算的高手的博客7
    发贴心情 
    真的有堤湖灌顶的感觉呀!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/12/14 13:52:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 操作系统原理 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/29 2:40:21

    本主题贴数7,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    6,250.977ms