Σχόλια 0

Το κείμενο του εγγράφου

5mark

1.Systems with virtual memory[~

source

|~]

Virtual memory

is a method of decoupling the memory organization from the physical hardware. The applications operatememory viavirtual addresses. Each time an attempt to access stored data is made, virtual memory data orders translate the virtualaddress to aphysical address. In this way addition of virtual memory enables granular control over memory systems and methodsof access.

Protection[~

source

|~]

~:Memory protection

In virtual memorysystems the operating system limits how aprocess

can access the memory. This feature can be used todisallow aprocess

to read or write to memory that is not allocated to it, preventing malicious or malfunctioning code in oneprogram from interfering with the operation of another.

Sharing[~

source

|~]

~:Shared memory

Even though the memory allocated for specific processes is normally isolated, processes sometimes need to be able to shareinformation. Shared memory is one of the fastest techniques forinter-process communication.

Physical organization[~

source

|~]

Memory is usually classed by access rate as withprimary storage

andsecondary storage. Memory management systems handlemoving information between these two levels of memory.

2.Forms of Auxiliary Memory[~]



Flash memory:

An electronic non-volatile computer storage device that can be electrically erased and reprogrammed,and works without any moving parts. A version of this is implemented in many Apple notebooks.



Optical disc:

Its a storage medium from which data is read and to which it is written by lasers. Optical disks can storemuch more data—up to 6 gigabytes (6 billion bytes)—than most portable magnetic media, such as floppies. There arethree basic types of optical disks: CD-ROM (read-only), WORM (write-once read-many) & EO (erasable opticaldisks).



Magnetic Disk:

A magnetic disk is a circular plate constructed of metal or plastic coated with magnetized material.Both sides of the disk are used and several disks may be stacked on one spindle with read/write heads available on eachsurface. Bits are stored in

magnetised surface in spots along concentric circles called tracks. Tracks are commonlydivided into sections called sectors. Disk that are permanently attached and cannot removed by occasional user arecalled hard disks. A disk drive with removable disks

is called a floppy disk drive.



Magnetic tapes:

A magnetic tape transport consists of electric, mechanical and electronic components to provide theparts and control mechanism for a magnetic tape unit. The tape itself is a strip of plastic coated with a magneticrecording medium. Bits are recorded as magnetic spots on tape along several tracks. Seven or Nine bits are recorded toform a character together with a parity bit R/W heads are mounted in each track so that data can be recorded and readas a sequence of characters.

3.Time to access data[~

source

|~]

The factors that limit thetime to access the data

on an HDD are mostly related to the mechanical nature of the rotating disks andmoving heads.Seek time

is a measure of how long it takes the head assembly to travel to the track

of the disk that contains data.Rotational latency

is incurred because the desired disk sector may notbe directly under the head when data transfer is requested.These two delays are on the order of milliseconds each. Thebit rate

or data transfer rate (once the head is in the right position)creates delay which is a function of the number of blocks transferred; typically relatively small, but can be quite long with

thetransfer of large contiguous files. Delay may also occur if the drive disks are stopped to save energy.

An HDD'sAverage Access Time

is its averageSeek time

which technically is the time to do all possible seeks divided by thenumber of all possible seeks, but in practice is determined by statistical methods or simply approximated as the time of a seekover one-third of the number of tracks.[81]

Defragmentation

is a procedure used to minimize delay in retrieving data by moving related items to physically proximate areason the disk.[82]

Some computer operating systems perform defragmentation automatically. Although automatic defragmentation isintended to reduce access delays, performance will be temporarily reduced while the procedure is in progress.[83]

Time to access data

can be improved by increasing rotational speed (thus reducing latency) and/or by reducing the time spentseeking. Increasing areal density increasesthroughput

by increasing data rate

and by increasing the amount of data under a set ofheads, thereby potentially reducing seek activity for a given amount of data. Based on historic trends, analysts predict a futuregrowth in HDD areal density (and therefore capacity) of about 40% per year.[84]

The time to access data has not kept up withthroughput increases, which themselves have not kept up with growth in storage capacity.

20marks

