导航

2012年2月13日

摘要: 虚拟内存---linux操作系统采用虚拟内存管理技术,使得每个进程都有独立的进程地址空间,该空间是大小为3G,用户看到和接触的都是虚拟地址,无法看到实际的物理地址。利用这种虚拟地址不但能起到保护操作系统的作用,而且更重要的是用户程序可使用比实际物理内存更大的地址空间。linux将4G的虚拟地址空间划分为两个部分------用户空间和内核空间。用户空间从0----0xbfffffff,内核空间从3G----4G。用户进程通常情况下只能访问用户空间的虚拟地址,不能访问内核空间。例外情况是用户进程通过系统调用访问内核空间。进程空间----用户空间对应进程,所以每当进程切换,用户空间就会跟着变化。每个 阅读全文

posted @ 2012-02-13 20:10 网名还没想好 阅读(1910) 评论(0) 推荐(1) 编辑

摘要: 用printf()输出时是先输出到缓冲区,然后再从缓冲区送到屏幕上。那什么情况下才会将缓冲区里的内容送到屏幕上呢?一,使用fflush(stdout)强制刷新。二,缓冲区已满。三,scanf()要在缓冲区里取数据时会先将缓冲区刷新。四,\n,\r进入缓冲区时。五,线程结束的时候,如果该线程里也有printf(....);六,程序结束时。#include<stdio.h>#include<stdlib.h>int main(){int i=89;int x;printf("--------------\n");//输出-----------后不会立即输 阅读全文

posted @ 2012-02-13 13:56 网名还没想好 阅读(2915) 评论(0) 推荐(0) 编辑