操作系统原理与应用第2章文件管理

合集下载

操作系统原理及应用陈敏版

操作系统原理及应用陈敏版

操作系统原理及应用陈敏版操作系统原理及应用是一门计算机科学的基础课程,主要探讨了操作系统的架构、设计原理和实现技术等内容。

操作系统是计算机系统中的一种软件,负责管理计算机硬件资源,并提供一个良好的程序执行环境。

下面将详细介绍操作系统的原理及应用。

一、操作系统的原理1.1 进程管理操作系统通过进程管理来实现对计算机系统中各个进程的调度和管理。

进程是程序的一次执行过程,操作系统通过分时复用计算机资源,使得多个进程可以并发执行。

进程管理的主要任务包括进程创建、调度、同步和通信等。

1.2 内存管理内存管理是操作系统对计算机内存资源的分配与回收管理。

操作系统通过内存管理来为进程分配内存空间,并在进程间进行内存的共享。

内存管理的主要任务包括地址空间的划分、内存分配算法和页面置换机制等。

1.3 文件系统操作系统通过文件系统来管理计算机存储设备上的文件。

文件是计算机中对数据的逻辑组织方式,操作系统通过文件系统对文件进行组织、存储和检索,提供文件读写的接口,并保证文件的安全性和完整性。

1.4 设备管理设备管理是操作系统对计算机输入输出设备资源的管理。

操作系统通过设备管理来实现对设备的分配和共享,以满足多个进程对设备的并发操作。

设备管理的主要任务包括设备驱动程序的开发、设备分配算法和设备中断处理等。

二、操作系统的应用2.1 个人电脑操作系统个人电脑操作系统是指用于控制个人电脑硬件资源的操作系统,如Windows、macOS等。

个人电脑操作系统提供了图形用户界面、文件管理、网络连接等功能,使得用户可以方便地使用和管理个人电脑。

2.2 服务器操作系统服务器操作系统是指用于控制服务器硬件资源的操作系统,如Windows Server、Linux等。

服务器操作系统主要针对网络服务器的需求进行优化,提供高可靠性、高并发性和高安全性的服务,如Web服务器、数据库服务器等。

2.3 嵌入式操作系统嵌入式操作系统是指用于控制嵌入式设备硬件资源的操作系统,如嵌入式Linux、Android等。

windows操作系统原理

windows操作系统原理

windows操作系统原理Windows操作系统原理是指Windows操作系统设计与实现的基本原理和机制。

Windows操作系统是由微软公司开发的一种面向个人计算机的操作系统。

Windows操作系统的原理包括以下几个方面:1. 多任务管理:Windows操作系统采用了抢占式的多任务处理机制,通过任务调度器来管理多个任务的执行。

每个任务独立运行在自己的进程中,操作系统根据进程的优先级和时间片来进行任务调度。

2. 内存管理:Windows操作系统使用虚拟内存管理机制,将物理内存划分为多个页框,每个进程有自己的虚拟地址空间。

操作系统通过分页机制将虚拟内存映射到物理内存中,以便实现进程间的隔离和保护。

3. 文件系统:Windows操作系统使用NTFS文件系统作为默认的文件系统。

NTFS文件系统支持文件和目录的权限控制、文件压缩和加密等功能。

4. 设备管理:Windows操作系统通过设备驱动程序来管理硬件设备。

每个设备驱动程序负责与特定设备的通信,并提供统一的接口供应用程序调用。

5. 网络通信:Windows操作系统支持TCP/IP协议栈,并提供了各种网络通信服务,如网络协议栈、网络接口、套接字接口等,以实现应用程序之间的网络通信。

6. 用户界面:Windows操作系统提供了图形用户界面(GUI),包括窗口管理、菜单、对话框等,使得用户可以通过鼠标、键盘等输入设备与计算机进行交互。

7. 安全性:Windows操作系统通过用户账户和权限管理来保护系统和用户数据的安全性。

每个用户都有自己的账户,并且可以通过权限控制来限制对文件和系统资源的访问。

