您的位置:首页 > 理论基础

深入理解计算机系统 第一章 计算机系统漫游

2015-03-21 11:46 531 查看
计算机系统由硬件和软件构成,他们一起工作来运行应用程序。系统的具体实现将会随着时间而改变,但是底层概念不会变。所有的计算机系统有相似的硬件和软件组件,这些组件做相似的事情。这本书为这些程序员而写,他们想通过理解这些组件如何工作及如何影响他们程序的正确性和执行效率来提高他们的技术。

对这次激动人心的旅行,你要保持淡定。如果你致力于学会这本书中的概念,你将会成为一个少见的优秀程序员,因为你被你对底层计算机系统以及它对你的应用程序的影响的理解指引着。

你将会学到一些实用的技巧,比如如何避免由计算机表示数字的不同方式造成的奇怪的数字问题。你将会学会如果通过利用一些技巧,这些技巧充能充分现代处理器和内存系统的设计,来优化你的c代码。你将会知道编译如何实现过程调用以及利用这些只是避开来自困扰着网络和互联网软件的缓存溢出攻击的安全漏洞。你将会学会如何识别和避免在链接阶段发生的令大部分程序员困惑的严重错误。你将会学会如何写你自己的Unix Shell,你自己的动态内存分配包,甚至你自己的web服务器。你将会了解到并发的承诺和缺陷。随着多处理器被集成到单芯片上,并发变得越来越重要。

在《C程序设计语言》这本经典书籍中,K&R用展示在图1.1中的hello程序将读者引入c的世界。尽管hello程序是非常简单的,但是计算机系统的所有主要部分都得一起有序的工作才能运行它直到完成。从某种意义上说,这本书的目的是帮你理解当你在你的系统上运行hello程序时发生了什么以及为什么发生。

我们通过追踪hello程序的生命周期——从程序被程序员创建,到在系统上运行它,打印出它的简单消息,最终完成,来开始我们对系统的学习。当我们最终程序的生命周期的过程中,我们将会简要介绍一些关键概念,术语和被使用的组件。后面的章节将会展开说这些观点。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计算机系统