4.Dynamic memoryallocation[~

source

|~]

Details[~

source

|~]

The task of fulfilling an allocation request consists of locating a block of unused memory of sufficient size. Memory requests aresatisfied by allocating portions from a large pool of memory calledthe heap. At any given time, some parts of the heap are in use,while some are "free" (unused) and thus available for future allocations. Several issues complicate implementation, such asinternal and externalfragmentation, which arises when there are many small gaps between allocated memory blocks, whichinvalidates their use for an allocation request. The allocator'smetadata

can also inflate the size of (individually) small allocations.This is managed often bychunking. The memory management system must track outstanding allocations to ensure that they donot overlap and that no memory is ever "lost" as amemory leak.

of fixed-size blocks of memory (often all of thesame size). This works well for simpleembedded systems

where no large objects need to be allocated, but suffers fromfragmentation, especially with long memory addresses. However, due to the significantly reduced overhead this method cansubstantially improve performance for objects that need frequent allocation / de-allocation and is often used in video games.

Buddy blocks[~

source

|~]

For more details on this topic, seeBuddy memory allocation.

In this system, memory is allocated into several pools of memory instead of just one, where each pool represents blocks ofmemory of acertainpower of two

in size. All blocks of a particular size are kept in a sortedlinked list

ortree

and all new blocksthat are formed during allocation are added to their respective memory pools for later use. If a smaller size is requested than isavailable, the smallest available size is selected and halved. One of the resulting halves is selected, and the process repeats untilthe request is complete. When a block is allocated, the allocator will start with the smallest sufficiently large block to avoidneedlessly breaking blocks. When a block is freed, it is compared to its buddy. If they are both free, they are combined andplaced in the next-largest size buddy-block list.

5.Logical block addressing

Logical block addressing (LBA)

is a common scheme used for specifying the location of blocks of data stored oncomputerstorage

devices, generallysecondary storage

systems such ashard disks.

LBA is a particularly simple linear addressing scheme; blocks are located by an integer index, with the first

block being LBA 0,the second LBA 1, and so on.

IDE

standard included 22-bit LBA as an option, which was further extended to 28-bit with the release of ATA-1 (1994) and to48-bitwith the release of ATA-6 (2003). Most hard drives released after 1996 implement logical block addressing.

CHS conversion

CHS (cylinder/head/sector) tuples can be mapped to LBA address with the following formula:

where,



C, H and S are the cylindernumber, the head number, and the sector number



LBA is the logical block address



HPC is the maximum number of heads per cylinder (reported by disk drive, typically 16 for 28-bit LBA)



SPT is the maximum number of sectors per track (reported by disk drive, typically 63 for 28-bit LBA)

LBA addresses can be mapped to CHS tuples with the following formula:

where



mod is themodulo operation, i.e. theremainder, and



isinteger division, i.e. thequotient

of the division.

According to the ATA specifications, "If the content of words (61:60) is greater than or equal to 16,514,064 then the content

ofword 1 [the number of logical cylinders] shall be equal to 16,383."[1]

Therefore for LBA 16450559, an ATA drive may actuallyrespond with the CHStuple

(16319, 15, 63), and the number of cylinders in this scheme must be much larger than 1024 allowedby INT

13H.[3]

OS dependencies[~

source

|~]

Operating systems that are sensitive to BIOS-reported drive geometry includeSolaris,DOS

and Windows NT family, whereNTLDR

(NT,2000,XP,Server 2003) orWINLOAD

(Vista,Server 2008,Windows 7

andServer 2008 R2) useMaster bootrecord

which addresses the disk using CHS;x86-64

andItanium

versions of Windows can partition the drive withGUIDPartition Table

which uses LBA addressing.

Some operating systems do not require any translation because they do not use geometry reported by BIOS in theirboot loaders.Among these operating systems areBSD,Linux,Mac OS X,OS/2

takes advantages of the ability of disk storage media to randomly address data in a short amountof time. Additional considerations include the speed of accessing data following that initially requested and theanticipation that the following data may also be requested. This permits multiple users (or processes) access tovarious data on the disk without regard to the sequential location of the data. Examples includeFAT

