- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
********************************************************************************************InstructionContent 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是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万有。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个作业系统。在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。分享函式库群,这是glibc的主体,分布 /lib 与 /usr/lib 中,包括libc标准 C 函式库、libm数学函式库、libcrypt加密与编码函式库、libdb资料库函式库、libpthread行程多执行绪函式库、libnss网路服务函式库 .... 等等。这些都是可分享函式库,档名都以 .so做结尾。在Linux平台上最广泛使用的C函数库是glibc,其中包括C标准库的实现,也包括本书第三部分介绍的所有系统函数。几乎所有C程序都要调用glibc的库函数,所以glibc是 Linux平台C程序运行的基础。glibc提供一组头文件和一组库文件,最基本、最常用的 C标准库函数和系统函数在libc.so库文件中,几乎所有C程序的运行都依赖于libc.so,有些做数学计算的C程序依赖于libm.so,以后我们还会看到多线程的C程序依赖于libpthread.so。以后我说libc时专指libc.so这个库文件,而说glibc时指的是glibc提供的所有库文件。????glibc并不是Linux平台唯一的基础C函数库,也有人在开发别的C函数库,比如适用于嵌入式系统的uClibc。讲到标准C库,其实很多C语言的书里都用了大篇幅来讲解标准C库,我认为这是不对的!!这样就降低了大家C语言本身特性的关注度,特别是对于做嵌入式的人来说,很多IDE里根本就没有完整标准C库,一本书读下来,就前几章有用。从网上找了一段话,认为比较有用。C标准主要由两部分组成,一部分描述C的语法,另
您可能关注的文档
最近下载
- 职业技术学校电子商务专业人才培养调研报告.docx VIP
- 材料力学课堂教学(中文版)-范钦珊-材料力学-第2章.ppt VIP
- 售后服务承诺书范文(精选7篇).docx VIP
- 《AIGC应用实战:写作、绘图、视频制作、直播》课件 第六章 AI视频制作.pptx VIP
- 南充市阆中市小学数学二年级下学期数学期末试卷.doc VIP
- 中国国家标准 GB 16796-2022安全防范报警设备 安全要求和试验方法.pdf
- 《AIGC应用实战:写作、绘图、视频制作、直播》课件 第五章 Stable Diffusion的使用方法.pptx VIP
- 工程造价结算审计的方法和技巧.docx VIP
- 材料力学课堂教学(中文版)-范钦珊-第1章 基本概念.ppt VIP
- 学生奶采购配送服务方案(技术标).pdf
文档评论(0)