操作系统
12Dong
这个作者很懒,什么都没留下…
展开
-
[操作系统]fy姥爷的考试 文件描述符、文件描述符表、打开文件表、目录项、索引节点之间的联系
文件描述符、文件描述符表、打开文件表、目录项、索引节点之间的联系如下图所示: 每个进程在PCB(Process Control Block)中都保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针,已打开的文件在内核中用file结构体表示,文件描述符表中...转载 2018-03-08 10:12:03 · 1422 阅读 · 0 评论 -
[操作系统]fy姥爷的考试 (第三周) 补 linux文件系统中的i节点
我们可以把一个磁盘分成一个或多个分区。每个分区可以包含一个文件系统。i节点是固定长度的记录项m它包含有关文件的信息。如果我们忽视自举块和超级块的情况,那么可以得到下面这张更清晰的图。 在图中有两个目录项指向同一个i节点,每个i节点都有一个连接计数,他的值是指向这个i节点的目录项数。只有当连接计数为0的时候,才可以删除该文件(也就是可以释放该文件占用的数据块)。这就是为什么”解除一个文...原创 2018-03-08 10:36:50 · 389 阅读 · 0 评论 -
linux下malloc()和free()的实现
在C语言中只能通过malloc()和其派生的函数进行动态的申请内存,而实现的根本是通过系统调用实现的(在linux下是通过sbrk()系统调用实现),这次的总结也是基于linux系统。在说明malloc()的实现思路之前先要说下在linux系统下是怎么程序中的堆的。在linux系统下面一个程序的堆的管理是通过内存块进行管理的,也就是将堆分成了很多大小不一的内存块。这些块怎么管理尼,比如怎么查询块的...转载 2018-03-08 10:37:03 · 675 阅读 · 2 评论 -
[操作系统]fy姥爷的考试(第四周) mmap相关
mmap是一种内存映射文件的方法,即讲一个文件或者其他对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟空间中一段虚拟地址的一一对应关系,函数原型如下 void *mmap(void *addr,size_t length,int prot,int flags,int fd,off_t offset); 实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统...原创 2018-03-08 10:37:12 · 184 阅读 · 0 评论 -
Linux文件读写与缓存
(转发自http://www.open-open.com/lib/view/open1474356438277.html)缓存缓存是用来减少高速设备访问低速设备所需平均时间的组件,文件读写涉及到计算机内存和磁盘,内存操作速度远远大于磁盘,如果每次调用read,write都去直接操作磁盘,一方面速度会被限制,一方面也会降低磁盘使用寿命,因此不管是对磁盘的读操作还是写操作,操作系统都会将数据缓存起来P...转载 2018-03-08 10:37:22 · 566 阅读 · 0 评论 -
[操作系统]fy姥爷的考试 第一周补
Linux内核将一切视为文件,那么Linux的文件既可以是真正的物理文件 也可是设备,管道,或者一块内存。狭义的文件是指文件系统中的物理文件,而广义的文件则可以是Linux管理的所有对象。这些广义文件利用VFS机制,以文件系统的形式挂载在Linux内核中,对外提供一致的文件操作接口。我们通过open函数拿到的文件描述符相同于是一个句柄。用户空间利用文件描述符和句柄进行交互,而内核则通过这个文件...原创 2018-03-08 10:37:32 · 177 阅读 · 0 评论 -
[操作系统]fy姥爷的考试(第三周)
读目录对某个目录具有存取许可权的任一用户都可读该目录,但是只有内核才能写目录(防止文件系统发生混乱)。一个目录的写许可权位和执行许可权位决定了在该目录中能否创建新文件以及删除文件,他们并不表示能否写目录本身。目录的实际格式依赖于unix的具体实现。#include<sys/types.h>#include<dirent.h>DIR *opendir(c...原创 2018-03-08 09:58:31 · 182 阅读 · 0 评论 -
[操作系统]fy姥爷的考试(第一周)
开宗明义面对fy姥爷的考试 做一些准备 以防备措手不及概念了解文件描述符对于内核而言,所有打开文件都由文件描述符引用。文字描述符是一个小的非负整数,内核用以标识一个特定进程正在存访的文件。当内核打开一个现存文件或创建一个新文件时,他就返回一个文件描述符。当读,写一个文件时,用open或create返回的文件描述符标示该文件,将其作为参数传送给read或者write。标准输入,标准输...原创 2018-03-08 10:37:40 · 188 阅读 · 0 评论 -
[操作系统]Linux下make,makefile的使用
Linux下 make,makefile的使用原创 2018-03-08 12:51:43 · 679 阅读 · 0 评论 -
Linux中的文件描述符与打开文件之间的关系
转载请说明出处:http://blog.csdn.net/cywosp/article/details/389652391. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系...转载 2018-03-08 10:36:40 · 179 阅读 · 0 评论