这些原理和机制共同构成了Windows操作系统的核心。

通过合理地设计和实现,Windows操作系统能够提供稳定、安全、高效的计算环境,满足用户的各种需求。

操作系统原理与应用设备管理课件

操作系统原理与应用设备管理课件
Android使用基于Linux的权限 管理机制,包括用户和权限管 理,通过权限控制实现对系统 资源的访问和使用。
THANKS。
线程的引入与实现
线程引入
为了提高系统效率,引入线程作为调度和执行的 基本单位,实现并发执行。
线程状态
线程具有就绪、等待、运行、结束等状态,不同 状态之间可以进行转换。
线程实现
线程可以通过操作系统实现,也可以通过用户程 序实现。
进程与线程的调度
调度原则
在进程和线程调度中,需要遵循公平、优先、效率等原则。
文件的创建、读取与删除
文件的创建
在文件系统中创建文件,通常需要使用操作系统提供的命令或图形界面工具。在Linux系 统中,可以使用`touch`命令创建一个空文件。
文件的读取
要读取文件的内容,可以使用操作系统提供的文本编辑器或查看器。在Linux系统中,可 以使用`cat`命令查看文件内容。
文件的删除
Android采用类Unix的文件系 统结构,包括/system、/data 等目录,通过ext4文件系统实 现数据的存储和管理。
设备驱动模型与机 制
Android使用Linux内核提供的 设备驱动模型,包括字符设备、 块设备和网络设备等,通过驱 动程序实现对硬件设备的访问 和控制。
权限管理与访问控 制
03
引入管道和消息队列
管道和消息队列是一种进程间通信机制,它们可以避免通过系统调用的
方式来传递数据和控制信息,从而提高系统效率。
07
例分析与用
Linux操作系统的内存管理
内存分配与回收
Linux使用伙伴系统算法进行内存的分配和回收,通过将空闲的物理内存页框分组,以实现高效内存使用。
内存映射与交换

操作系统原理技术手册

操作系统原理技术手册

操作系统原理技术手册操作系统是计算机系统中的一个重要组成部分,负责管理和控制计算机的硬件和软件资源,为用户提供一个友好、高效、稳定的工作环境。

本手册旨在介绍操作系统的原理和技术,帮助读者深入了解操作系统的内部工作机制,提供一些实用的技术指导。

第一章:引言在本章中,我们将简要介绍操作系统的概念和作用,以及为什么要学习操作系统原理和技术。

同时,我们还将概述本手册的组织结构和内容安排。

第二章:操作系统基础本章将介绍操作系统的基本概念和组成部分,包括进程管理、内存管理、文件系统和输入输出设备管理等。

我们将详细讨论这些组成部分的原理和技术,并说明它们在操作系统中的作用和相互关系。

第三章:进程管理进程是操作系统中的一个核心概念,用于表示正在运行的程序。

本章将深入介绍进程的创建、调度和终止等操作,以及进程间的通信和同步机制。

我们将详细解析进程管理的原理和技术,并展示一些常见的进程管理算法和技巧。

第四章:内存管理内存管理是操作系统中的另一个重要任务,负责为进程分配和管理内存资源。

本章将介绍内存管理的原理和技术,包括内存分区、页表和虚拟内存等。

我们还将讨论一些优化策略和内存管理算法,以提高系统的性能和效率。

第五章:文件系统文件系统是用于管理和存储文件的一种机制,它在操作系统中起着重要的作用。

本章将介绍文件系统的原理和技术,包括文件的组织结构、目录管理和文件存储等。

我们还将讨论一些文件系统的优化方法和技巧,以提高文件的访问速度和效率。

第六章:输入输出设备管理输入输出设备是计算机系统中与外部环境进行交互的接口,操作系统需要管理和控制这些设备的访问和使用。

本章将介绍输入输出设备管理的原理和技术,包括设备驱动程序、中断处理和设备调度等。

我们还将讨论一些优化策略和技巧,以提高系统的输入输出性能和效率。

