阅读笔记·深入理解计算机系统·个人向[01]

1.只由ASCII字符构成的文件成为文本文件,其他都称为二进制文件。因此,信息就是bit加上下文。

2.GCC将hello.c翻译成hello分为四个阶段完成,分别是预处理器+编译器+汇编器+链接器。它们构成了编译系统。预处理阶段读取头文件的内容并将它直接插入到程序文本中,编译阶段将文本文件翻译成汇编语言程序,汇编阶段汇编器将汇编程序转换成目标程序,链接阶段链接不同的目标文件.o从而得到可执行程序。它可以被加载到内存中,供系统执行。

3.系统的硬件组成:

总线:贯穿整个系统,携带信息在各个部件间传递,它通常被设计成传送定长的字节块,也就是字。(4个字节或者8个字节,对应32位、64位系统)。

IO设备:通过一个控制器或者适配器与I/O总线相连,控制器是IO设备本身或者主板上的芯片组,而配适器是一块插在主板插槽上的卡。

主存:是一组由动态随机存取存储器DRAM芯片组成。

处理器:其核心是一个大小为一个字的寄存器,成为程序计数器,它含有主存中某条指令的地址。处理器从程序计数器中读取指向内存地址处的指令 ,解释这个指令中的位,执行这个指令指示的简单操作。然后更新程序计数器,从而指向下一条指令。

4.为了弥补处理区和主存之间的差异,cache应运而生。L1和L2和L3的cache使用静态随机访问存储器SRAM的硬件技术实现。

5.操作系统管理着硬件,两个基本功能:防止硬件被失控的程序滥用+向程序提供简单一致的机制来控制不同的低级硬件设备。操作系统是通过几个基本的抽象概念:进程、虚拟内存、文件来实现这两个功能的。

6.进程是操作系统对一个正在运行的程序的一种抽象。操作系统中实现进程间的切换是通过一种“上下文切换”的机制实现的。操作系统保持跟踪进程运行所需的所有状态信息,这种状态就是上下文,包括许多信息,比如程序计数器和寄存器文件的当前值,以及主存的内容。而上下文切换会保存当前进程的上下文、恢复新进程的上下文,然后将控制权传递到新进程。

7.一个进程可以由多个线程的执行单元组成,每个线程都运行在进程的上下文中,并享有同样的代码和全局数据。

8.虚拟内存为每个进程提供了一个假象,即每个进程都独占地使用主存,每个进程看到的内存都是一致的,成为虚拟地址空间。进程的虚拟地址空间都大量准确定义的区构成,每个区都有专门的功能,从地地址到高地址逐步往上,分别是

a.程序代码和数据:对所有进程而言,代码都从同一固定地址开始,紧接着是全局变量的位置,代码和数据区是直接按照可执行文件的内容初始化的。

b.紧接着是堆,与上述一开始运行就被指定了大小不同,对可以在运行时动态地扩展和收缩。

c.紧接着是共享库,存放共享的代码和数据,比如标准库等。

d.栈位于虚拟地址空间顶部;e.内核虚拟内存,专门为内核保留,不允许读写或调用内核定义的函数。

9.文件就是字节序列,每个IO设备都可以看成文件。文件的概念是非常强大的,因为它向程序提供了一个统一的视图。

10.并发是一个通用的概念,指一个同时具有多个活动的系统,而并行指的是使用并发来使系统运行得更快。并行可以应用在系统的三个层次:线程级并发、单指令+多数据并行、指令级并行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值