第七章. 文件系统 (lab5).

Slides:



Advertisements
Similar presentations
生涯不卡關 ~生涯卡之簡介與實務應用 吳慧美.
Advertisements

FD班座谈会 -结合学校目标 找准自己位置-
國立臺灣大學 103 學年度轉學生招生監試說明會 教務處課務組 胡淑君.
C语言程序设计 主讲教师 :张群燕 电话:
第1单元 操作系统概论 第一节 绪论 操作系统定义.
现代农业创业指导 广西省兴安县农广校.
舊高等農林學校作業室.
四資二甲 第三週作業 物件導向程式設計.
朝陽國小學校課程發表簡報 活力四年級 導師:蔡于晨.
第一章 C语言概述 计算机公共教学部.
第一組成員 蕭毓文(1號) :內壢高中 范美珍(4號) :平鎮高中 林宏茂(6號) :中壢高中 林桂鳳(18號) :竹北高中
法國大革命                                                                            
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
第一部 认识篇 知己知彼 百战不殆.
基于操作系统的编程复习 张玉宏
雷 霆 战 机 By—谷恩轩&余万全.
升學應選擇符合自己性向、興趣或能力的學校就 讀,有五專、高職、高中、綜合高中或進修學校, 可要多花些時間了解一下哦!
你愛/礙到我了-- 談親密關係與身體界線 左營高中 家政教師 李麗凰
C语言程序设计 第十二章 位运算.
中国科学技术大学计算机系 陈香兰(0512- ) Spring 2011
Linux设备驱动 (基于Linux2.6.xx内核).
第7章 Linux环境编程.
第三章 系统的启动和初始化 (include lab1)
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
程序设计期末复习 黎金宁
第 5 章、連結與載入 作者:陳鍾誠 旗標出版社.
操作系统实验 lab1-系统引导
fp=fopen("CD2.dat","wb"); fwrite(&min,8,1,fp); fclose(fp);
Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512- )
第六章. 系统调度,COW Fork和IPC (lab4)
作業系統實習課(四) -檔案管理- 實驗室:720A 助教:鄧執中.
Linux 文件操作——系统调用和标准 IO 库
第3章 認識處理元.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
資料結構 第4章 堆疊.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
实验一、进程控制 一、实验目的 1、加深对进程的理解,进一步认识并发执行的实质; 2、分析进程争用资源现象,学习解决进程互斥的方法;
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
序及第0章.
大綱 *專題演講介紹 *大陸醫療的改革與發展 *海報發表文章分享 2012海峽兩岸醫院院長論壇行後報告 ‧台北
正则表达式—简单运用.
第 3 章、組合語言 作者:陳鍾誠 旗標出版社.
第1章 绪论 北京师范大学 教育技术学院 杨开城.
本节内容 字节对齐.
保留字與識別字.
面向非连接的 SOCKET编程 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
C標準輸出入函數庫 與 作業系統.
開放電腦計劃 報告人:陳鍾誠 2011 年 8 月 20 日 台灣開源人年會 COSCUP 2011 – 中研院
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
哥哥和妹妹的體重比為5:4,比值是多少呢?     羅賓的答案是 , 你同意嗎? 1.
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
本节内容 引用类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 指针数组与数组指针 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
宜蘭縣教師會 《第三屆super教師獎》遴選簡報
第二章 Java基本语法 讲师:复凡.
本节内容 结构体数组.
实验二:添加Linux系统调用及熟悉常见系统调用
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A Lab4.
本节内容 结构体数组 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第6章 嵌入式软件开发基础.
2019 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A Lab10 1.
本节内容 结构体数组 视频提供:昆山爱达人信息技术有限公司.
MFC的六大核心 机制3 动态创建 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
C语言程序设计 第13章 文件操作.
陣列與檔案處理 授課:張朝麟 日期:2009/3/11.
飲料3箱可換2張折價券,折價券 張數和飲料箱數的關係,用「比」怎麼記?
Introduction to the C Programming Language
《操作系统设计与实现》 第5章 文件系统.
《操作系统设计与实现》 Linux系统编程.
Presentation transcript:

第七章. 文件系统 (lab5)

提纲 背景知识 文件系统的实现 客户进程访问文件系统 Spawn函数

背景知识 基于磁盘的文件系统结构主要构成部分 扇区(Sector)和块(Block) 超级块(Super block) 块位图(Block bitmap) 文件元数据(file meta-data)

背景知识(续) 组成文件系统的基础部分在磁盘上的布局

文件系统的实现 “File”数据结构

文件系统的实现(续) 其他重要数据结构 超级块(struct Super) 设备(struct Dev) 文件句柄(struct Fd)

文件系统的实现(续) 磁盘的访问 块缓存 块位图 文件操作

文件系统的实现(续) 客户端打开文件的操作

客户进程访问文件系统 int fd_alloc(struct Fd **fd_store) 在进程的文件描述符表中,从0到MAXFD-1(MAXFD为32,即一个进程可以打开的最大文件个数)寻找一个可用的文件描述符。 int fd_lookup(int fdnum, struct Fd **fd_store) 查找文件描述符索引节点是否已经有相关页映射。 int open(const char *path, int mode) 首先用fd_alloc()找到一个未用的文件描述符,然后向服务器发送一个IPC请求打开文件,并将文件系统中文件页表映射到客户端的地址空间中。 static int file_close(struct Fd *fd) 将文件服务器中的文件描述符清空,取消文件中映射的数据,然后关闭文件。

Spawn函数 int spawn(const char *prog, const char **argv) Spawn函数与Unix的exec功能类似,从磁盘文件系统装入并运行一个可执行文件,其中prog为文件系统中可执行文件的路径,argv为可执行文件的参数。 该函数首先打开文件并读取ELF文件头到内存,创建一个新的进程并使用函数init_stack在地址USTACKTOP - PGSIZE为其分配一个堆栈,将读取的ELF文件中程序的代码段、数据段和bss段加载到进程的地址空间,初始化子进程的寄存器状态,然后由系统进行调度。

Spawn函数(续) 父进程内存格式

本章结束