第七章:安全和保护安全和保护是操作系统中的重要问题,涉及到用户数据的保密性和系统资源的合法使用。

本章将介绍安全和保护的原理和技术,包括身份验证、访问控制和安全策略等。

操作系统原理与应用(第2版)清大版第2章习题参考答案

操作系统原理与应用(第2版)清大版第2章习题参考答案

1、进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

在程序并发执行时已不再具有封闭性,而且产生了许多新的特性和新的活动规律。

程序这一静态概念已不足以描述程序的并发执行的特性。

为了适应这一新情况,引入了一个能反应程序并行执行特点的新概念——进程(process)。

有的系统也称为任务(task)。

2、进程:是程序的一次执行,是动态概念;一个进程可以同时包括多个程序;进程是暂时的,是动态地产生和消亡的。

程序:是一组有序的静态指令,是静态概念;一个程序可以是多个进程的一部分;程序可以作为资料长期保存。

3、能够看到。

进程控制块PCB表示进程的存在。

为进程的实体为:程序部分描述了进程所要完成的功能,它通常可以由若干个进程所共享。

数据部分包括程序运行时所需要的数据和工作区,它通常是各个进程专有的。

4、可再现性:程序重复执行时,必将获得相同的结果。

即对于程序A来说,第一次运行得到一结果,第二次运行时若中间有停顿,但最后的结果必将与第一次一样。

封闭性:程序一旦开始运行,其计算结果和系统内资源的状态不受外界因素的影响。

5、1)运行状态:进程正占用CPU,其程序正在CPU上执行。

处于这种状态的进程的个数不能大于CPU的数目。

在单CPU机制中,任何时刻处于运行状态的进程至多是一个。

2)就绪状态:进程已具备除CPU以外的一切运行条件,只要一分得CPU马上就可以运行(万事具备,只欠东风)。

在操作系统中,处于就绪状态的进程数目可以是多个。

为了便于管理,系统要将这多个处于就绪状态的进程组成队列,此队列称为就绪队列。

3)封锁状态:进程因等待某一事件的到来而暂时不能运行的状态。

此时,即使将CPU 分配给它,也不能运行,故也称为不可运行状态或挂起状态。

系统中处于这种状态的进程可以是多个。

同样,为了便于管理,系统要将它们组成队列,称为封锁队列。

封锁队列可以是一个,也可以按封锁原因形成多个封锁队列。

6、(1)1---分到CPU,2---时间片到,3---等待某一事件的发生,4---所等待事件已发生。

操作系统原理

操作系统原理

操作系统原理操作系统是计算机系统中的核心软件之一,负责管理和控制计算机硬件和软件资源,提供良好的用户界面和应用程序接口。

它的作用极为重要,因为它决定了计算机系统的性能、稳定性和可靠性。

本文将介绍操作系统的基本原理和常见的工作机制。

一、操作系统的定义和作用操作系统是一种软件,它管理计算机系统的硬件和软件资源,为用户和应用程序提供一个接口。

它的主要作用有以下几个方面:1.资源管理:操作系统负责管理计算机的各种资源,包括处理器、内存、磁盘、输入输出设备等,以确保它们能够被应用程序合理利用,提高系统的效率和响应速度。

2.进程管理:操作系统负责管理和调度进程,确保它们能够按照规定的优先级和时间片进行执行,保证系统的稳定性和公平性。

3.存储管理:操作系统负责管理计算机内存的分配和回收,为应用程序提供合适的内存空间,防止内存冲突和溢出。

4.文件管理:操作系统负责管理计算机的文件系统,包括文件的创建、复制、删除、修改和存储等操作,为用户提供方便的文件访问接口。

5.设备管理:操作系统负责管理计算机的各种设备,包括输入输出设备、通信设备等,为用户和应用程序提供统一的设备接口和驱动程序。

二、操作系统的基本原理1.进程管理:操作系统通过进程管理实现多任务处理。

