程序员视角的计算机系统 第一章 计算机系统之旅
一个计算机系统由硬件和系统软件组成,硬件和软件一起工作来运行应用程序。
系统的特定的实现随时间的流逝而改变,但是它的本质性的概念不会改变。
所有的计算机系统都有相似的硬件和软件组件来执行相似的功能。这本书为程序员
而写,程序员们需要在他们的工作中做得更好,这要通过理解这些软硬件的组件是如何
工作的,这些组件如何影响他们的程序的正确性和性能。
对于一个令人兴奋的旅程,你要沉着。如果你决定学习本书的概念,那么你将在一个通向
成为一个稀少的大程序员的道路上,通过对内在的计算机系统和系统对你的应用程序的影响
的理解而豁然开朗。
你将能学习到实践的技能,例如,如何避免奇怪的数字的错误,这种错误是由计算机表示
数据的方式引起的。通过使用聪明的技巧和探索现代处理器和内存系统的设计,你将学习
到如何优化你的C语言的代码。你将学习到编译器是如何实现程序调用的,和如何使用这个
知识来避免来自于折磨网络和互联网软件的缓冲区溢出的脆弱点的安全漏洞。你将学习如
何识别与避免链接期间的严重的错误,这种错误挫败了一般水平的程序员。你将学习如何写
你自己的UNIX外壳程序,你自己的动态存储分配软件包,和甚至是你自己的网络服务器。你
将学习并发的承诺和陷阱,多个处理器核心被集成到一个芯片时的提升性能的主题。
在C编程语言的经典的文本中,克尼根和里奇使用了在图1.1中显示的你好这个程序向读者
介绍了C语言。尽管你好是一个非常简单的程序,为了这个程序能够运行完毕,系统的主要
的部分必须协力工作才行。总之,这本书的目标是当你在你的系统上运行你好程序时,帮助你
理解发生了什么和为什么。
通过跟踪你好程序的生命周期,从程序员创建它开始,直到它在系统中运行,打印出它的
简单的信息,和中止运行,我们开始了对系统的学习。正如我们追踪程序的生命周期,我们
将简明地介绍使用到的关键的概念,术语,组件。稍后的章节中将扩展这些思想。
程序员视角的计算机系统 第一章 计算机系统之旅相关推荐
- 程序员视角的计算机系统 第一章 计算机系统 之旅
程序员视角的计算机系统 第一章 计算机系统 之旅 一个计算机系统由硬件和系统软件组成,硬件和软件一起工作来运行应用程序. 系统的特定的实现随时间的流逝而改变,但是它的本质性的概念不会改变. 所有的计算 ...
- 读深入理解计算机系统 - 第一章 计算机系统漫游 - 1.1 信息 = 位 + 上下文
1.1 信息 = 位 + 上下文 先说一下位,计算机的最小单位,一个位可以取两个值1/0(高电平/低电平)代表两种状态(1个位=1bit). 但是世界事物千千万,无法用一个位来表示,怎么办呢? 某不知 ...
- 面向程序员的数据挖掘指南-----第一章:简介
内容: 寻找事物 本书结构 阅读完本书后你可以做些什么? 为什么数据挖掘很重要?哪些内容可以为我所用? 标题里的"Numerati的古老艺术"是什么意思? 序 如果你每天都能重复做 ...
- 程序员读老子,第一章
<老子>第一章 道可道,非常道.名可名,非常名. 无名天地之始:有名万物之母. 故常无,欲以观其妙:常有,欲以观其徼. 此两者,同出而异名,同谓之玄.玄之又玄,众妙之门. 任何问题的算法都 ...
- 程序员的编程艺术第一章
第一节: 题目:定义一个字符串的坐旋转操作:就是把字符串前面的若干字符移动到字符串的尾部 例如: abcdef 左旋转2位得到 cdefab 我们设计一个简单的思路: 每次平移一个单位,一共平移两个 ...
- 软考 程序员教程-第一章 计算机系统基础知识
软考 程序员教程-第一章 计算机系统基础知识 为了督促自己学习,告别懒惰,在此先给自己定个小目标,请大家监督哟! 目标:一个月内过一遍<程序员教程>,下一个月开始上真题. 简单看了下,我在 ...
- 程序员视角的计算机系统 2.1.7 布尔代数的介绍
程序员视角的计算机系统 2.1.7 布尔代数的介绍 因为二进制的值是计算机如何编码,存储,维护信息的核心,围绕着0和1的值的研究,已经进化 出庞大的数学知识体系.这开始于乔治布尔的1850年左右的工 ...
- 第一章 计算机系统体系结构
1.1 什么是计算机体系结构 本章的第一个概念是计算机系统(computer system). 计算机系统包括读取并执行程序的 中央处理单元(CPU, 保存程序和数据的存储器以及将芯片转换为实用系统的 ...
- 【深入理解计算机系统-学习笔记】第一章 计算机系统漫游
第一章 计算机系统漫游 简介: 我们通过跟踪hello程序的生命周期来开始对系统的学习--从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止 我们将沿着这个程序的生命周期,简单得介绍一些逐 ...
最新文章
- mysql分库一个库和多个库_数据库分库后不同库之间的关联
- python之进程和线程的对比
- rsync一:工作模式及语法
- KVM virtio_net之NAPI机制(十七)
- 精简版开发工具使用手记2(图解)
- NYOJ 595 乱七八糟
- 项目复审——Beta阶段
- 实用分层模板,分分钟了解UI界面设计基本原则!
- react使用中的注意事项(持续更新)
- 用计算机弹歌我的歌声里,我的歌声里 (完整版)
- 在docker 中配置hadoop1.2.1 cluser
- user.php act profile,user.php
- Mysql 全国省市车牌代码归属地数据表(2020年)
- 10、(十)外汇交易中专有名词整理
- android studio按键精灵,按键精灵要点讲解一 - godlike的个人页面 - OSCHINA - 中文开源技术交流社区...
- 【华为OD机试真题 python】羊、狼、农夫过河【2022 Q4 | 100分】
- 卷积神经网络(CNN)图像识别知识总结
- ORA-28547:connection to server failed,probable Oracle net admin errror
- 集装箱人工智能为堆场智能化升级,自动化集装箱识别, 数字化录入杜绝出错, 全自动化一站式进出闸,智能化提箱放箱,智慧堆场无人堆场
- 用MATLAB实现m序列的生成(MATLAB 2021a适用)
热门文章
- 17.2.1 使用SHOW TRIGGERS语句查看触发器的信息
- 《前端》初次使用webpack遇到的问题
- 看雪3万课程笔记-Frida 辅助分析ollvm字符串加密(一)
- 王坤杨第十二周个人学习及生活情况总结
- java 中查询余额怎么写_如何调用中国移动余额查询的接口 用java 求大神指点一下。...
- 《加勒比海盗4》——好戏更精彩
- 计算机文件与桌面文件同步,电脑文件同步到手机的技巧
- 病毒泄密一个接一个,有7招能保护你的数字生活
- Windows上那些值得推荐的良心软件-整理
- 生物信息百Jia软件(22):featureCounts