Linux系统基础知识(二)
Linux进程怎样才能获取属于它自己的线性地址空间呢,比如 0x08048000到0x0804c000这段线性地址空间被分配给了一个进程,进程就可以访问这段地址空间,线性地址空间的开始和结束都必须以4KB对齐
这里有以下几种情况:
1.刚刚创建的新进程;
2.使用exec系统调用装载一个新的程序运行;
3.将一个文件(或部)映射到进程地址空间中去;
4.当用户堆栈不够的时候,扩展堆栈对应的线性区;
相关文档:
简介
模块(module)是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能
独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能。模块最主要的用处就是用来实现设备驱动程序。
使用模块的优点:
1,将来修改内核时,不必全部重新编译整个内核,可节省不少时间
2,系统 ......
当我的ubuntu进行如常的更新时,突然告诉我Dynamic MMap ran out of room.然后google得解法,记录如下:
sudo gedit /etc/apt/apt.conf.d/70debconf
增添以下两行:APT::Cache-Limit "200000000";
&nbs ......
Linux Shell 环境中支持输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。
同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2> ......
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
pthread_mutex_t wqy_mutex_pause = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t wqy_cond_pause = PTHREAD_COND_INITIALIZER;
bool wqy_pthread_pause = false;
void wqy_pthread_suspend(void)
{
if ......