CLICK HERE FOR THOUSANDS OF FREE BLOGGER TEMPLATES »

Monday, September 15, 2008

Storage

Magnetic Discs



Magnetic storage refers to the storage of data on a magnetized medium. Magnetic storage uses different patterns of magnetization in a magnetizable material to store data and is a form of non-volatile memory. The information is accessed using one or more read/write heads. Magnetic storage media, primarily hard disks, are widely used to store computer data as well as audio and video signals. In the field of computing, the term magnetic storage is preferred and in the field of audio and video production, the term magnetic recording is more commonly used. The distinction is less technical and more a matter of preference.
The advantages of using magnetic storage are high storage capacity, reliable and give direct access to data. Hard discs also give us less time to access data because the access of data is very fast.












Optical Devices












Optical storage is a term refers to the storage of data on an optically readable medium. Data is recorded by making marks in a pattern that can be read back with the aid of light. A common modern technique used by computers involves a tiny beam of laser light precisely focused on a spinning disc. Optical storage differs from other data storage techniques that make use of other technologies such as magnetism or semiconductors. The term optical drive usually refers to a device in a computer that can read CD-ROMs or other optical discs.
The advantages are that CD-ROM's hold large quantities of data (650 MB) and they are relatively tough as long as the surface does not get too scratched. It is much faster to access than a floppy but it is currently slower than a hard disc
.










Flash Memory
















Flash memory is non-volatile computer memory that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products. It is a specific type of EEPROM (Electrically Erasable Programmable Read-Only Memory) that is erased and programmed in large blocks; in early flash the entire chip had to be erased at once.

The advantages are that flash memory is
non-volatile, which means that no power is needed to maintain the information stored in the chip. In addition, flash memory offers fast read access times (although not as fast as volatile DRAM memory used for main memory in PCs) and better kinetic shock resistance than hard disks. These characteristics explain the popularity of flash memory in portable devices. Another feature of flash memory is that when packaged in a "memory card," it is enormously durable, being able to withstand intense pressure, extremes of temperature, and even immersion in water.




Magneto-Optical Disc













A magneto-optical drive is a kind of optical disc drive capable of writing and rewriting data upon a magneto-optical disc. Both 130 mm and 90 mm form factors exist. The technology was introduced at the end of the 1980s. Although optical, they appear as hard disk drives to the operating system and do not require a special file system (they can be formatted as FAT, HPFS, NTFS, etc.).
The disc consists of a
ferromagnetic material sealed beneath a plastic coating. There is never any physical contact during reading or recording. During reading, a laser projects a beam on the disk and according to the magnetic state of the surface, the reflected light varies due to the Magneto-optic Kerr effect. During recording, the laser power is increased so it can heat the material up to the Curie point in a single spot. This allows an electromagnet positioned on the opposite side of the disc to change the local magnetic polarization, and the polarization is retained when temperature drops.
The advantages of this storage are data authenticity and integrity, long-term data retention, high capacity and scalability and rapid information
access.

Monday, September 1, 2008

Virtual Memory






Windows














Windows


Linux


 


Implementation of Virtual Memory


A program instruction can address up to 4GB of
Virtual Memory, those parts of program and data which are currently in
active use need to be loaded into Physical Random Access Memory.


The processor itself translates the virtual
addresses from an instruction into the correct equivalents, as the
instruction is executed.


The processor manages the mapping in terms of pages
of 4 kilobytes each.


 


Page Fault


When a program tries to access some address that is
not currently in physical RAM, it generates an interrupt, called a Page
Fault.


This asks the system to retrieve the 4 KB page
containing the address from the page file. This, a valid page fault,
normally happens quite invisibly. Sometimes, through program or hardware
error, the page is not there either. The system then has an ‘Invalid
Page Fault’ error. This will be a fatal error if detected in a program.


If it is seen within the system itself , it may
manifest itself as a ‘blue screen’ failure with a STOP code.


STOP messages are identified by an 8-digit
hexadecimal number, but also commonly written in a shorthand notation;
e.g., a STOP 0x0000000A may also be written Stop 0xA. This 8-digit
number will help the users to determine the actual error condition.


 


Page Size


