Skip to main content

Directory Structures :


Directory Structures :
Information in a Device Directory

Name
Type
Address
Current length
Maximum length
Date last accessed (for archival)
Date last updated (for dump)
Owner ID (who pays)
Protection information (discuss later)

Operations Performed on Directory

Search for a file
Create a file
Delete a file
List a directory
Rename a file
Traverse the file system

Organize the Directory (Logically) to Obtain

Efficiency – locating a file quickly.
Naming – convenient to users.
  1. Two users can have same name for different files.
  2. The same file can have several different names.
Grouping – logical grouping of files by properties, (e.g., all Java programs, all games, …)

Single-Level Directory
       

A single directory for all users.
Naming problem
Grouping problem

Two-Level Directory
Separate directory for each user.

           

•Path name
•Can have the same file name for different user
•Efficient searching
•No grouping capability

Tree-Structured Directories

           

Efficient searching
Grouping Capability
Current directory (working directory)
 1.cd /spell/mail / prog
 2. type list
 3. Absolute or relative path name
 4. Creating a new file is done in current directory.
 5. Delete a file
rm <file-name>
Creating a new subdirectory is done in current directory.
mkdir <dir-name>

Acyclic-Graph Directories
Have shared subdirectories and files.

          
  
Two different names (aliasing)
If dict deletes list _ dangling pointer.
Solutions:
  •  Back pointers, so we can delete all pointers.   
Variable size records a problem.
      1. Back pointers using a daisy chain organization.
      2. Entry-hold-count solution.

General Graph Directory

          

How do we guarantee no cycles?
 1. Allow only links to file not subdirectories.
 2. Garbage collection.
 3. Every time a new link is added use a cycle detection algorithm to determine whether it is  
     OK.



Comments

Popular posts from this blog

LECTURE BREAKUP OF PHP MYSQL

PHP+MYSQL Introduction Basic Syntax Variable & it's Scope I/O & Comment   String & it's Function Operator & Expression Decision Control Case Control Loop Control Arrays & Function Form Handling State Management - Cookies State Management - Session Mail Concept Working with File Date/Time Functions Introduction MySQL Environment Database Concept Datatype Query processing Statements  Query processing based on condition Database Connectivity Database Operation With GUI Import/Export Database

OOP IN VB 6.0

Visual Basic 6.0 supports object-oriented language elements and has support for objects distributed in libraries.   Object Oriented Programming is quite simple and provides way to modularize program by creating partition memory area for both data & function than can be used as template for creating copies of such module. In the world of OOP , you break a problem down into small parts and solve them individually. OOP is good for large-scale programming - As your code grows large, there are going to be more and more procedures/functions to your program, and your code is going to be so cluttered that one more look at it, you'd scream. Class In Visual Basic 6.0, a class is defined in a class module. A single class module is stored in a special type of file that has a .cls file extension. In Visual Basic 6.0, the class   Initialize   event handler named   Class_Initialize   is used to execute code that needs to be executed at the moment that an...

SELECT | INSERT | UPDATE | DELETE CODE IN VB.NET WITH AUTO INCREMENT CONCEPT

Database.vb Imports System.Data.SqlClient Public Class Database     Dim con As New SqlConnection( "Data Source=G20;Initial Catalog=Me;Integrated Security=True" )     Public Sub cnopen()         If con.State = ConnectionState.Open Then             con.Close()         End If         con.Open()     End Sub     Public Sub cnclose()         If con.State <> ConnectionState.Closed Then             con.Close()         End If     End Sub     Public Function Displaygrid( ByVal query As String ) As DataTable         Dim dt As N...