深入理解计算机系统(一)

2018-05-08  本文已影响42人  咬了一口的苹果灬

小结:

1.系统中所有的信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是由一串位(bit/字节)表示的。区分数据对象的唯一方法是我们读到这些数据对象时的上下文。
即是:信息就是位(bit/字节)+上下文。
由ASCII字符构成的文件称为文本文件,所有其他文件都称为二进制文件。

gcc -o hello hello.c

gcc编译器驱动程序将hello.c编译成一个可执行文件hello经过四步:
1.hello.c -> 预处理(cpp) ->hello.i->编译器(ccl) -> hello.s -> 汇编器(as) ->hello.o -> 连接器(ld)

文件:字节序列,I/O设备、网络等都可以视为文件。
线程:每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。
虚拟存储器:为每个进程提供一个假象,即每个进程都在独占的使用主存。每个进程看到的是一致的存储器,称为虚拟地址空间。在linux中,地址空间最上面的区域是为操作系统中的代码和数据保留的,这对所有的进程都是一样的。地址空间底部区域存放用户进程定义的代码和数据。

FWC6B``R3U2KOB}722HXRAF.png
图中的地址是从下往上递增的。
从最低的地址开始,逐步向上介绍:

并发:一个同时具有多个活动的系统。
并行:用并发使一个系统运行的更快。

上一篇下一篇

猜你喜欢

热点阅读