随笔分类 - 深入理解计算机系统
摘要:一、先来先服务和短作业(进程)优先调度算法 1.先来先服务调度算法 先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然
阅读全文
摘要:摘要:Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。用户空间的内存映射采用段页式,而内核空间有自己的规则;本文旨在探讨内核空间的
阅读全文
摘要:存储器是个宝贵但却有限的资源。一流的操作系统,需要能够有效地管理及利用存储器。 内存为程序分配空间有四种分配方式: 1、连续分配方式 2、基本分页存储管理方式 3、基本分段存储管理方式 4、段页式存储管理方式 连续分配方式 首先讲连续分配方式。连续分配方式出现的时间比较早,曾广泛应用于20世纪60~
阅读全文
摘要:“碎片的内存”描述一个系统中所有不可用的空闲内存。这些资源之所以仍然未被使用,是因为负责分配内存的分配器使这些内存无法使用。这一问题通常都会发生,原因在于空闲内存以小而不连续方式出现在不同的位置。由于分 配方法决定内存碎片是否是一个问题,因此内存分配器在保证空闲资源可用性方面扮演着重要的角色。 内部
阅读全文
摘要:函数调用另一个词语表示叫作过程。一个过程调用包括将数据(以过程参数和返回值的形式)和控制从代码的一部分传递到另一部分。另外,它还必须在进入时为过程的局部变量分配空间,并在退出时释放这些空间。 大多数机器,包括IA32,只提供转移控制到过程和从过程中转移出控制这种简单的指令。数据传递、局部变量的分配和
阅读全文
摘要:Clang 比 GCC 编译器的优势: 编译速度更快 编译产出更小 出错提示更友 好,比如 clang 在编译过程可以直接指出相对简单的出错位置以及它 “ 认为 ” 正确的方式 。 内置有静态分析工具,可以对代码进行静态分析 (clang—analyze) 。这也是 gcc 做不到的 。 专注,因为
阅读全文
摘要:首先编写了第一个C++程序,Hello,world! #include <iostream> using namespace std; void main() ...{ cout << "Hello,world!" <<endl; return; } 用命令:GCC -o test test.cpp
阅读全文
摘要:线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 非共享的包括:线程ID,寄存器组的值,线程的堆栈,错误返回码, 线程的信号屏蔽码, 线程的优先级
阅读全文
摘要:文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 32位机器上各种数据类型的长度如下:char:1(有符号无符号同) short:2(有符号无符号同) int:4(有符号无符号同) long:4(有符号无符号同) float:4 double:8 一、概念 对齐跟数
阅读全文
摘要:所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞 (一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候 执行。 并
阅读全文
摘要:缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。溢出的数据覆盖在合法数据上。理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。 操作系统所使用的缓冲区又被称为堆栈,在各个
阅读全文
摘要:数据是分开的;同步简单; 共享复杂,需要用IPC 占用内存多,切换复杂; CPU利用率低 占用内存少,切换简单; CPU利用率高 适应与多核、多机分布; 如果一台机器不够,扩展到多台机器容易; 创建销毁复杂;切换复杂;速度慢
阅读全文
摘要:C++程序内存布局: 代码区(code area) 程序内存空间 全局数据区(data area) 堆区(heap area) 栈区(stack area) 一个由C/C++编译的程序占用的内存分为以下几个部分, 1)全局区(静态区)(static)存放全局变量、静态数据,const常量。程序结束后
阅读全文

浙公网安备 33010602011771号