UNIX环境编程学习笔记(7)——文件I/O之文件访问权限与进程访问控制

1 文件的设置用户 ID位 和设置组 ID位 与进程相关联的 ID 如下表所示, 表 1: 与进程相关联的用户 ID 和组 ID 实际用户 ID 我们实际上是谁 实际组 ID 有效用户 ID 用于文件访问权限检查 有效...

2017-08-31 18:05:42

阅读数:181

评论数:0

UNIX环境编程学习笔记(6)——文件I/O之判断文件类型

1 文件类型 我们平时最常接触的文件类型有普通文件(regular file)和目录(di-rectory file),但是 UNIX 系统提供了多种文件类型: (1) 普通文件(regular file) 这种文件包含了某种形式的数据,这些数据无论是文件还是二进制对于 UNIX...

2017-08-31 17:02:09

阅读数:211

评论数:0

UNIX环境编程学习笔记(2)——文件I/O之不带缓冲的 I/O

1 文件描述符 对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。当读或写一个文件时,使用 open 或 creat 返回的文件描述符标识该文件,将其作为参数传送给 read 或 write。 ...

2017-08-31 16:33:42

阅读数:121

评论数:0

UNIX环境编程学习笔记(5)——文件I/O之fcntl函数访问已打开文件的性质

fcntl 函数可以改变已打开的文件的性质。 #include int fcntl(int filedes, int cmd, ... /* int arg */); fcntl 函数有 5 种功能: 1. 复制一个现有的描述符(cmd=F_DUPFD)。 2. 获...

2017-08-31 16:32:20

阅读数:115

评论数:0

UNIX环境编程学习笔记(4)——文件I/O之dup复制文件描述符

UNIX 提供了两个函数 dup 和 dup2 用于复制一个现存的文件描述符。 #include int dup(int filedes); int dup2(int filedes, int filedes2); 返回值:若成功则返回新的文件描述符,如出错则返回-1. 由...

2017-08-31 16:12:07

阅读数:145

评论数:0

UNIX环境编程学习笔记(3)——文件I/O之内核 I/O 数据结构

内核使用三种数据结构表示打开的文件,分别是文件描述符表、文件表和 V 节点表。 (1) 每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,每个描述符占用一项。与每个文件描述符相关联的是:     (a) 文件描述符标志。     (b) 指向一个文件表项的指针...

2017-08-31 16:00:26

阅读数:151

评论数:0

UNIX环境编程学习笔记(1):——出错处理errno

1. errno变量 文件 中定义了符号 errno 以及可以赋予它的各种常量,这些常量都是以字符 E 开头。例如,若 errno 等于常量 EACCES,表示产生了权限问题(例如,没有打开所要求文件的足够权限)。 当 UNIX 函数出错时,常常返回一个负值,而且将整型变量 er...

2017-08-31 14:16:32

阅读数:115

评论数:0

《UNIX环境高级编程》笔记0--无缓存I/O操作和标准I/O文件操作区别

本文转载于:http://www.360doc.com/content/11/0521/11/5455634_118306098.shtml 首先,先稍微了解系统调用的概念:        系统调用,英文名systemcall,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成...

2017-08-31 13:50:40

阅读数:155

评论数:0

Linux进程间通信——使用信号量

http://blog.csdn.net/ljianhui/article/details/10243617 这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信...

2017-08-31 11:03:42

阅读数:99

评论数:0

一个Linux下C线程池的实现(转)

1.线程池基本原理   在传统服务器结构中, 常是 有一个总的 监听线程监听有没有新的用户连接服务器, 每当有一个新的 用户进入, 服务器就开启一个新的线程用户处理这 个用户的数据包。这个线程只服务于这个用户 , 当 用户与服务器端关闭连接以后, 服务器端销毁这个线程。然而频繁地开辟与销毁线...

2017-08-30 15:16:54

阅读数:124

评论数:0

Linux网络编程——tcp并发服务器(多线程)

tcp多线程并发服务器 多线程服务器是对多进程服务器的改进,由于多进程服务器在创建进程时要消耗较大的系统资源,所以用线程来取代进程,这样服务处理程序可以较快的创建。据统计,创建线程与创建进程要快 10100 倍,所以又把线程称为“轻量级”进程。线程与进程不同的是:一个进程内的所有线程共享...

