
操作系统
Seven17000
与其临渊羡鱼,不如退而结网。
展开
-
栈帧分析
1.栈帧 这里首先我们需要明白什么是栈帧,栈帧就是编译器用来实现函数的一种数据结构。简单的讲就是一个记录程序调用函数相关信息的结构。而栈帧拥有着栈的各种特性。 所以在这里我们还需要明白栈这个数据结构,栈是一种是一种只能在一端进行插入和删除操作的特殊线性表,它按照后入先出的原则储存数据,先进入的数据压入栈底,而后来的数据在栈顶,需要读数据时从栈顶开始一个一个被弹出,在内存中,栈是从高地址原创 2016-07-28 23:32:13 · 1556 阅读 · 0 评论 -
程序在内存空间中的布局
一个程序在内存中的存储方式大概如图所示从低地址到高地址分别是1.代码段(text):也叫正文段,cpu执行的机器指令部分。通常,正文段是可共享的,所以即使是经常环境指针环境表环境字符串执行的程序(如文本编辑程序、c编译程序、shell等)在存储器中也只需有一个副本,另外,正文段常常是只读的,以防止程序由于意外事故而修改其自身的指令。2.初始化过的数据段(data):通常将此段称为数据段,它包含了程序原创 2017-04-08 18:56:23 · 813 阅读 · 0 评论 -
线程基础
一.多任务系统与进程 进程指运行中的应用程序,每一个进程都有自己独立的内存空间,使得进程之间的地址空间隔离即多任务系统。 多任务系统里操作系统接管了所有的硬件资源,并本身运行在一个受硬件保护的级别。 二.线程的概念 线程也被称为轻量级进程,是程序执行流的最小单元,一个标准的线程由线程ID、当前指令指针(PC)、寄存器集合和堆栈组成。通常意义上原创 2016-07-18 22:20:33 · 438 阅读 · 0 评论 -
进程与虚拟内存空间
简介进程与程序程序是一个静态的概念,它就是一些预先编译好的指令和数据集合的一个文件,一般程序都存储在硬盘当中。进程则是正在运行的程序的实例,是一个动态的概念,它描述了程序在运行时的各种状态,往往被加载到内存之中。从实现的角度来看,进程就是一种数据结构,目的在于清晰的刻画动态系统的内在规律,有效的管理和调度进入计算机系统主存储器运行的程序。有人做过一个很有意思的比喻,说把程序和进程的概念跟做菜相比较的原创 2017-04-13 22:02:23 · 3079 阅读 · 0 评论