How big a file will turn out to be needed depends
very much on work-load. Simple word processing and e-mail may need very
little. Large graphics and movie making may need a great deal.


For a general workload,it is suggested that a
sensible start point for the initial size would be the greater of (a)
100 MB or (b) enough to bring RAM plus file to about 500 MB. EXAMPLE:
Set the Initial page file size to 400 MB on a computer with 128 MB RAM;
250 on a 256 MB computer; or 100 MB for larger sizes.


Windows will expand a file that starts out too
small and may shrink it again if it is larger than necessary, so it pays
to set the initial size as large enough to handle the normal needs of
your system to avoid constant changes of size. This will give all the
benefits claimed for a fixed page file.But no restriction should be
placed on its further growth.


 


Thrashing Issues


Trashing is a scheme in virtual memory where the
processes spends most of its time in swapping pages rather than
executing instructions, this is due to inordinate number of page faults.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


Implementation of Virtual Memory


To accomplish address translation (paging) the CPU
needs to be told:


a) where to find the address translation
information. This is accomplished by pointing the CPU to a lookup table
called a 'page table'.


b) to activate paging mode. This is accomplished by
setting a specific flag in a control register.


Kernel use of virtual memory begins very early on
in the boot process. head.S contains code to create provisional page
tables and get the kernel up and running.


Every physical page of memory up to 896MB is mapped
directly into the kernel space. Memory greater than 896MB (High Mem) is
not permanently mapped, but is instead temporarily mapped using kmap and
kmap_atomic (see HighMemory).


The descriptions of virtual memory will be broken
into two distinct sections; kernel paging and user process paging.


 


Page Fault


The operating system must provide a page fault
handler that has to deal with the situation and determine how the
process may continue in order to allow access to pages of memory never
accessed before.


The Linux page fault handler relies on acquiring a
read-write semaphore (mmap_sem) and a spin lock, the page_table_lock for
synchronization between multiple threads of a task. A page fault first
acquires a read lock on mmap_sem (which alone would allow other threads
to continue processing page faults) and then acquires a spin lock on the
page_table_lock (which serializes access to the page table and important
data structures) before acquiring a free page from the page allocator.


The page is then cleared by overwriting the
contents with zeros and the page is assigned to the process by creating
a corresponding page table entry in the page table of the process.


The page fault handler is a very hot code path,
sensitive to minor code changes and depends heavily on the organization
of data structures.


 


Page Size


Virtual and physical memory are divided into handy
sized chunks called pages. These pages are all the same size, they need
not be but if they were not, the system would be very hard to
administer. Linux on Alpha AXP systems uses 8 Kbyte pages and on Intel
x86 systems it uses 4 Kbyte pages. Each of these pages is given a unique
number; the page frame number (PFN).


 


A virtual address is composed of two parts; an
offset and a virtual page frame number. If the page size is 4 Kbytes,
bits 11:0 of the virtual address contain the offset and bits 12 and
above are the virtual page frame number. Each time the processor
encounters a virtual address it must extract the offset and the virtual
page frame number. The processor must translate the virtual page frame
number into a physical one and then access the location at the correct
offset into that physical page. To do this the processor uses page
tables.


 


Trashing Issues






Linux
only
kills processes when

thrashing

occurs and the system is out of
swap space. In some sense there is nothing else that
the kernel could do in this case, since memory is
needed but there is no more physical or swap
memory to allocate. When such a case occurs,

Linux

kernel kills the most memory-consuming processes.
This feature is very drastic; hence its implications
might be severe. For example, if a server runs several
applications with mutual dependencies, killing
one of the applications may yield unexpected
results.

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 



 






Monday, August 4, 2008

SEB070020 - Tutorial 3

20 functions of Operating System (OS)



1) an interface between the computer and the outside world
- The OS provides an interface to component parts such as the mouse, keyboard and other parts by using what referred to as drivers. ( Drivers are specially written programs which understands the operation of a device it interfaces to, such as the printer.)

2) provides support for the loading and execution of programs
- The OS will look into its disk directory to check where the file a.out is. Then it will check the memory allocation table and will then load data into regions of memory. All input and output operations, although invoked by an applications program, are actually carried out by the operating system.


