深入计算机系统:Chapter 1 A Tour of Computer:Systems(第一章 计算机系统漫游 前文)

目录

1.1 Information Is Bits + Context 3

1.2 Programs Are Translated by Other Programs into DifferentForms 4

1.3 It Pays to Understand How Compilation Systems Work 6

1.4 Processors Read and Interpret Instructions Stored in Memory7

1.5 Caches Matter 11

1.6 Storage Devices Form a Hierarchy 14

1.7 The Operating System Manages the Hardware 14

1.8 Systems Communicate with Other Systems Using Networks19

1.9 Important Themes 22

1.10 Summary 27

 

 

第一章 计算机系统漫游

1.1 信息就是位的上下文

1.2 当前程序被其他程序翻译成不同的格式

1.3 值得去了解编译系统的原理

1.4 处理器在内存中读取和解释指令

1.5 缓存很重要

1.6 存储设备形成的梯次

1.7 操作系统管理着硬件

1.8 系统之间通过网络的通讯

1.9 重要的主题

1.10 总结

 

参考文献

练习的参考答案

 

 

A computer system consists of hardware and systems software that work together to run application programs. Specific implementations of systems

change over time, but the underlying concepts do not.All computer systems have similar hardware and software components that perform similar functions.This book is written for programmers who want to get better at their craft by understanding how these components work and how they affect the correctness and performance of their programs.

You are poised for an exciting journey. If you dedicate yourself to learning the concepts in this book, thenyou will be on your way to be coming a rare "powerprogrammer," enlightened by an understanding of the underlying computer system and its impact on your application programs.

 

计算机系统是由软件和硬件组成的,并且在此基础上运行应用程序。计算机系统的界面会随着时间变化,但是底层的概念不会变。所有的计算机系统都有相似的硬件和执行相似的软件。这本书是写给想更清楚这些组件是如何工作和这些组件如何影响他们程序运行的程序员。你肯定准备好这段激动人心的旅程了,如果你潜心学习这本上的所有概念,那么你会走在为数不多的"大牛"的正确道路上。对底层计算机系统的进一步了解,这些会直接影响你的应用程序。

 

You are going to learn practical skills such as how to avoid strange numerical errors caused by the way that computers represent numbers. You will learn how to optimize your C code by using clever tricks that exploit the designs of modern processors and memory systems. You will learn how the compiler implements procedure calls and how to use this knowledge to avoid the security holes from buffer overflow vulnerabilities that plague network and Internet software. You will learn how to recognize and avoid the nasty errors during linking that  the average programmer. You will learn how to write your own Unix shell, your own dynamic storage allocation package, and even your own Web server. You will learn the promises and pitfalls of concurrency, a topic of increasing importance as multiple processor coresare integrated onto single chips.

 

你会学习到调试的技能,如计算机发生一些奇怪数字引起的计算机异常。通过学习现代处理器和内存系统,你可以利用对应的技巧来优化你的C语言程序。你会学习到编译程序的调用和如何用这些知识在内存泄漏上避免安全漏洞,这些弱点会给网络和互联网带来灾难。你会学习到认识和避免一些令人讨厌的错误,这些困扰着大部分程序员。你会学习到如何编写自己的 Unix Shell,并且拥有自己的动态存储分配包,甚至你会有自己的Web服务器。你会学习到并发带来的挑战和机遇,当多个核心处理器集成在单芯片的时候显得越来越重要。

 

In their classic text on the C programming language[61], Kernighan and Ritchie introduce readers to Cusing the hello program shown in Figure 1.1 .Although hello is a very simple program, every majorpart of the system must work in concert in order for it to run to completion. In a sense, the goal of this bookis to help you understand what happens and whwhen you run hello on your system.We begin our study of systems by tracing the lifetimeof the hello program, from the time it is created by aprogrammer, until it runs on a system, prints its simple message, and terminates. As we follow the lifetime of the program, we will briefly introduce the key concepts, terminology, and components that comeinto play. Later chapters will expand on these ideas.

在Kernighan和Ritchie的C语言经典教材中,他们用以下这段“Hello Wolrd”的C语言程序显示给读者。尽管这段C语言程序非常简单,但是计算机系统各个重要部分必须协调有序运作才能运行完这段程序。在某种意义上,本身的目的就是要帮你理解在执行这段程序的时候,计算机系统发生了什么和什么时候发生了什么。我们通过追踪这段程序的生命周期来学习计算机系统,从程序员编写时,到在系统上运行,直到运行完成后在控制台打印出"Hello Wolrd"。对照着这段程序的生命周期,我们会主要介绍核心概念,专业术语和参与运行的组件。接下来的章节会展开讲这些概念。

 

 

-------------------------------------------code/intro/hello.c

 

Figure 1.2 The ASCII text representation of hello.c.

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第七章主要介绍了计算机网络的基本概念和组成部分。计算机网络是指利用通信线路和交换设备,将多台计算机互联成一个规模大、功能强的计算机系统,使得各计算机之间可以方便地进行信息交换和资源共享。 计算机网络的组成部分包括:计算机网络的结构、通信协议、网络拓扑结构、传输介质、网络设备等。 其中,计算机网络的结构可以分为两种:客户-服务器结构和对等结构。客户-服务器结构是指在网络中有一个或多个服务器,为客户端提供服务。对等结构则是指网络中的所有计算机都是平等的,各自提供服务和使用服务。 通信协议是计算机网络中的重要组成部分,它规定了数据在网络中的传输格式、传输速率、传输方式等。常见的通信协议包括TCP/IP协议、HTTP协议、FTP协议等。 网络拓扑结构是指计算机网络中计算机之间连接的方式,常见的有总线型、星型、环型、树型等。 传输介质是指计算机网络中传输数据的物理媒介,包括有线介质和无线介质。有线介质包括双绞线、同轴电缆、光纤等,无线介质包括无线电波、红外线、激光等。 网络设备包括路由器、交换机、集线器等,它们可以实现数据的传输、路由选择和安全控制等功能。 最后,计算机网络的应用非常广泛,包括互联网、局域网、广域网、无线网络等,它们在信息交流、商务、教育等领域都有重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值