上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 24 下一页
摘要: 共享内存是允许多个进程共享一块内存,由此来达到交换信息的进程通信机制;它很快没有中间介质,唯一的不足就是需要一定的同步机制控制多个进程对同一块内存的读/写,,它的原理如下:每个共享内存段都有一个shmind_ds结构,定义如下:struct shmid_ds{ struct ipc_perm shm_perm; int shm_segsz; ushort shm_lkcnt ; pid_t shm_cpid; pi... 阅读全文
posted @ 2013-12-12 17:21 技术让梦想更伟大 阅读(1376) 评论(0) 推荐(1) 编辑
摘要: 守护进程常常在系统引导装入时启动,在系统关闭时终止,没有控制终端,所以是在后台运行的,linux大部分服务器就是用守护进程实现的,守护进程的编程也不复杂,下面来说一下守护进程的特征、编程规则、出错处理等。守护进程的特征:1.所有守护进程都以超级用户(ID=0)的优先权运行;2。没有一个守护进程具有控制终端—终端名称设置为问号(?)、终端前台进程组I D设置为-1。缺少控制终端可能是精灵进程调用了s e t s i d的结果。3.除u p d a t e以外的所有精灵进程都是进程组的首进程,对话期的首进程,而且是这些进程组和对话期中的唯一进程。u p d a t e是它所在进程组和对话期(... 阅读全文
posted @ 2013-12-12 13:36 技术让梦想更伟大 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 首先我得检讨一下自己,这几天有些颓呀,打不起精神,板子出了点问题,果真自学还是很困难呀,硬件方面难解决呀,理想与现实还是很有差距的,伤透了,凌乱了。 一直在理解进程间通信的问题。发现上次忽略了一个问题,就是命名管道,命名管道和一般的管道有一些显著的不同:1.FIFO是在文件系统中作为一个特殊的设备文件而存在的;2.不同祖先的进程之间可以通过管道共享数据;3.当共享管道的进程执行完所有的I/O操作后,FIFO将继续保存在文件系统中以便以后使用。 这里需要注意一下:管道只能由相关的进程使用,它们共同的祖先进程创建了管道,但是通过FIFO,不相关的进程也能交换数据。 FIFO的创建:#in... 阅读全文
posted @ 2013-12-11 22:48 技术让梦想更伟大 阅读(614) 评论(0) 推荐(0) 编辑
摘要: MMU 是内存管理单元,在现代的处理器中扮演重要角色,它是CPU用来管理虚拟存储器、物理存储器的控制路线,先举个例子来说明一下MMU的相关概念: ---地址范围、虚拟地址映射为物理地址以及分页机制 地址范围是一个计算机上的一个程序能够产生地址的集合,这个范围的大小由CPU的位数决定,例如一个32位的CPU,它的地址范围是0~0xFFFFFFFF (4G),而对于一个64位的CPU,它的地址范围为0~0xFFFFFFFFFFFFFFFF (16E).这个范围就是我们的程序能够产生的地址范围,我们把这个地址范围称为虚拟地址空间,该空间中的某一个地址我们称之为虚拟地址。与虚拟地址空间和虚拟地... 阅读全文
posted @ 2013-12-10 10:24 技术让梦想更伟大 阅读(955) 评论(0) 推荐(0) 编辑
摘要: 管道是linux的一种通信方式,一种两个进程间进行单向通信的机制,它提供了简单的流控制机制,系统提供了pipe生成一个管道并返回两个描述符,一 个用来读管道,一个用来写管道,因此它们可以共享访问文件,这样每个管道就可以有很多个读进程和写进程,然而实际上进程不知道它正在读或写的是一个管道, 它有以下局限性: 由于管道传递数据的单向性,决定其使用的局限性:数据的单向流动;有亲缘关系的进程间的通信;没有名字;缓冲区大小受限制(传送的是无格式的字节流) 管道就是一个存在于内存的特殊文件,进程就是通过读写该文件进行通信的(内存中的某个页面作为数据缓冲区) 如果要建立两个进程的数据通路,首... 阅读全文
posted @ 2013-12-09 23:28 技术让梦想更伟大 阅读(1566) 评论(0) 推荐(0) 编辑
摘要: 艾弗森,对不起,我还爱着你。有时候我自己都不知道自己我怎么了,直到最后才发现,我还爱着你。那天起,我认识了你,便一发不可收拾。这些天,谢谢你,似乎因为你的影响让我改变了,坚持了许多。致以至今我才发现关于你似乎已经成为了一种习惯,一种下意识的思念。岁月催人老,一切仿佛在昨天。关于曾经,似乎清晰的浮现在脑海,久久不得释怀。第一次拥有你的海报,平坦的放在课桌里,生怕别人碰出半点折痕。第一次拥有你的书籍,翻了一遍又一遍,也不曾在上面留下半点墨迹。第一次拥有你的球衣,很干脆的穿在身上,绕着班级兴奋的炫耀了好几圈。第一次看到你的视频,静静地除了心跳加速的声音,没有任何其他夹杂的声音。第一次看到你的名字,便 阅读全文
posted @ 2013-12-09 00:01 技术让梦想更伟大 阅读(421) 评论(2) 推荐(1) 编辑
摘要: 在之前大概的概述了进程之间的通信,下面笔者具体述说一下进程通信中最古老的一种通信方式之一---信号(Signals ),信号是用户进程之间通信和同步的一种原始机制,操作系统通过信号来通知进程系统中发生了某种预先规定好的事件(一组事件中的一个) 一、 在一个信号的生命周期中有两个阶段:生成和传送。当一个事件发生时,需要通知一个进程,这时生成一个信号。当进程识别出信号的到来,就采取适当的动作来传送或处理信号。在信号到来和进程对信号进行处理之间,信号在进程上挂起(pending)。信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件。它可以在.. 阅读全文
posted @ 2013-12-08 16:19 技术让梦想更伟大 阅读(322) 评论(0) 推荐(0) 编辑
摘要: ARM体系结构简介新一代的ARM9处理器,能达到两倍ARM7的处理能力,它们的区别如下:ARM微处理器的工作状态(可切换):第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令第二种为Thumb状态,此时处理16位的半字节对齐的Thumb指令ARM体系结构的存储方式大端格式:字数据的高字节存储在低地址,反之也是;小端格式:与上相反ARM微处理器模式(7种),这里笔者不详细说明了,一些资料上就就有解释说明。支持MMUMMU是内存管理单元,他把内存以“页(page)”为单位来进行处理。一页内存是指一个具有一定大小的连续的内存块,通常4096或8192B。操作系统为每个正在运行的程序建立并维 阅读全文
posted @ 2013-12-07 13:14 技术让梦想更伟大 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 一个大型的应用系统,往往需要众多进程协作,进程间通信的重要性显而易见。进程间通信有如下一些目的: 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。 共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。 资源共享:多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁和同步机制。 进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,... 阅读全文
posted @ 2013-12-06 23:44 技术让梦想更伟大 阅读(385) 评论(0) 推荐(1) 编辑
摘要: 这篇文章主要是讲解到Linux进程的控制,包括程序和进程、守护进程、守护进程的出错处理。1、程序和进程 程序(program)是存放在磁盘文件中的可执行文件,程序的执行实例被称为进程(process)。init进程 每个linux进程都一定有一个唯一的数字标识符,称为进程ID(process ID),进程ID总是一非负整数,进程ID为1通常是init进程,在自举过程结束时由内核调用。init进程绝不会终止,它是一个普通的用户进程(与交换进程不同,它不是内核中的系统进程),但是它以超级用户特权运行。 Linux系统是一个多进程的系统,进程之间具有并行性、互不干扰的特点。linux中进程... 阅读全文
posted @ 2013-12-06 11:27 技术让梦想更伟大 阅读(1151) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 24 下一页