is an extension to UDF supported byLinux 2.6 series and Windows Vista that facilitatesrewriting to DVDs.

Flash file systems[~ source

|~]

~:Fl ash file system

Aflash file system

considers the special abilities, performance and restrictions offlash memory

devices. Frequentlya disk file system can use a flash memory device as the underlying storage media but it is much better to use a filesystem specifically designed for a flash device.

Tape file systems[~ source

|~]

Atape file system

is a file system and tape format designed to store files on tape in a self-describing form.Magnetictapes

are sequential storage media with significantly longer random data access times than disks, posing challengesto the creation and efficient management of a general-purpose file system.

In a disk file system there is typically a master file directory, and a map of used and free data regions. Any fileadditions, changes, or removals require updating the directory and the used/free maps. Random access to dataregions is measured in milliseconds so this system works well for disks.

Tape requires linear motion to wind and unwind potentially very long reels of media. This tape motion may takeseveral seconds to several minutes to move the read/write head from one end of the tape to the other.

Consequently, a master file directory and usage map can be extremely slow and inefficient with tape. Writingtypically involves reading the block usage map to find free blocks for writing, updating the usage map and directoryto add the data, and then advancing the tape to write the data in the correct spot. Each additional file write requiresupdating the map and directory and writing the data, which may take several seconds to occur for each file.

Tape file systems instead typically allow for the file directory to be spread across the tape intermixed with the data,referred to asstreaming, so that time-consuming and repeated tape motions are not required to write new data.

However, a side effect of this design is that reading the file

directory of a tape usually requires scanning the entiretape to read all the scattered directory entries. Most data archiving software that works with tape storage will store alocal copy of the tape catalog on a disk file system, so that adding files to

a tape can be done quickly without havingto rescan the tape media. The local tape catalog copy is usually discarded if not used for a specified period of time,at which point the tape must be re-scanned if it is to be used in the future.

IBM has developed a file system for tape called theLinear Tape File System. The IBM implementation of this filesystem has been released as the open-sourceIBM Linear Tape File System

—

Single Drive ~ion (LTFS—SDE)

product. The Linear Tape File System uses a separate partition on the tape to record the index meta-data, therebyavoiding the problems associated with scattering directory entries across the entire tape.

Tape formatting[~ source

|~]

Writing data to a tape is often a significantly time-consuming process that may

take several hours. Similarly,completely erasing or formatting a tape can also take several hours. With many data tape technologies it is notnecessary to format the tape before over-writing new data to the tape. This is due to the inherently destructive

natureof overwriting data on sequential media.

Because of the time it can take to format a tape, typically tapes are pre-formatted so that the tape user does not needto spend time preparing each new tape for use. All that is usually necessary is to write an identifying media label tothe tape before use, and even this can be automatically written by software when a new tape is used for the firsttime.

Database file systems[~ source

|~]

Another concept for file management is the idea of

a database-based file system. Instead of, or in addition to,hierarchical structured management, files are identified by their characteristics, like type of file, topic, author, orsimilarrich metadata.[2]

IBM DB2 for i[3]

(formerly known as DB2/400 and DB2 for i5/OS)is a database file system as part of the objectbased IBM i[4]

operating system (formerly known as OS/400 and i5/OS), incorporating a single level store andrunning on IBM Power Systems (formerly known as AS/400 and iSeries), designed by Frank G. Soltis IBM's formerchief scientist for IBM i. Around 1978 to 1988 Frank G. Soltis and his team at IBM Rochester have successfullydesigned and applied technologies like the database file system where others like Microsoft later failed toaccomplish.[5]

These technologies are informally known as 'Fortress Rochester' and were in few basic aspectsextended from early Mainframe technologies but in many ways more advanced from a technology perspective.

Some other projects that aren't "pure" database file systems but that use some aspects of a database file system:



A l ot ofWeb-CMS

use arelational DBMS

to store and retrieve files. Examples:XHTML

files are stored asXML

or textfi elds, i mage files are stored as blob fields;SQL