2017-08-25 09:52:29

阅读数:155

评论数:0

《Linux设备驱动程序 第三版》,snull源码,linux-2.6.10

曾经一段时间在看openswan源码,有一个问题迷惑我很久,就是它的那个ipsec虚拟网卡接口是怎么实现的?当时没有思路、没有想法,因为不知道从何着手去解决这个问题,最近接触到了内核模块的编写,又接触到openswan的klips模块,原来这一切全属于网络驱动程序编写范畴。现在我迫不及待的想去了解...

2017-08-24 10:51:37

阅读数:193

评论数:0

【unp】unix网络编程卷1-->环境搭建(ubuntu14.04)

学习unp网络编程,树上的例子均存在#include "unp.h",故需要对环境进行配置。 1. 到资源页下载unpv13e  2. 解压并将unpv13e 移动到相应的文件夹下 3. 编译 [cpp] view...

2017-08-22 16:11:09

阅读数:142

评论数:0

代码覆盖率 (Code Coverage)从简到繁 (一)

代码覆盖率(Code Coverage)是反映测试用例对被测软件覆盖程度的重要指标,也是衡量测试工作进展情况的重要指标。它也是对测试工作进行量化的重要指标之一,测试工作往往不如开发那样激动人心,一个重要原因之一就是测试难于量化,而代码覆盖率恰恰是解决着一问题的重要指标。根据其覆盖内容的不同,又可以...

2017-08-21 22:37:07

阅读数:441

评论数:0

搭建QNX开发环境-qnx系统环境开发

QNX是可以提供试用30天,目前发布最新的是qnx7.0版本, 申请也是只能7.0,做好白老鼠的准备。 老版本不再申请试用,其实多数时候,老版本的650,650sp1, 和较新稳定的660版本,大部分功能已经完善量产,但不放出,需要直接购买。 30天评估版页面:...

2017-08-17 16:15:55

阅读数:250

评论数:0

VMware10 设置上网(主机为连接无线路由器)

先说一下前提,我是主机连接的无线路由器上网。电脑不是外插USB的啊!!如果自己笔记本是自己插的USB形式的无线网卡,按这种方法好像不行,我没试过,有兴趣的可以试一下。 原来用虚拟机都是主机插网线的情况下,将主机和虚拟机设置相同IP,并将虚拟机的上网形式改为NAT,但是最近连接无线路由,再...

2017-08-16 13:37:04

阅读数:194

评论数:0

Linux下配置APUE的编译 报错之后如何处理

APUE即Unix环境高级编程,本书中几乎所有的程序都包含一个apue.h的头文件,那如何配置这个apue.h呢?官方地址:http://www.apuebook.com/apue3e.html 1、我们可以在src.3e.tar中下载,然后放到你的Linux桌面上(没桌面的,随意放吧) 2、...

2017-08-14 17:16:58

阅读数:195

评论数:0

APUE.3e 安装(基于ubuntu12.0.4)

搭建本书编程环境时遇到不少问题。幸好网上有各种大神的解决办法让我最终解决了问题。在这里感谢为LINUX开源操作系统奋斗的大神。 不过话说回来,网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说,有些过时,因为很对针对linux的make文件已经改变了很多。 话不多说,...

2017-08-14 17:12:48

阅读数:142

评论数:0

ARM体系结构与编程笔记

存储器映射基本概念 ARM处理器产生的地址叫虚拟地址,把这个虚拟地址按照某种规则转换到另一个物理地址去的方法称为地址映射。这个物理地址表示了被访问的存储器的位置。它是一个地址范围,该范围内可以写入程序代码。 存储器映射控制的必要性 为了让运行在不同存储器空间中的程序对异常进行控制...

2017-08-11 10:35:36

阅读数:206

评论数:0

QNX手册学习笔记------同优先级调度算法

QNX作为一个微内核的实时操作系统,其进程没有优先级的概念,只有线程才有优先级的概念。QNX的优先级分为255个等级。每个等级可以有多个同优先级的线程准备执行,不同于UC/OS的每个优先级对应一个任务待执行。为了实现更好地实时调度,针对同一优先级的任务之间哪个先执行哪个后执行,QNX Netr...

2017-08-11 09:46:31

阅读数:307

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