3) provides a stable, consistent way for applications to deal with the hardware
- In this situation, the OS plays a role of a good parent, making sure that each application gets the necessary resources while running with other applications, as well as to control the limited capacity of the system to the greatest good of all the users and application.

4) provides a consistent application interface
- It is especially important if there is to be more than one of a particular type of computer using the Operating System , of if the hardware making up the computer is ever to change. A consistent Application Program Interface (API) allows a software to write an application on one computer and have a high level of confidence that it will run on another computer of the same type.

5) ensure applications continue to run when harware upgrades and updates occur
- This is because the OS not the application is charged with managing the hardware and distribution of its resources.

6) enable timesharing
- Many application programs seem to be running simultaneously but these programs are actually taking turns by coordination between the OS and the hardware operations.

7) facilities for data compression, organizing and stocking libraries.

8)control and command programs
- With a coordinating role, the OS control all of the functions, like IO processes, execution's interruptions and hardware-user communication.

9) manages service programs
- Executed under the supervising of the control and command programs, they are used by the programmers to develop applications.

10) allows multitasking
- The operating system's kernel assures a time partitioning between the programs to be executed

11) input/output device management
- The OS includes the keyboard device driver, so that we do not need to write our own.It also provides the read() function for us to call in order to pick up the characters the keyboarddriver has collected for us.

12) memory management
- The OS must keep track of which parts of memory are currently in use, so that it knows what areas itcan load a program to when the program is requested for execution.

13) file management
- The OS will maintain a table showing the starting sectors of all files on the disk. (The table itself is on the disk.) The OS must also maintain a table showing unused sectors. When a user creates a new file, the OS checksthis table to find space to put the file. Of course, the OS must then update its file table accordingly. If a user deletes a file, the OS will update both tables, removing the file’s entry in the file table, and addingthe former file’s space to the unused sector table.

14) monitoring system performance
- A user or administrator can check to see whether the computer or network is getting overloaded. System performance would include response time ( how long it takes for the computer to respond when data is entered) and CPU utilization (comparing the time the CPU is working to the time it is idle.)

15) monitoring system security
- Some system security is part of the operating system, though additional software can add more security functions. For multiple users who are not all allowed access to everything, there must be a logon or login procedure where the user supplies a user name or ID and a secret password.

16) introduces new functions as it abstracts the hardware
- For instance, operating system introduces the file abstraction so that programs do not have to deal with disks.

17) transforms the computer hardware into multiple virtual computers, each belonging to a different program
- Each program that is running is called a process. Each process views the hardware through the lens of abstraction.

18) conduct analytical studies of system processing time and resource capacity, measuring system performance against predetermined or standard benchmarks (e.g., operating time, error rates, and types

19) determine system compatibility and performance, and impact of integration with new systems or upgrades

20) develop plans, schedules, and requirements for the installation and maintenance of new and/or revised software

Tuesday, July 15, 2008

SEB070020- Tutorial 2



1) Application Software
An application sotware is responsible for helping users to solve their problems and can be usedonly for its intended purposes.
For example; Windows Media Player, Microsoft Word, Dreamweaver
2) Communication Device
A communication device is any machine that assists data transmission such as images, audiosand videos from one computer to another, or from one device to another.
For example; modems, cables, ports, microphones.
3) Computer
A computer is a system made of two major components which are the hardware (physicalequipment) and the software (collection of programmes that allow hardware to do its job) andmanipulates data according to a list of instructions.
4) Desktop computer
A desktop computer is a personal computer in a form intended for regular use at a singlelocation.
5) Embedded compuer
An embedded computer is a special-purpose computer system designed to perform one or afew dedicated functions, often with real-time computing constraints. In other words, it is a specialized computer system that is part of a larger system.
For example: watches, microwaves, washing-machine.
6) Graphical User Interface (GUI)
A program interface that takes advantage of the computer's graphics capabilities to make the program easier to use.
For example: pointer, icons, windows.
7) Hardware
A hardware is any physical component of a computer system.
For example : keyboard, printer, mouse.
8) Internet
Internet is a connection of information, which is a global network that connects millions of computers and transmit data by packet switching.
9) Installing
To connect, or set in position and prepare for use, or adding hardware of software components.
10) Network
A network is any method of sharing information between two systems.