LINUX
文章平均质量分 56
leamonl
这个作者很懒,什么都没留下…
展开
-
NPTL and linuxthreads
LinuxThreads 项目最初将多线程的概念引入了 Linux®,但是 LinuxThreads 并不遵守 POSIX 线程标准。尽管更新的 Native POSIX Thread Library(NPTL)库填补了一些空白,但是这仍然存在一些问题。本文为那些需要将自己的应用程序从 LinuxThreads 移植到 NPTL 上或者只是希望理解有何区别的开发人员介绍这两种 Linux 线程模型转载 2009-10-17 11:09:00 · 606 阅读 · 0 评论 -
设备驱动中的阻塞与非阻塞I/O----globalfifo驱动
设备驱动中的阻塞与非阻塞I/O----globalfifo驱动2008-10-19 19:32/******************************************************************** A globalfifo driver as an example of char device drivers This ex转载 2009-10-25 20:33:00 · 516 阅读 · 0 评论 -
支持异步通知的设备驱动和应用
驱动:/*====================================================================== A globalfifo driver as an example of char device drivers This example is to introduce asynchronous notifier转载 2009-10-25 21:06:00 · 485 阅读 · 0 评论 -
Linux设备驱动编程之阻塞与非阻塞
static ssize_t globalvar_read(struct file *filp, char *buf, size_t len, loff_t *off){ //获取信号量:可能阻塞 if (down_interruptible(&sem)) { return - ERESTARTSYS; } //等待数据可获得:可能阻塞 if (wait_event_interrup转载 2009-10-25 20:02:00 · 404 阅读 · 0 评论 -
SIGIO
异步信号模式,其他方式有多线程或者单线程阻塞 接收端:#include #include #include #include #include #include /*socket address struct*/#include /*host to network convertion*/#include #include #include #include #define MAX_T转载 2009-10-25 19:43:00 · 1243 阅读 · 1 评论 -
signal
不同进程间传递整型参数信号接收程序#include #include #include void new_op(int,siginfo_t*,void*);void user_handle(){printf("siguser /n");}int main(int argc,char**argv){struct sigaction act;int sig;pid_t pid; pid=转载 2009-10-25 19:36:00 · 825 阅读 · 0 评论 -
TTY
基本概念:1. tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。2. pty(虚拟终端):但是如果我们远程telnet到主机或使用xterm时不也需要转载 2009-10-25 14:02:00 · 309 阅读 · 0 评论 -
fork
什么是一个进程?进程这个概念是针对系统而不是针对用户的,对用户来说,他面对的概念是程序。当用户敲入命令执行一个程序的时候,对系统而言,它将启动一个进程。但和程序不同的是,在这个进程中,系统可能需要再启动一个或多个进程来完成独立的多个任务。 多进程编程的主要内容包括进程控制和进程间通信,在了解这些之前,我们先要简单知道进程的结构。 2.1 Linux下进程的结构 Linux下一转载 2009-10-18 21:34:00 · 475 阅读 · 0 评论 -
Futex
Futex是fast userspace mutex的缩写,意思是快速用户空间互斥体。Linux内核把它们作为快速的用户空间的锁和信号量的预制构件提供给开发者。Futex非常基础,借助其自身的优异性能,构建更高级别的锁的抽象,如POSIX互斥体。大多数程序员并不需要直接使用Futex,它一般用来实现像NPTL这样的系统库。 Futex其实就是可以由不同进程所共享使用的一块内存。在这些进程中,并转载 2009-10-17 11:24:00 · 899 阅读 · 1 评论 -
U-BOOT
二 U-boot基础现在为Linux开放源代码Bootloader有很多,blob、 redboot及U-BOOT等,其中U-BOOT是目前用来开发嵌入式系统引导代码使用最为广泛的Bootloader。它支持POWERPC、ARM、MIPS和 X86等处理器,支持嵌入式操作系统有Linux、Vxworks及NetBSD等。 2.1 U-boot源代码目录结构|-- board 平转载 2009-10-17 14:57:00 · 450 阅读 · 0 评论 -
NPTL
在Linux内核2.6出现之前进程只是可分配的物件,当时的Linux不真正支持线程。但是它有一个系统调用指令clone(),这个指令产生一个呼叫调用的进程的翻本,而且这个翻本与呼叫的进程使用同一地址空间。LinuxThreads计划使用这个系统调用来提供一个内核级的线程支持。但是这个解决方法与真正的POSIX标准有一些不相容的地方,尤其是在信号处理、分配和过程间同步原本方面。要提高LinuxT转载 2009-10-17 11:05:00 · 1446 阅读 · 0 评论 -
同步和互斥的问题
当解决多线程互斥同步的问题时,经常会有如下几个问题:1. 在一个给定的问题中,需要多少个Mutex,多少个Semaphore?有什么规律?2. 在对临界区加锁和等待信号量的顺序上有什么要求和规律?3. 什么样操作适合放在临界区,什么样的不适合?下面就生产者和消费者问题来分析一些这几个问题.下面是一个简单的实现程序:生产者向数组sharedArray中写入数据,而消费者从该转载 2009-11-08 14:37:00 · 462 阅读 · 0 评论