它将计算机的处理器划分为多个时间片,按照一定的调度算法使得多个进程能够交替执行,实现并发和并行处理。

2.存储管理:操作系统通过存储管理实现内存的有效利用和保护。

它将内存划分为多个页或块,按照一定的页面置换算法将进程的页置换到磁盘上,从而实现虚拟内存和内存保护。

3.文件管理:操作系统通过文件管理实现对文件的管理和存取。

它将磁盘划分为多个逻辑块,为每个文件分配一个索引节点,通过索引节点实现对文件的读写操作,并通过文件系统的目录结构实现文件的组织和管理。

4.设备管理:操作系统通过设备管理实现对硬件设备的管理和控制。

它为每个设备分配一个驱动程序,通过驱动程序实现对设备的访问和控制,并通过设备管理器实现设备的共享和资源分配。

深入理解操作系统原理及原理

深入理解操作系统原理及原理

深入理解操作系统原理及原理第一章:操作系统的概述操作系统是计算机系统中的核心软件,它负责管理和控制计算机硬件资源,并为用户和应用程序提供统一的接口。

在这一章节中,我们将对操作系统的定义、功能和分类进行详细的介绍。

1.1 操作系统的定义操作系统是一种系统软件,它直接运行在计算机硬件上,具有管理和控制硬件资源、为用户和应用程序提供服务的功能。

操作系统的出现使得计算机可以高效地运行各种应用程序,并提供良好的用户体验。

1.2 操作系统的功能操作系统具有以下几个主要功能:(1) 管理和分配硬件资源,包括处理器、内存、磁盘和网络等;(2) 提供用户和应用程序的接口,使得用户和应用程序可以方便地访问和使用计算机资源;(3) 进程管理,包括进程的创建、调度、同步和通信等;(4) 文件系统管理,包括文件的存储、访问和管理等;(5) 设备管理,包括设备驱动程序的加载和管理等;(6) 提供安全机制,如身份验证和访问控制等。

1.3 操作系统的分类按照功能和结构的不同,操作系统可以分为以下几类:(1) 批处理操作系统:适用于连续处理一批作业的环境,如大型机操作系统;(2) 分时操作系统:支持多用户同时访问计算机系统,如UNIX、Linux等;(3) 实时操作系统:对任务的完成时间要求及时性较高,如航空控制系统、医疗设备等;(4) 嵌入式操作系统:用于嵌入式系统中,如智能手机、汽车导航系统等。

第二章:操作系统的原理在本章节中,我们将深入探讨操作系统的原理,包括进程管理、内存管理、文件系统管理和设备管理等内容,以及相关的算法和技术。

2.1 进程管理进程是操作系统中的基本执行单位,进程管理涉及到进程的创建、调度、同步和通信等。

在进程管理中,需要解决进程的互斥、死锁、同步和通信等问题。

常用的进程调度算法有先来先服务、最短作业优先和时间片轮转等。

2.2 内存管理内存管理负责管理计算机的内存资源,包括内存的分配、回收和保护等。

为了解决内存碎片问题,常用的内存管理技术有连续分配和非连续分配。

操作系统原理

操作系统原理

操作系统原理操作系统是计算机系统中的重要组成部分,负责管理和协调各种资源,提供程序运行环境,为用户提供友好的操作界面。

它是计算机的灵魂,直接影响着计算机系统的性能和稳定性。

本文将从操作系统的基本概念、功能和原理三个方面进行探讨。

一、操作系统的基本概念操作系统是指控制计算机硬件和软件资源,为用户和应用程序提供服务的系统软件。

它是计算机的核心和基石,负责管理和调度计算机的各项工作。

操作系统有着如下几个基本概念:1.1 内核内核是操作系统的核心部分,它直接运行在计算机硬件上,负责处理和分配计算机资源,控制各种设备的运行和管理。

内核包括了处理器管理、内存管理、文件管理和设备管理等功能。

1.2 用户界面用户界面是操作系统与用户之间的接口,可以分为命令行界面和图形化界面。

