《csapp》的学习笔记(一)

计算机是由硬件和系统软件组成。

首先先从一个简单的C程序的生命周期谈起

刚开始程序员通过编辑器创建并保存了一个文本文件,hello.c。这个实际上是由值0和1组成的位序列,8位为一个字节。系统中的所有信息都是由一串比特组成。区分不同数据对象的唯一方法即使上下文。

C语句转换成低级机器指令->可执行目标程序.

流程如下:

预处理器cpp:读取头文件,插入到程序中去

编译器ccl:翻译成汇编语言

汇编器as:翻译成机器语言

链接器ld:和其他标准库函数合并

系统的硬件组成

CPU(寄存器文件,ALU,PC,总线接口)-系统总线->IO桥-内存总线->主存储器

IO总线

USB控制器(鼠标,键盘) 图形适配器(显示器) 磁盘控制器(磁盘)

总线:贯穿整个系统的一组电子管道,携带信息字节并负责在各个部件间传递

主存:动态随机存取存储器组成,存放程序和程序处理的数据,可以理解为一个线性数组,每个字节都有其唯一的地址

处理器:解释(执行存储在主存中的指令)

高速缓存:用于减少主存和处理器之间的速度差异,使用静态随机访问存储器解决

存储器的层次

操作系统的作用:防止硬件被失控的应用程序滥用,向应用程序提供简单而又一致的机制控制复杂而又不相同的低级硬件设备。

进程:操作系统对正在进行的一个程序的一种抽象,可以运行多个进程。并发运行指的是一个进程的指令和另一个进程的指令交错进行(上下文切换)。这是由内核管理。

线程:每个线程运行在进程的上下文中,共享同样的数据和代码

虚拟内存:为每个进程提供了一个抽象的概念,即每个进程看到的内存都是一致的,虚拟空间地址

文件:字节序列

原文发布于微信公众号 - 鸿的学习笔记(shujuxuexizhilu)

原文发表时间:2017-08-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ASP.NETCore

.NET Core爬坑记 1.0 项目文件

  之所以要写这个系列是因为在移植项目到ASP.NET Core平台的过程中,遇到了一些“新变化”,这些变化有编译方面的、有API方面的,今天要讲的是编译方面的...

1073
来自专栏中国白客联盟

Android动态调试(一)动态调试Smali

adb shell am start -D -n com.ggndktest1/com.ggndktest1.MainActivity

1093
来自专栏MasiMaro 的技术博文

windows API实现用户选择文件路径的对话框

在编写应用程序时,有时需要用户选择某个文件,以供应用程序使用,比如在某些管理程序中需要打开某一个进程,这个时候需要弹出一个对话框来将文件路径以树形图的形式表示出...

1822
来自专栏惨绿少年

rsync 服务部署详解

第1章 rsync 软件介绍 1.1 什么是rsync rsync 是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。 ht...

4630
来自专栏WindCoder

windows的CMD下一些小操作总结

是的,没看错,之前一直在IDLE中运行的python,没配置python的环境变量,今天需要再次装个模块,在cmd中运行python命令时被提示不是内部命令一类...

891
来自专栏你不就像风一样

深入理解跨域SSO原理与技术

​ SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登...

1951
来自专栏PhpZendo

PHP 文件系统完全指南

今天我们将开启一个新的探索旅程,深入到 PHP 文件系统中,系统的学习和掌握 PHP 文件系统的基本使用。

1893
来自专栏bluesummer

StackExchange.Redis学习笔记(三) 数据库及密码配置 GetServer函数

这一章主要写一些StackExchange.Redis的配置及不太经常用到的函数 数据库连接 下面是我的连接字符串,里面指定了地址,密码,及默认的数据库 ? R...

3266
来自专栏技术博文

mysql查询结果导出到文件

方法一: 直接执行命令: mysql> select count(1) from table   into outfile '/tmp/test.xls'; Q...

3114
来自专栏飞雪无情的博客

Go语言实战笔记(二)| Go开发工具

在Go语言中,我们很多操作都是通过go命令进行的,比如我们要执行go文件的编译,就需要使用go build命令,除了build命令之外,还有很多常用的命令,这一...

1073

扫码关注云+社区

领取腾讯云代金券