SELECT (wi th optionalXPath) statements retrieve the files, and allowthe use of a sophisticated logic and more ri ch i nformation associations than "usual file systems".



Very l arge file systems, embodied by applications l ikeApache Hadoop

andGoogle File System, use somedatabase filesystem

concepts.

Transactional file systems[~ source

|~]

Some programs need to update multiple files "all at once". For example, a software installation may write programbinaries, libraries, and configuration files. If the software installation fails, the program may be unusable. If theinstallation is upgrading a key system utility, such as the commandshell, the entire system may be left in anunusable state.

Transaction processing

introduces theisolation

guarantee, which states that operations within a transaction arehidden from other threads on the system until the transaction commits, and that interfering operations on the systemwill be properlyserialized

with the transaction. Transactions also provide theatomicity

guarantee, that operationsinside of a transaction are either all committed, or the transaction can be aborted and the system discards all of itspartial results. This means that if

there is a crash or power failure, after recovery, the stored state will be consistent.Either the software will be completely installed or the failed installation will be completely rolled back, but anunusable partial install will not be left on the system.

Windows, beginning with Vista, added transaction support toNTFS, in a feature calledTransactional NTFS, but itsuse is now discouraged.[6]

There are a number of research prototypes of transactional file systems for UNIX systems,including the Valor file system,[7]

raceconditions on symbolic links. File locking also cannot automatically roll back a failed operation, such as a softwareupgrade; this

requires atomicity.

Journaling file systems

are one technique used to introduce transaction-level consistency to file system structures.Journal transactions are not exposed to programs as part of the OS API; they are only used internally to ensureconsistency at the granularity of a single systemcall.

Data backup systems typically do not provide support for direct backup of data stored in a transactional manner,which makes recovery of reliable and consistent data sets difficult. Most backup software simply notes what fileshave changed since a certain time, regardless of the transactional state shared across multiple files in the overalldataset. As a workaround, some database systems simply produce an archived state file containing all data up to thatpoint, and the backup software only backs that up and does not interact directly with the active transactionaldatabases at all. Recovery requires separate recreation of the database from the state file, after the file has beenrestored by the backup software.

Network file systems[~ source

|~]

~:Di stributed file system

Anetwork file system

is a file system that acts as a client for a remote file access protocol, providing access to fileson

a server. Examples of network file systems include clients for theNFS,AFS,SMB

protocols, and file-system-like clients forFTP

andWebDAV.

Shared disk file systems[~ source

|~]

~:Shared disk file system

Ashared disk file system

is one in which a number of machines (usually servers) all have access to the sameexternal disk subsystem (usually a SAN). The file system arbitrates access to that subsystem, preventing writecollisions. Examples includeGFS2

fromRed Hat,GPFS

from IBM,SFS

from DataPlow,CXFS

fromSGI

andStorNext

fromQuantum Corporation.

Special file systems[~ source

|~]

Aspecial file system

presents non-file elements of an operating system as files so they can be acted on using filesystem APIs. This is most commonly done inUnix-like

operating systems, but devices are given file names in somenon-Unix-like operating systems as well.

C: is routinely assigned to this primary partition. Other partitions may exist on the HDD that may or may not bevisible as drives, such as recovery partitions or partitions with diagnostic tools or data. (Microsoft drive letters do not correspondto partitions in a one-to-onefashion, so there may be more or fewer drive letters than partitions.)

MicrosoftWindows 2000,XP,Vista, andWindows 7

include a 'Disk Management' program which allows for the creation,deletion and resizing of FAT and NTFS partitions. The Windows Disk Manager in Windows Vista and Windows 7 utilizes a new1 MB partition alignment

Multi-boot systems are computers where the user can boot into one of two or more distinct operating systems (OS) stored inseparate storage devices or in separate partitions of the same storage device. In such systems a menu atstartup

gives a choice ofwhich OS to boot/start (and only one OS at a time is loaded).

This is distinct fromvirtual operating systems, in which one operating system is run as a self-contained virtual "program" withinanother already-running operating system. (An example is a Windows OS "virtual machine" running from within a Linux OS.)