命令行界面是操作系统最早的形式,用户通过输入命令来操作计算机。

而图形化界面则更加直观和方便,有利于用户操作和交互。

1.3 进程和线程操作系统通过进程和线程来管理程序的执行。

进程是程序在计算机中的一次执行过程,包括了代码、数据和进程控制块等。

线程是进程中的一个执行单元,可以看作是轻型进程,它共享进程的资源,可以独立执行。

1.4 虚拟化技术虚拟化技术是操作系统的重要特性之一,它可以将一个物理资源划分为多个逻辑资源,实现资源的共享和隔离。

常见的虚拟化技术有虚拟内存、虚拟机和容器等。

二、操作系统的功能操作系统具有多种功能,包括进程管理、内存管理、文件系统管理、设备管理和网络管理等。

2.1 进程管理进程管理是操作系统的核心功能之一,它负责创建和撤销进程,控制进程的执行顺序,协调进程间的同步与通信等。

操作系统通过进程调度算法来实现进程的调度和分配,确保计算机资源的高效利用。

2.2 内存管理内存管理是操作系统的另一个重要功能,它负责管理和分配计算机的内存资源,包括内存的申请、分配和释放等。

操作系统通过虚拟内存技术来实现内存的扩展和管理,提高计算机的性能和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2章文件管理习题解答1.什么是文件和文件系统?文件系统有哪些功能?【解答】文件是具有符号名而且在逻辑上具有完整意义的信息项的有序序列。

文件系统是指操作系统系统中实现对文件的组织、管理和存取的一组系统程序,它实现对文件的共享和保护,方便用户“按名存取”。

文件系统的功能“(1)文件及目录的管理。

如打开、关闭、读、写等。

(2)提供有关文件自身的服务。

如文件共享机制、文件的安全性等。

(3)文件存储空间的管理。

如分配和释放。

主要针对可改写的外存如磁盘。

(4)提供用户接口。

为方便用户使用文件系统所提供的服务,称为接口。

文件系统通常向用户提供两种类型的接口:命令接口和程序接口。

不同的操作系统提供不同类型的接口,不同的应用程序往往使用不同的接口。

2.Linux文件可以根据什么分类?可以分为哪几类?各有什么特点?【解答】在Linux操作系统中,文件可以根据内部结构和处理方式进行分类。

在Linux操作系统中,可以将文件分为普通文件、目录文件、特别文件三类。

各类文件的特点是:普通文件:由表示程序、数据或正文的字符串构成的文件,内部没有固定的结构。

这种文件既可以是系统文件,也可以是库文件或用户文件。

目录文件:由文件目录构成的一类文件。

对它的处理(读、写、执行)在形式上与普通文件相同。

特别文件:特指各种外部设备,为了便于管理,把所有的输入/输出设备都按文件格式供用户使用。

这类文件对于查找目录、存取权限验证等的处理与普通文件相似,而其他部分的处理要针对设备特性要求做相应的特殊处理。

应该指出,按不同的分类方式就有不同的文件系统。

3.什么是文件的逻辑结构?什么是文件的物理结构?Linux文件系统分别采用什么样的结构?有什么优点和缺点?【解答】文件的逻辑结构:用户对文件的观察的使用是从自身处理文件中数据时采用的组织方式来看待文件组织形式。

这种从用户观点出发所见到的文件组织方式称为文件的逻辑组织。

文件的物理结构:从系统的角度考察文件在实际存储设备上的存放形式,又称为文件的存储结构。

在Linux系统中,所有文件的逻辑结构都被看作是流式文件,系统不对文件进行格式处理。

在Linux系统中,文件的物理结构采用的是混合多重索引结构,即将文件所占用盘块的盘块号,直接或间接地存放在该文件索引结点的地址项中。

在Linux系统中,采用混合索引结构的优点是,对于小文件,访问速度快;对于大中·2·操作系统实训型的文件,其文件系统也能很好的支持;缺点是会带来因为多次访问磁盘而影响速度。

