文档介绍:操作系统课程设计
-----关于OSKit 函数库的学习
指导老师:
班级:
学号:
姓名:
目录
文件系统概述
1. 1 文件格式
1. 2 文件结构
1. 3 文件系统
1. 3. 1 文件类型
1. 3. 2 链接文件
1. 4 虚拟文件系统(VFS)
1. 5 文件的保护
的函数库
"用户端操作系统" 程序库:
C语言程序库环境
存储器介面
最小的 C语言程序库:
2. 4. 1 表头文件
2. 4. 2 存储器分配
2. 4. 3 初始化
2. 4. 4 终端功能
2. 4. 5 各种的功能
2. 5 对称的多重处理:
2. 6 内核驱动程序支持
2. 7 oskit"快的开始" 程序库:
2. 8 磁盘和 filesystem
Linux 文件系统概述
前言
通过近三个星期来的学习,相信大家早已对Linux操作系统这个词不再陌生。那么Linux操作系统究竟是个什么样的操作系统?简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品!
Linux以它的高效性和灵活性著称。Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
1 文件格式
这里,首先介绍一下Linux下的主流文件格式。文件格式在文件系统中是至关重要的,直接与操作系统有关。
Linux系统核心可以支持十多种文件系统类型:JFS、 ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。
ext 是第一个专门为开发的Linux的文件系统类型,叫做扩展文件系统。
ext2 是为解决ext文件系统的缺陷而设计的可扩展的、高性能的文件系统,它又被称为二级扩展文件系统。它是Linux文件系统类型中使用最多的格式,并且在速度和CPU利用率上较为突出,是GNU/Linux系统中标准的文件系统。ext2也有一些问题,在写入文件内容的同时,并没有写入文件的meta-data(和文件有关的信息,例如权限、所有者及创建和访问时间)。
ext3 是由开放资源社区开发的日志文件系统, ext3被设计成是ext2的升级版本,尽可能方便用户从ext2向ext3迁移。ext3在ext2的基础上加入了记录原数据的日志功能,努力保持向前和向后的兼容性,也就是在保有目前ext2的格式之下再加上日志功能。最大的缺点是,它没有现代文件系统所具有的、能提高文件数据处理速度和解压的高性能。
JFS 是一种提供日志的字节级文件系统。该文件系统主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计、开发的。
1. 2 文件结构
Linux使用标准的目录结构,采用的是树型结构。在Linux 下,目录和文件的结构可以看成一棵树。和Windows 系统不同,Linux 只有一个根目录,用“/”
表示,(Windows的文件系统中,每个硬盘分区都是一个根;而Linux只有一个根,各个分区都以目录的形式存在。)
/
bin dev lib home usr
sh awk ps had tty Xll ldr jame john sjp lib pub tmp
mbox tmp note
图1-1
对于用户来说,这棵目录树就是整个文件系统,用户所能看