浅谈OS及build过程.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈OS及build过程—by Armand ******************************************************************************************** Instruction Content as below: 1、长久以来的一些疑问 2、计算机系统层次 3、OS功用(文件系统进程调度进程与线程) 4、build的过程 By Armand /12 August 2013 ********************************************************************************************* 长久以来的一些疑问 曾经缠着一个助教问很多问题,当时是因为刚接触Arm linux,没有了跑裸机时的‘一眼望到底’的快感和掌控感,对很多事情都想搞明白所以然来,你用鼠标click一下,到结果呈现在屏幕上,中间到底发生了什么?他就推荐我读一本叫《程序员的自我修养》,现在终于有时间好好阅读一下,顺便记下笔记,以备长久之用。相信它会在操作系统、编译原理方面给我带来长足的进步。慢慢从底层往上走这是趋势,而计算机专业的同学从上层往底层走就痛苦多了,要抓住这次机会,持续更新这一系列文档,直到我的知识结构发生变化,就像下图一样,打通: 一个大牛曾经说过:体系结构、汇编、C语言、操作系统,永远都是编程大师们的护身法宝,如同少林寺的《易筋经》,学会了之后将无所不能。 不知你是否也有下面的疑问? C/C++程序如何被编译成目标文件,程序在目标文件中如何存储? 目标文件又如何被linker链接在一起形成可执行文件(符号处理、重定位、地址分配) 可执行文件如何被装载并执行? 可执行文件与进程的虚拟空间之间如何映射? 什么是动态链接,为什么需要动态链接? 什么是堆、栈? 什么是运行库、系统调用? 如果上面的知识结构能够打通,那么相信这些问题也就不是问题了,go! 计算机系统层次 计算机科学领域的所有问题都可以通过增加中间层的方式解决。跟通信协议中的分层相似,下层为上层提供服务,并规定服务的申请规则,即定义接口标准(interface)。计算机系统层次也不例外如下: 其中除了硬件和应用之外的所有层次均可称之为中间层。 应用程序调用系统API,linux下的glibc 库提供Posix标准的API,而window下则是win32标准的API。设备驱动屏蔽了硬件,它可以看作是内核的一部分,设备驱动的机制和接口并不是由硬件厂商规定的,这是OS的机制,硬件厂商只负责驱动的实现。 glibc是HYPERLINK /view/36272.htm \t _blankgnu发布的libcHYPERLINK /view/226876.htm \t _blank库,即c HYPERLINK /view/1032404.htm \t _blank 运行库。glibc是HYPERLINK /view/96045.htm \t _blanklinux系统中最底层的 HYPERLINK /view/16068.htm \t _blank api,几乎其它任何HYPERLINK /view/1032404.htm \t _blank运行库都会依赖于glibc。glibc除了HYPERLINK /view/154910.htm \t _blank封装 HYPERLINK /view/1634.htm \t _blank linux HYPERLINK /view/880.htm \t _blank 操作系统所提供的 HYPERLINK /view/685551.htm \t _blank 系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的  HYPERLINK /view/8095.htm \t _blank UNIX 通行的标准,可以想见其内容包罗万有。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状HYPERLINK /view/2383474.htm \t _blank目录结构中,像一个支架一般撑起整个作业系统。在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。 分享函式库群,这是 glibc 的主体,分布 /lib 与 /usr/lib 中,包括 libc 标准 C 函式库、libm 数学函式库、libcrypt 加密与编码函式库、libdb 资料库函式库、li

文档评论(0)

liyxi26 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档