随笔分类 -  Linux

Linux 进程
摘要:GalleryRSScode my lifeLinux 进程2013-07-08 09:31 by cococo点点, 801阅读, 5评论, 收藏, 编辑 在用户空间,进程是由进程标识符(PID)表示的。从用户的角度来看,一个 PID 是一个数字值,可惟一标识一个进程。一个 PID 在进程的整个生命期间不会更改,但 PID 可以在进程销毁后被重新使用,所以对它们进行缓存并不见得总是理想的。进程表示 在 Linux 内核内,进程是由相当大的一个称为 task_struct 的结构表示的。此结构包含所有表示此进程所必需的数据,此外,还包含了大量的其他数据用来统计(accounting)和维护.. 阅读全文
posted @ 2014-01-13 18:01 思过崖 阅读(765) 评论(0) 推荐(0) 编辑
IP地址的分类
摘要:2012-10-12 00:12:39| 分类: 网络基础知识 | 标签:网络基础 面试 |字号大中小订阅类似的基础知识时间长不用,真心会忘记啊。还是记录下吧,以备不时之需。转一个我认为写的比较清晰的博文。现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0。地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址。 IP地址类型 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个. 阅读全文
posted @ 2014-01-10 09:19 思过崖 阅读(270) 评论(0) 推荐(0) 编辑
深入理解计算机系统--链接
摘要:深入理解计算机系统--链接2012-07-19 22:40:13| 分类: Linux | 标签:计算机系统 |字号大中小订阅链接是将各种代码和数据部分收集起来并且组合成一个单一文件的过程,这个文件可以被加载到存储器并执行。整个编译的过程是:预处理,编译,汇编,链接。链接后生成可执行的目标文件,汇编后生成的目标文件被链接器使用,结合成可执行的目标文件。目标文件有三种形式可重定位的目标文件:包含二进制代码和数据,其形式可以再编译时与其他可重定位的目标文件合并起来,创建一个可执行目标文件。通常对一个程序模块进行汇编以后,生成的就是可重定位的目标文件。可执行目标文件:包含二进制代码和数据,可以直接. 阅读全文
posted @ 2014-01-10 09:18 思过崖 阅读(233) 评论(0) 推荐(0) 编辑
深入理解计算机系统--异常
摘要:深入理解计算机系统--异常2012-07-19 22:41:53| 分类: Linux | 标签:linux 计算机系统 异常 |字号大中小订阅1 异常异常是异常控制流的一种形式,它一部分是由硬件实现的,一部分是由操作系统实现的。异常就是控制流中的突变,用来响应处理器状态中的某些变化。在处理器中,状态被编码为不同的位和信号。状态变化称为事件event,事件可能与当前指令的执行直接相关。比如发生虚拟存储器的换页,算数溢出,或者一条指令试图除以零。另一方面,事件也可能和当前指令的执行没有关系。比如一个系统定时器产生信号或者一个I/O请求完成。在任何情况下,当处理器检测到有事件发生的话,它就会通过. 阅读全文
posted @ 2014-01-10 09:18 思过崖 阅读(494) 评论(0) 推荐(0) 编辑
Linux虚拟存储系统
摘要:Linux虚拟存储系统2012-07-19 22:25:27| 分类: Linux | 标签:linux 存储系统 虚拟内存 |字号大中小订阅 Linux为每一个进程单独维护了一个单独的虚拟地址空间,形式如图所示。 其中内核虚拟存储器包含内核中的代码和数据结构。内核虚拟存储器中的某些区域被映射到所有进程共享的物理页面。例如每个进程共享内核的代码和全局数据结构。 内核虚拟存储器的其他区域包含每个进程都不相同的数据,比如页表,内核在进程上下文中执行代码时用到的栈。 Linux将虚拟存储器组织成一些区域(也叫做段)的集合。一个区域就是已经存在的(已分配的)虚拟存储器的连续片,这些页是以某种方式相关. 阅读全文
posted @ 2014-01-10 09:18 思过崖 阅读(709) 评论(0) 推荐(0) 编辑
深入理解计算机系统--信号
摘要:深入理解计算机系统--信号2012-07-19 22:38:52| 分类: Linux | 标签:linux 信号 计算机系统 |字号大中小订阅信号信号其实是一种高级的软件形式的异常。我们已经知道了硬件和软件是如何合作以提供基本的低层异常机制的,我们也知道了操作系统是如何利用异常来支持一种称为进程上下文切换的异常控制流形式。在本篇文章里,继续研究一种更高层次的软件形式的异常,称为unix信号,它允许进程中断其他进程。信号就是一条小消息,它通知进程系统中发生了一种类型的事件。Linux系统上支持30多种信号,我简单介绍几个常用的信号。序号名称默认行为相应事件1SIGHUP终止终端线挂断2SIG. 阅读全文
posted @ 2014-01-10 09:18 思过崖 阅读(250) 评论(0) 推荐(0) 编辑
Linux系统调用列表
摘要:2012-07-24 13:24:50| 分类: Linux | 标签:linux |字号大中小订阅以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。按照惯例,这个列表以man pages第2节,即系统调用节为蓝本。按照笔者的理解,对其作了大致的分类,同时也作了一些小小的修改,删去了几个仅供内核使用,不允许用户调用的系统调用,对个别本人稍觉不妥的地方作了一些小的修改,并对所有列出的系统调用附上简要注释。其中有一些函数的作用完全相. 阅读全文
posted @ 2014-01-10 09:17 思过崖 阅读(199) 评论(0) 推荐(0) 编辑
记录上锁
摘要:记录上锁2012-08-09 21:01:36| 分类: Linux | 标签:linux |字号大中小订阅记录锁可用于有亲缘关系或无亲缘关系的进程之间共享某个文件的读与写。被锁住的文件通过其描述符访问,执行上锁操作的函数是fcntl。这种类型的锁通常是在内核中维护的,所以这些锁可以用于不同进程间的上锁,而不仅用于同一进程内不同线程间的上锁。现在假如我们要在不同进程之间进行互斥操作,如果选用互斥锁或者读写锁的话,我们必须先让这些进程共享某个内存区,然后再该共享内存区中使用某种类型的同步变量。而如果使用fcntl记录上锁的话,就不需要共享内存。下面将着重讲解fcntl函数的使用。POSIX f. 阅读全文
posted @ 2014-01-10 09:17 思过崖 阅读(283) 评论(0) 推荐(0) 编辑
exit()和_exit()的比较(与前一篇日志行缓冲区有关)
摘要:2012-07-23 13:41:13| 分类: Linux | 标签:linux |字号大中小订阅比较一下下面三段程序:程序1int main(){ printf("this is a test\n")printf("test exit fun");exit(0);}运行结果是:This is a testTest exit fun[root@localhost3.23]#程序2int main(){ printf("this is a test\n")printf("test exit fun");_exit( 阅读全文
posted @ 2014-01-10 09:16 思过崖 阅读(327) 评论(0) 推荐(0) 编辑