Linux
文章平均质量分 78
1024个秘密
好好工作,好好学习,好好生活。
展开
-
Linux下虚拟地址映射
一、基本概念:1、Linux下比较重要的点:虚拟地址空间、虚拟内存、交换分区2、Linux下的四种地址:逻辑地址、线性地址、虚拟地址、物理地址3、Linux下的两种映射:实模式下的地址映射、保护模式下的地址映射(内存的分段式映射、内存的分页式映射)4、平时定义的变量,打印变量的地址是逻辑地址5、cpu的位数是指cpu的计算能力,即一次性能计算的最长整数的字节(ALU的宽度)(数原创 2017-06-04 18:15:02 · 933 阅读 · 0 评论 -
TCP和UDP的那点事儿
一、TCP和UDP的区别;1、TCP是面向连接的、UDP是非连接的;2、TCP是基于流服务的、UDP是基于数据报; 字节流:TCP模块将应用程序数据按序放入TCP缓冲区中,并通知应用程序读取数据,接收方可以一次或多次来读取数据。 数据报:发送端每执行一次写操作,UDP模块就将其封装成一个UDP数据报并发送,接收端必须及时对UDP数据报进行接收。3、TCP是可原创 2017-07-18 17:14:10 · 683 阅读 · 0 评论 -
Linux下简单部分命令
一:关机命令1:shutdown2:reboot:执行reboot指令可让系统停止运作,并重新开机。3:init:转换运行级别(runlevel);init 0为关机,init 6为重启。二:文件目录操作命令1:cat:连接文件并在标准输出上输出2:head / tail:输出文件的开始/结尾部分3:more / less:显原创 2017-07-18 15:28:09 · 202 阅读 · 0 评论 -
gcc和g++的区别
gcc和g++都是GNU(一个组织)的编译器 (1)、对于.c后缀的文件,gcc把它当做是C程序;g++当做是C++程序; (2)、对于.cpp后缀的文件,gcc和g++都会当做c++程序。 (3)、编译阶段,g++会调用gcc; (4)、连接阶段,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。 gcc可以用原创 2017-07-13 16:44:33 · 563 阅读 · 0 评论 -
构造函数和析构函数的种种重要小点
1、构造函数生成的顺序: 建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为: a、b、c。2、构造函数为什么不能是虚函数? 虚函数对应一个虚表,而且这个虚表存储在对象的内存空间,如果构造函数是虚函数,就需要虚表来调用,但是没有调用构造函数,就没有对象,更没有内存空间,所以说,构造原创 2017-06-09 15:40:53 · 388 阅读 · 0 评论 -
线程之间的通信
一、线程基础1、线程一般有两种,内核线程和用户线程。内核线程(轻量级进程):运行在内核,由内核来调度;用户线程:运行在用户空间,由线程库来调度,当它获得CPU的使用权时,它就加载并运行。2、内核的最小调度单位是进程,CPU最小的调度单位是线程。3、关于线程的API **********创建线程**********int pthread_create(pthread_t *t原创 2017-06-09 14:40:45 · 248 阅读 · 0 评论 -
进程之间的通信
fork:僵尸进程:什么僵尸进程,如何避免僵尸进程? 一般来说,父进程需要跟踪子进程的退出状态,所以子进程结束之后,父进程读取其退出状态之前,该子进程处于僵尸状态,还有一种是,父进程先于子进程结束,则子进程处于僵尸状态。 父进程可以通过调用wait()函数避免僵尸进程。因为wait()函数(阻塞的)将等待子进程结束运行,并捕获子进程的退出状态。 也可以通原创 2017-06-09 14:42:59 · 307 阅读 · 0 评论 -
Linux进程虚拟地址空间的分布、以及堆和栈的区别
一、具体分布如图所示:二、关于堆和栈(1)分配方式: 栈:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆: 一般由程序员分配释放,它的分配方式类似于链表。(2)申请后系统的响应: 栈:只要所申请的空间小于栈的剩余空间,则系统为程序分配内存,否则栈溢出。 堆:操作系统有一个记录空闲内存地址的链表,当系统收到程序的原创 2017-06-08 14:47:51 · 1088 阅读 · 0 评论 -
fork()与写时拷贝~
父子进程哪一个先调动呢?一般来说,会选择让子进程先走,理由是:如果子进程要调用exec(),则就会清空代码段、数据段、堆栈段的东西,即给它一个物理空间了就,如果让父进程先走,父进程发生写时拷贝了,子进程有一份物理空间,再调用exec,又更新一次,浪费时间和内存。Fork以后,父进程打开的文件指针位置在子进程里面是否一样?代码:#include #include #includ原创 2017-07-18 17:30:06 · 485 阅读 · 0 评论