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

UNIX/LINUX COMMAND

Unix / Linux Command cat  --- for creating and displaying short files chmod  --- change permissions cd  --- change directory cp  --- for copying files date  --- display date echo  --- echo argument ftp  --- connect to a remote machine to download or upload files grep  --- search file head  --- display first part of file ls  --- see what files you have lpr  --- standard print command (see also  print  ) more  --- use to read files mkdir  --- create directory mv  --- for moving and renaming files ncftp  --- especially good for downloading files via anonymous  ftp . print  --- custom print command (see also  lpr  ) pwd  --- find out what directory you are in rm  --- remove a file rmdir  --- remove directory rsh  --- remote shell setenv  --- set an environment variable sort  --- sort file tail  --- display last part of file ta...

DIALOG BOX SHOW CODE IN SWING JAVA

import javax.swing.*; import java.awt.event.*; public class Dialog {   JFrame frame;   JPanel p;   public Dialog(){   frame = new JFrame("Show Message Dialog");   p=new JPanel();   JButton button = new JButton("Click Me");   button.addActionListener(new MyAction());     p.add(button);   frame.add(p);   frame.setSize(400, 400);   frame.setVisible(true);   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   }   public class MyAction implements ActionListener{   public void actionPerformed(ActionEvent e){   JOptionPane.showMessageDialog(frame,"My DialogBox");   }   }  public static void main(String[] args)  {     Dialog db = new Dialog();   } }

DATABASE UPDATION CODE IN VB.NET

Private Sub BTNUPDATE_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNUPDATE.Click         connetionString = " Data Source=KEERTIG-PC\SQLEXPRESS;Initial Catalog=GAURAV1;Integrated Security=True"         connection = New SqlConnection(connetionString)         sql = "UPDATE ROOM_BOOKING SET FIRST_NAME= '" & TXTBSFNAME.Text & "',MIDDLE_NAME= '" & TXTBSMNAME.Text & "',LAST_NAME= '" & TXTBSLNAME.Text & "',NUM_OF_ROOM= '" & TXTBSNOROOM.Text & "',NUM_OF_DAYS= '" & TXTBSNODAYS.Text & "',MOBILE_NO= '" & TXTBSMOBNO.Text & "',ADDERESS= '" & TXTBSADDRESS.Text & "',ROOMBK_PRICE= '" & TXTBSPRICE.Text & "' WHERE ROOMBK_ID = '" & TXTBSBID.Text & "'  "         Try             connection.Open()             MsgBox(...