4.目前广泛用的目录结构形式是哪种?它有什么优点?【解答】广泛用的目录结构形式是树型目录结构。

优点:(1)能有效的提高对目录的检索速度。

(2)允许文件重名。

允许用户在自己的分目录中,使用与其他用户相同的文件名。

(3)便于实现文件共享。

5.常见的文件存储空间管理有哪几种?各自有什么特点?Linux系统的存储空间管理采用什么方法?【解答】常见的文件存储空间管理有:空闲空间表法、空闲块链接法、位示图法、空闲块成组链接法。

空闲空间表法:所有连续的空闲盘块在表中占有一项,其中每一个空闲表项包括序号、空闲区的第一个盘块号、该区的空闲盘块数及对应的空闲物理块号。

利用该表进行盘块的分配和文件删除时盘块的回收。

空闲块链接法:将磁盘上的所有盘块拉成一条链,用一个指针指向第一个空闲块,而各个空闲块中都含有下一个空闲区的块号,最后一块的指针项记为NULL,表示链尾。

分配和释放盘块都在链头进行。

位示图法:利用一串二进制位的值来反映磁盘空间的分配情况,每个盘块都对应一位。

若盘块空闲,对应位为0;若盘块已分配出去,则对应位为1。

空闲块成组链接法:把所有空闲盘块按固定数量分组,组与组之间形成链接关系,最后一组的块号通常放在内存的一个专用栈中。

因而对盘块的分配和回收都在栈中进行。

Linux系统的存储空间管理采用空闲块成组链接法。

6.内存管理和外存管理有何异同?【解答】可以从以下几个方面进行比较:(1)主要任务:内存管理的主要任务是为多道程序的运行提供良好的环境,使每到程序都能顺利运行。

外存管理的主要任务是为文件提供存储空间。

(2)基本功能:内存管理的基本功能包含了内存空间的分配、回收、保护、扩充等方面。

外存管理的基本功能则只是对外存空间的分配和回收。

(3)分配方式:内存和外存管理都可采用连续或离散分配方式,且都以离散分配方式为主。

(4)分配算法:对于连续分配方式,内存与外存管理中的分配和回收算法类似,主要有首次适应算法、循环首次适应算法等。

在离散分配方式中,两者索采用的机制不同,内存管理只要利用页表或段表;在外存管理中,则主要利用文件分配表。

(5)分配单位:内存以字节为单位,外存则以盘块为单位分配。

7.为什么要打开文件?叙述在linux文件系统,打开文件/home/user01/myfile的过程?【解答】当用户要求对一个文件实施多次读/写或其他操作时,每次都要从检索目录开始。

为了避免多次重复地检索目录,在大多数OS中都引入了“打开”(open)这一文件系统调用,当用户第一次请求对某文件进行操作时,先利用open系统调用将该文件打开。

第5章文件管理课后习题解答 3在UNIX文件系统,打开文件/home/user01/myfile的过程四步:(1)检索目录核心先调用检索目录过程namei从根目录或从当前目录开始,沿目录树查找指名文件的索引结点。

在查找时,利用线性检索法,将文件路径名中的各分量名,与相应目录文件中的文件名逐一进行比较。

若未找到该文件名,或者该文件不允许存取,便做出错处理;否则,进入第二步。

(2)分配内存索引结点如果该文件已被其他用户打开,此时只需对在第一步中所找到的i结点,执行其引用计数加1的操作;否则,应为被打开文件分配一个内存i结点,并调用磁盘读过程将磁盘i 结点的内容拷贝到内存 i 结点中,并设置i.count为1。

(3)分配文件表这是指为已打开的文件分配一个文件表项,使文件表项中的f. node指向内存索引结点。

通常还将读写指针 f.offset置为0,以表示从头开始读/写此文件;置读写标志f.flag,及将文件的引用计数f.count加 1,并记入该表项的首址fp。

(4)分配用户文件描述表项在用户文件描述表中取得一空表项。

