- 博客(9)
- 问答 (1)
- 收藏
- 关注
原创 《APUE》第四章笔记(3)
文件系统首先我们应该知道一个磁盘可以划分为多个分区,而每个分区就可以包含一个文件系统。UNIX的文件系统是这样的:而我们主要关心的是i节点和数据块。i节点是固定长度的记录项,它包含有关文件的大部分信息。一个柱面组的i节点和数据块的部分是以下这样的:从这图我们就可以知道,i节点是存放文件的信息(比如stat结构里描述的那些属性),数据块就是存放文件的内容的。那么目录块是什么呢
2015-01-28 00:06:31 390
原创 《APUE》第四章笔记(2)
下面介绍对stat结构的各个成员的操作函数。先贴个stat结构的图:access函数:#include int access(const char *pathname, int mode);其中,mode是表中的按位或。返回值:若成功返回0,若出错返回-1当进程对一个文件进行某种操作(读或写或执行)时,内核会以进程的有效用户ID和有效组ID为基础
2015-01-27 19:59:06 425
原创 《APUE》第四章笔记(1)
1.引言本章介绍文件系统的特征和文件的性质。从stat函数开始,逐个说明stat结构的每一个成员以了解文件的所有属性。在此过程中,还将会说明修改这些属性的各个函数,并更详细地查看UNIX文件系统的结构和符号连接,最后还介绍对目录进行操作的各个函数。大概就是介绍以下几点:1.stat函数和stat结构的每一个成员(这些都是文件的属性)。2.修改每个属性的对应函数。(比如修
2015-01-27 15:59:42 447
原创 约瑟夫环问题(报数问题)
先说一下什么是约瑟夫环问题,这是百科的解释:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。思路:因为n个人不定,所以采用链表。因为是连续报数的,所以是用循环链表。每数到m,那
2015-01-24 08:10:35 722
原创 无符号十进制整数转换成任意进制数
题目:将一个无符号整数转换为任意 d 进制数( 2 ≤ d ≤ 16 )。思路:先举个例子。十进制100怎么转换为二进制呢?记住:d进制的数就是0~(d-1)。一般都是用辗转相除法(应该是叫这个名字),我比较喜欢这样写,比较直观:这样我们就很清楚地知道是一直在除以2,直至被除数为0。我们就将余数储存在一个数组里,到时候再将数组逆序输出,则100的二进制数1100
2015-01-23 12:01:34 5218
原创 《APUE》第三章笔记(4)及习题3-2
APUE第三章的最后面给出的函数,现在还用不着,所以,先留个名字,待到时候用着了再补上好了。dup和dup2函数:用来复制文件描述符的sync函数,fsync函数和fdatasync函数:大致的功能是将缓冲区的数据刷进队列中,等待写入到硬盘中。fcnti函数:可以改变已打开文件的性质。ioctl函数:控制设备
2015-01-22 15:06:50 472
原创 《APUE》第三章笔记(2)
read函数调用read函数从打开的文件中读数据。#include ssize_t read(int filedes, void *buf, size_t nbytes);返回值:若成功则返回读到的字节数,若文件已到结尾则返回0,出错返回-1有多种情况可使实际读到的字节数少于要求读的字节数1.读普通文件时,在读到要求字节数之前已到达了文件尾端。例如,若在到达文件尾端
2015-01-22 09:41:47 352
原创 《APUE》第三章笔记(1)
以下内容是我看《APUE》第二版第三章的笔记,有错还希望指出来,谢谢。unbuffered I/O,跟buffered I/O相对,buffered I/O就是 ISO C标准下的标准输入输出函数,而unbuffered I/O就是POSIX下的函数。文件描述符,个人理解就相当于Linux下的UID,GID那样具有系统标识性的数字。系统对哪个哪个文件操作主要认的就是文件描述符。按照惯例
2015-01-21 22:23:33 368
空空如也
安装google浏览器的rpm包出错!
2015-01-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人