文章分类 -  copy for studying

链接2
摘要:http://www.cnblogs.com/oomusou/archive/2006/11/11/557741.html 阅读全文
posted @ 2012-06-29 14:03 becomeBetter 阅读(88) 评论(0) 推荐(0)
linux文件结构介绍
摘要:当前位置 : 主页 > 操作系统 > LINUX技术 > LINUX下的文件结构介绍来源:互联网 作者:佚名 时间:04-15 17:37:28 【大 中 小】 点评:了解LINUX下的文件结构,方便学习linux,linux的文件比较特殊,刚开始学习确实不太习惯。-/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 / 阅读全文
posted @ 2012-05-25 17:21 becomeBetter 阅读(120) 评论(0) 推荐(0)
应用程序write到驱动程序的write
摘要:驱动程序里的write函数有四个参数,函数格式如下: short_write (struct inode *inode, struct file *filp, const char *buf, int count) 而用户程序中的write函数只有三个参数,函数格式如下: write(inf fd, char *buf, int count) 那他们两个是怎么联系在一起的呢?这就要靠操作系统核心中的函数sys_write了,下面 是Linux Kernel 2.2.14中sys_write中的源代码: asmlinkage ssize_t sys_write(unsigned int fd, 阅读全文
posted @ 2012-05-25 17:18 becomeBetter 阅读(325) 评论(0) 推荐(0)
链接
摘要:http://www.cnblogs.com/oomusou/archive/2006/11/11/557741.html 阅读全文
posted @ 2012-05-02 17:34 becomeBetter 阅读(50) 评论(0) 推荐(0)
mmap()
摘要:mmap函数的使用方法 UNIX网络编程第二卷进程间通信对mmap函数进行了说明。该函数主要用途有三个:1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能;2、将特殊文件进行匿名内存映射,可以为关联进程提供共享内存空间;3、为无关联的进程提供共享内存空间,一般也是将一个普通文件映射到内存中。函数:void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize); 参数start:指向欲映射的内存起始地址,通常设为 NULL,代表让系统自动选定 阅读全文
posted @ 2012-04-26 09:50 becomeBetter 阅读(552) 评论(0) 推荐(0)
精通init ramfs构建step by step
摘要:一、init ramfs是什么 在2.6版本的linux内核中,都包含一个压缩过的cpio格式的打包文件。当内核启动时,会从这个打包文件中导出文件到内核的rootfs文件系统,然后内核检查rootfs中是否包含有init文件,如果有则执行它,作为PID为1的第一个进程。这个init进程负责启动系统后续的工作,包括定位、挂载“真正的”根文件系统设备(如果有的话)。如果内核没有在rootfs中找到init文件,则内核会按以前版本的方式定位、挂载根分区,然后执行/sbin/init程序完成系统的后续初始化工作。 这个压缩过的cpio格式的打包文件就是init ramfs。编译2.6版本的linu.. 阅读全文
posted @ 2012-04-24 22:48 becomeBetter 阅读(569) 评论(0) 推荐(0)
fstatfs/statfs函数详解
摘要:【fstatfs/statfs系统调用】 功能描述: 查询文件系统相关的信息。 用法: #include <sys/vfs.h> /* 或者 <sys/statfs.h> */ int statfs(const char *path, struct statfs *buf); int fstatfs(int fd, struct statfs *buf); 参数: path: 位于需要查询信息的文件系统的文件路径名。 fd: 位于需要查询信息的文件系统的文件描述词。 buf:以下结构体的指针变量,用于储存文件系统相关的信息 struct statfs { long f_ 阅读全文
posted @ 2012-04-24 15:13 becomeBetter 阅读(555) 评论(0) 推荐(0)
select函数
摘要:linux中select()函数分析(转)linux中select()函数分析 收藏Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执 阅读全文
posted @ 2012-04-23 22:39 becomeBetter 阅读(80) 评论(0) 推荐(0)
推荐使用Replace Pioneer工具
摘要:推荐使用Replace Pioneer工具进行文件编码的转换www.mind-pioneer.com 阅读全文
posted @ 2012-04-23 10:14 becomeBetter 阅读(172) 评论(0) 推荐(0)
通过数据管道和系统标准输入输出文件描述符相结合的方式来实现进程间通讯和数据交互
摘要:在 AIX 应用开发中会遇到进程间通讯的需求,进程间通讯的方法有很多,例如通过共享内存、信号灯、内存映射文件、数据管道、文件、Socket 等等。这里主要介绍一种通过数据管道和系统标准输入输出文件描述符相结合的方式来实现进程间通讯和数据交互。本文面向 AIX 或其他 UNIX 平台 C 语言的开发者,读者需要具备一定进程间匿名管道通讯的知识,并且对文件描述符、基本的 I/O 操作有一定了解。什么是匿名管道管道是进程间协同工作的一种方式,单独构成一种独立的文件系统,管道是半双工的。而匿名管道数据只能向一个方向流动,双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进 阅读全文
posted @ 2012-04-23 09:27 becomeBetter 阅读(451) 评论(0) 推荐(0)
进程的虚拟地址空间
摘要:http://www.blogjava.net/bacoo/archive/2008/11/20/241586.html 阅读全文
posted @ 2012-04-13 17:03 becomeBetter 阅读(59) 评论(0) 推荐(0)
DMA(direct memory access)
摘要:DMA Direct Memory Access(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。 DMA的概念:DMA是在专门的硬件( DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有两种方式: ◎独占总线方式 阅读全文
posted @ 2012-04-13 09:09 becomeBetter 阅读(323) 评论(0) 推荐(0)
cat命令
摘要:cat主要有三大功能:1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件。$cat file1 file2 > filecat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)参数:-n 或 –number 由 1 开始对所有输出的行数编号-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编 阅读全文
posted @ 2012-04-12 09:17 becomeBetter 阅读(93) 评论(0) 推荐(0)
进程间通信
摘要:进程间通信求助编辑百科名片进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。目录主要分类识别Linux进程间通信目的:信号(Signals)管道(Pipes)系统V IPC机制(Syste 阅读全文
posted @ 2012-04-11 15:17 becomeBetter 阅读(199) 评论(0) 推荐(0)
getpid()函数
摘要:C语言getpid函数简介 函数功能:取得进程识别码 相关函数:fork,kill,getpid 头文件:旧版本:unistd.h,在VC++6.0下可以用process.h 函数原型:旧的原型为pid_t getpid(void);,推荐使用int _getpid( void );这种形式。注意,函数名第一个字符是下划线。 函数说明:getpid函数用来取得目前进程的进程识别码,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。 返回值:目前进程的进程识别码 fork – 创建新进程;exit – 终止进程;exec – 执行一个应用程序wait – 将父进程... 阅读全文
posted @ 2012-04-11 13:59 becomeBetter 阅读(2922) 评论(0) 推荐(0)
任务状态段(TSS)
摘要:1 什么是TSSTSS 全称task state segment,是指在操作系统进程管理的过程中,任务(进程)切换时的任务现场信息。2 TSS工作细节 TSS在任务切换过程中起着重要作用,通过它实现任务的挂起和恢复。所谓任务切换是指,挂起当前正在执行的任务,恢复或启动另一任务的执行。在任务切换过程中,首先,处理器中各寄存器的当前值被自动保存到TR(任务寄存器)所指定的TSS中;然后,下一任务的TSS的选择子被装入TR;最后,从TR所指定的TSS中取出各寄存器的值送到处理器的各寄存器中。由此可见,通过在TSS中保存任务现场各寄存器状态的完整映象,实现任务的切换。 3 TSS的格式任务状态段... 阅读全文
posted @ 2012-04-10 17:24 becomeBetter 阅读(274) 评论(0) 推荐(0)
全局和局部描述符表
摘要:一个任务会涉及多个段,每个任务需要一个描述符来描述,为了便于组织管理,80386把描述符组织成线性表。由描述符组成的线性表称为描述符表。在80386中有三种类型的描述符表:全局描述符表GDT(Global Descriptor Table)、局部描述符表LDT(Local Descriptor Table)和中断描述符表IDT(Interrupt Descriptor Table)。在整个系统中,全局描述符表GDT和中断描述符表IDT只有一张,局部描述符表可以有若干张,每个任务可以有一张。 例如,下列描述符表有6个描述符构成: DESCTAB LABEL BYTE DESC1 DESC < 阅读全文
posted @ 2012-04-10 17:07 becomeBetter 阅读(604) 评论(0) 推荐(0)