若成功,便将fp填入该表项中,并把该表项的序号fd作为文件描述符,写入调用进程的U区中。

8..在Linux系统中,一个盘块大小为1KB,每个盘块号占4B,则一个进程要访问一个相对于文件开始的偏移量为263168B处的数据时,计算是直接还是索引访问,几级索引?【解答】一次间接。

263168B/1024B=257即该地址在第257块。

块内偏移量为:263168-1024*257=0因 10<257<266故为一次间接。

9.有一个UNIX文件的权限为:rwxr_x_ _ _,该文件的文件主为uid=12,gid=1,有一用户B的uid=6,gid=1,问:系统是否允许用户B执行该文件?为什么?【解答】允许。

因为UID为用户标识符。

说明用户B与该文件主为同组用户。

10.说明Linux系统磁盘的结构及各部分的功能。

【解答】((2)0号块存放引导程序,是引导区,1号块是超级块,也叫超级块,存放文件卷的管理信息,索引节点区存放各文件的索引结点;文件区存放文件的内容。

11.磁盘容量为1.2GB的硬盘,假设盘块大小为1KB,每个盘块号在FAT表区占4B,你作为磁盘的设计人员,应设FAT区为多长?【解答】1.2GB=1.2M*1KB即 1.2GB/1KB=1.2M·4·操作系统实训磁盘由1.2个磁盘块组成。

1.2*4B=4.8MB所以磁盘的FAT表区长度应为4.8MB12.设在linux中有一进程P,P中有一操作需要访问一文件中偏移量为14000处的数据;试问linux如何实现地址变换?【解答】(1)核心将14000换为逻辑块号13及块内偏移量688;(2)判断,因10<13<266,故为一次间址;(3)从i.add(10)中取得盘块号,设为x;(4)调用bread过程读x盘块;(5)在一次间址中的文件逻辑块号为3(从0编);(6)从中得实际块号,设为y;(7)则该块中的688B即为所求。

13.多操作系统中提供了文件重命名功能,它能赋予文件一个新名字。

若进行文件复制,并给复制文件起一个名字,然后删除旧文件,也能达到给文件重命名的目的。

试问这两种方法在实现上有何不同?【解答】使用文件重命名功能时,用户必须提供两个参数:旧文件名,新文件名。

实现该功能时,系统使用旧文件名查找文件目录,若找到旧文件名所对应的目录表目,则将目录表中文件名字段对应的值改为新文件名值。

从实现过程看,文件重命名功能完成的工作是修改目录表中的文件名字段,除文件名外,文件的其它特性都未改变。

在后一种实现方法中,先进行文件复制并给复制文件起一个新名,此时系统完成了一次物理文件的复制操作,然后删除旧文件。

虽然这样也能实现给文件重命名的目的,但其实现过程比前一种方式复杂,并且新文件与旧文件的物理存放地址肯定不同。

14.在利用link系统调用进行连接时,如果path1=/usr/zhang/ff.c,path2=/usr/li/message/ff.c,试画出此时的树型目录图。

【解答】在树型文件系统中,每一个文件都有一路径名。

例如,用户zhang的文件ff.c的路径名为/usr/zhang/ff.c。

如果用户li要共享此文件,可利用系统调用link(path1,path2)与文件ff.c建立连接。

其中参数path1=/usr/zhang/ff.cpath2=/usr/li/message/ff.c,即在li的message目录文件中创建一个新目录项。

建立连接后的树型目录结构图如下:第5章文件管理课后习题解答 515.在实现文件共享时,如果不先进行连接,会产生什么后果?【解答】建立连接的目的,一方面是为共享该文件的用户增加一新的文件路径名,另一方面是让系统知道有多少个用户需要使用该文件。

在每次连接时,该文件的索引结点访问计数会增加1。

共享该文件时,若无建立连接的操作,系统就无法知道是否还有用户需要该文件,其后果可能是:当用户要使用该文件时,发现该文件已被删除;或者在用户使用该文件期间,文件突然比删除。

相关文档
最新文档