Irritating slashes in URLs a mistake, says Tim Berner’s Lee

It has been one of the most enduring mysteries to have intrigued every web user. What is the point of the two forward slashes that sit infront of the “www” in every internet website address? 
    Tim Berners-Lee, the scientist who created the World Wide Web, has admitted his decision to include two forward slashes in internet addresses was a mistake. The // at the front of a web address was pointless and unnecessary, Tim admitted at a recent talk in the US. Tim, now director of the World Wide Web Consortium — which oversees the web’s development — that if he had his time over again he would leave them out of addresses. 
    “Really, if you think about it, it doesn’t need the //. I could have designed it not to have the //,” he said 
last week at the symposium in Washington DC on the future of technology, reports the Telegraph. “Boy, now people on the radio are calling it ‘backslash backslash’. 
    “Look at all the paper and trees that could have been saved if people had not had to write or type out those slashes on paper over the years — not to mention the human labour and time spent typing those two strokes millions of times in browser address boxes,” he added. AGENCIES

Source : Times of India

Introduction to Proc File System

  • The proc file system provides information on the current status of the Linux kernel and running process.
  • It also allows modifications of kernel parameters in simple ways during runtime
  • Each process in the system that is currently running is assigned a directory /proc/pid, where pid is the process identification number of the relevant process
  • There are also files and directories for process independent information such as loaded modules, used bus systems etc.

Disadvantages of Proc

  • There is no interface for the individual files, every user has to find out where and how the information that is required is hidden in the file
  • Another disadvantage is that all information is output as strings, therefore conversion is always necessary for further processing

Structure of File system

struct proc_dir_entry


unsigned short low_ino; //inode number

unsigned short namelen; //length of the name

const char *name; //name of the entry

mode_t mode; //mode

uid_t uid; //User ID

gid_t gid; //Group ID

unsigned long size; //size of the file

struct inode_operations *proc_iops; //inode-op

struct file_operations *proc_fops; //file-op

struct proc_dir_entry *next, *parent, *subdir; //connection



The above structure is as PD entry.

  • The pointer next, parent, subdir are used for linking. Next shows the next entry in the current directory, parent shows the parent directory (root directory), and subdir shows a subdirectory. This can be implemented like the following loop

for(de=de->subdir ; de; de=de->next){



  • the file and the directory entries are lying under the /proc/ directory

The Ext2 File System

  • The initially developed file system was Minix which uses a partition of 64MB and the filenames of no more than 14 characters.
  • After that, A file system called ext was developed which uses a partition size of 2GB and filenames of 255 characters but it was slow compared with Minix.
  • Later the file system for Xia was developed with a partition size of 2GB and 248 characters in filename comparatively faster that Ext file system
  • Finally, Ext2 file system was developed with a faster operation.

Structure of ext2 File system

The ext2 file system was influenced by the BSD Fast File System (BSD FFS). Thus a partition is divided into a number of block groups, corresponding to the cylinder groups in FFS, with each block group holding a copy of the superblock and inode blocks and data blocks. The objective for developing the block groups is that

  • The data block should be close to the inodes
  • File inodes close to their directory inodes


  • Defined as the structure ext2_super_block.
  • Contains control information on the file system, such as the number of inodes and blocks
  • It is made upto a size of 1024 bytes

Block group descriptors

  • It is following the superblock
  • Provides information about the block groups. Each block group is described by a 32byte descriptor.
  • Contains the block numbers in the inode bitmap, block bitmap and inode table, the number of free inodes and blocks and the number of directories in the block group.

Inode Table

  • It lists consecutive blocks, inodes of 128bytes in size
  • Also contains information about the entries of Access control List (ACL), time when the file was deleted, information specific to the Operating system in use.

Block Allocation in the Ext2 file system

  • The main problem in all file systems is the fragmentation of files, ie. Scattering of files into small pieces as a result of the constant deleting and creating of new files. This problem is solved by the defragmentation of files.
  • Target oriented allocation
    • New data blocks are always searched for near a target block. If this block is free, it is allocated. Otherwise a free block is sought within 32 blocks of the target block and if found, is allocated.
    • If this fails, the block allocation routine tries to find a free block which is atleast in the same block group as target block.