![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
把大学没学完的学完
用代码淋漓尽致的展现自己的思路
展开
-
堆和栈的比较
一、预备知识―程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值,返回值等。其操作方式类似于数据结构中的栈。 栈内存分配运算内置于处理器的指令集中,效率高,但容量有限。 2、堆区(heap) ― 一般由程序员分配释放,用new/malloc来分配,delete/free来释放。生存期由程原创 2014-03-27 18:46:06 · 426 阅读 · 0 评论 -
操作系统常见面试题
1、什么是进程(Process)和线程(Thread)?有何区别? 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的原创 2014-04-07 15:57:30 · 352 阅读 · 0 评论 -
线程和进程的联系和区别
1)最主要的就是进程是操作系统资源分配的最小单位,每个进程有自己的独立的地址空间(用户空间)。而一个进程中的所有信息对该进程所有的线程都是共享的包括进程的程序文本,程序的全局内存和堆内存、栈以及文件描述符(这是最根本的区别,也是其他区别的原因) 2)线程包含了表示进程内执行环境必须的信息,其中包括进程中标识线程的线程id 、一组寄存器值、栈、调度优先级和策略、信号屏蔽字、erron变量。 3)原创 2014-04-07 17:44:33 · 325 阅读 · 0 评论