Wednesday, May 5, 2010

Operating System

An operating system is the software on a computer that manages the way different programs use its hardware, and regulates the ways that a user controls the computer.[1][2] Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Some popular modern operating systems for personal computers include Microsoft Windows, Mac OS X, and Linux[3] (see also: list of operating systems, comparison of operating systems).

Because early computers were often built for only a single task, operating systems did not exist in their proper form until the 1960s.[4] As computers evolved into being devices that could run different programs in succession, programmers began putting libraries of common programs (in the form of computer code) onto the computer in order to avoid duplication and speed up the process. Eventually, computers began being built to automatically switch from one task to the next. The creation of runtime libraries to manage processing and printing speed came next, which evolved into programs that could interpret different types of programming languages into machine code. When personal computers by companies such as Apple Inc., Atari, IBM and Amiga became popular in the 1980s, vendors began adding features such as software scheduling and hardware maintenance.

An operating system can be divided into many different parts. One of the most important parts is the kernel, which controls low-level processes that the average user usually cannot see: it controls how memory is read and written, the order in which processes are executed, how information is received and sent by devices like the monitor, keyboard and mouse, and deciding how to interpret information received by networks. The user interface is the part of the operating system that interacts with the computer user directly, allowing them to control and use programs. The user interface may be graphical with icons and a desktop, or textual, with a command line. Another similar feature is an Application programming interface, which is a set of services and code libraries that let applications interact with one another, as well as the operating system itself. Depending on the operating system, many of these components may not be considered an actual part. For example, Windows considers its user interface to be part of the operating system, while many versions of Linux do not.


Attrib
attrib is a command, in MS-DOS, OS/2 and Microsoft Windows. The function of attrib is to set and remove file attributes (read-only, archive, system and hidden). These attributes are used by a wide variety software to protect and classify files.[1]
Many users regularly encounter the read-only attribute, which will prevent most software from allowing the user to overwrite or append to a file. Software can be designed to override this option, often after receiving confirmation from the user. The archive attribute is used by various backup and file copy programs as a hint as to whether a file needs to be backed up.[2] The hidden attribute makes affected files invisible in many programs, although a variety of software, especially software designed for listing, viewing, and searching files, allows hidden files to be made visible, often with a notation that they have been designated as hidden. The system attribute is used to designate certain operating system files and affects the operation of most software less than the other attributes.


Unisys OS 2200 communications
The OS 2200 communications management system includes CPComm and MCB along with many programs that provide communications related functions such as file transfer, e-mail, and distributed transaction processing protocols.

Mac OS X Leopard

Mac OS X Leopard (version 10.5) is the sixth major release of Mac OS X, Apple’s desktop and server operating system for Macintosh computers. Leopard was released on 26 October 2007 as the successor of Mac OS X Tiger (version 10.4), and is available in two variants: a desktop version suitable for personal computers, and a server version, Mac OS X Server. Steve Jobs stated at Macworld 2008 that over 20% of Macs use Leopard as their operating system.[1] Leopard was superseded by Mac OS X Snow Leopard (version 10.6). Leopard is the final version of Mac OS X to support the PowerPC architecture as Snow Leopard solely functions on Intel based Macs. With the release of Snow Leopard, Leopard will only be maintained with security updates until the next shipping version of Mac OS X.

According to Apple, Leopard contains over 300 changes and enhancements over its predecessor, Mac OS X Tiger,[2] covering core operating system components as well as included applications and developer tools. Leopard introduces a significantly revised desktop, with a redesigned Dock, Stacks, a semitransparent menu bar, and an updated Finder that incorporates the Cover Flow visual navigation interface first seen in iTunes. Other notable features include support for writing 64-bit graphical user interface applications, an automated backup utility called Time Machine, support for Spotlight searches across multiple machines, and the inclusion of Front Row and Photo Booth, which were previously included with only some Mac models.
Apple missed Leopard's release time frame as originally announced by Apple’s CEO Steve Jobs. When first discussed in June 2005, Jobs had stated that Apple intended to release Leopard at the end of 2006 or early 2007.[3] A year later, this was amended to Spring 2007;[4] however on 12 April 2007, Apple issued a statement that its release would be delayed until October 2007 because of the development of the iPhone

Operating Ststem

An operating system is the software on a computer that manages the way different programs use its hardware, and regulates the ways that a user controls the computer.[1][2] Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Some popular modern operating systems for personal computers include Microsoft Windows, Mac OS X, and Linux[3] (see also: list of operating systems, comparison of operating systems).

Because early computers were often built for only a single task, operating systems did not exist in their proper form until the 1960s.[4] As computers evolved into being devices that could run different programs in succession, programmers began putting libraries of common programs (in the form of computer code) onto the computer in order to avoid duplication and speed up the process. Eventually, computers began being built to automatically switch from one task to the next. The creation of runtime libraries to manage processing and printing speed came next, which evolved into programs that could interpret different types of programming languages into machine code. When personal computers by companies such as Apple Inc., Atari, IBM and Amiga became popular in the 1980s, vendors began adding features such as software scheduling and hardware maintenance.

An operating system can be divided into many different parts. One of the most important parts is the kernel, which controls low-level processes that the average user usually cannot see: it controls how memory is read and written, the order in which processes are executed, how information is received and sent by devices like the monitor, keyboard and mouse, and deciding how to interpret information received by networks. The user interface is the part of the operating system that interacts with the computer user directly, allowing them to control and use programs. The user interface may be graphical with icons and a desktop, or textual, with a command line. Another similar feature is an Application programming interface, which is a set of services and code libraries that let applications interact with one another, as well as the operating system itself. Depending on the operating system, many of these components may not be considered an actual part. For example, Windows considers its user interface to be part of the operating system, while many versions of Linux do not.

Gestalt

Die Gestalt is a German word for form or shape. It is used in English to refer to a concept of 'wholeness' (see wiktionary entry here). Gestalt may also refer to:


Storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording media that retain digital data used for computing for some interval of time. Computer data storage provides one of the core functions of the modern computer, that of information retention. It is one of the fundamental components of all modern computers, and coupled with a central processing unit (CPU, a processor), implements the basic computer model used since the 1940s.

In contemporary usage, memory usually refers to a form of semiconductor storage known as random-access memory (RAM) and sometimes other forms of fast but temporary storage. Similarly, storage today more commonly refers to mass storageoptical discs, forms of magnetic storage like hard disk drives, and other types slower than RAM, but of a more permanent nature. Historically, memory and storage were respectively called main memory and secondary storage. The terms internal memory and external memory are also used.
The contemporary distinctions are helpful, because they are also fundamental to the architecture of computers in general. The distinctions also reflect an important and significant technical difference between memory and mass storage devices, which has been blurred by the historical usage of the term storage. Nevertheless, this article uses the traditional nomenclature.





a)Primary Storage

Primary storage (or main memory or internal memory), often referred to simply as memory, is the only one directly accessible to the CPU. The CPU continuously reads instructions stored there and executes them as required. Any data actively operated on is also stored there in uniform manner.

Historically, early computers used delay lines, Williams tubes, or rotating magnetic drums as primary storage. By 1954, those unreliable methods were mostly replaced by magnetic core memory, which was still rather cumbersome. Undoubtedly, a revolution was started with the invention of a transistor, that soon enabled then-unbelievable miniaturization of electronic memory via solid-state silicon chip technology.


This led to a modern random-access memory (RAM). It is small-sized, light, but quite expensive at the same time. (The particular types of RAM used for primary storage are also volatile, i.e. they lose the information when not powered).


As shown in the diagram, traditionally there are two more sub-layers of the primary storage, besides main large-capacity RAM:



  • Processor registers are located inside the processor. Each register typically holds a word of data (often 32 or 64 bits). CPU instructions instruct the arithmetic and logic unit to perform various calculations or other operations on this data (or with the help of it). Registers are technically among the fastest of all forms of computer data storage.

  • Processor cache is an intermediate stage between ultra-fast registers and much slower main memory. It's introduced solely to increase performance of the computer. Most actively used information in the main memory is just duplicated in the cache memory, which is faster, but of much lesser capacity. On the other hand it is much slower, but much larger than processor registers. Multi-level hierarchical cache setup is also commonly used—primary cache being smallest, fastest and located inside the processor; secondary cache being somewhat larger and slower.

Main memory is directly or indirectly connected to the central processing unit via a memory bus. It is actually two buses (not on the diagram): an address bus and a data bus. The CPU firstly sends a number through an address bus, a number called memory address, that indicates the desired location of data. Then it reads or writes the data itself using the data bus. Additionally, a memory management unit (MMU) is a small device between CPU and RAM recalculating the actual memory address, for example to provide an abstraction of virtual memory or other tasks.

As the RAM types used for primary storage are volatile (cleared at start up), a computer containing only such storage would not have a source to read instructions from, in order to start the computer. Hence, non-volatile primary storage containing a small startup program (BIOS) is used to bootstrap the computer, that is, to read a larger program from non-volatile secondary storage to RAM and start to execute it. A non-volatile technology used for this purpose is called ROM, for read-only memory (the terminology may be somewhat confusing as most ROM types are also capable of random access).

Many types of "ROM" are not literally read only, as updates are possible; however it is slow and memory must be erased in large portions before it can be re-written. Some embedded systems run programs directly from ROM (or similar), because such programs are rarely changed. Standard computers do not store non-rudimentary programs in ROM, rather use large capacities of secondary storage, which is non-volatile as well, and not as costly.


b)Secondary Storage


Secondary storage (or external memory) differs from primary storage in that it is not directly accessible by the CPU. The computer usually uses its input/output channels to access secondary storage and transfers the desired data using intermediate area in primary storage. Secondary storage does not lose the data when the device is powered down—it is non-volatile. Per unit, it is typically also two orders of magnitude less expensive than primary storage. Consequently, modern computer systems typically have two orders of magnitude more secondary storage than primary storage and data is kept for a longer time there.


In modern computers, hard disk drives are usually used as secondary storage. The time taken to access a given byte of information stored on a hard disk is typically a few thousandths of a second, or milliseconds. By contrast, the time taken to access a given byte of information stored in random access memory is measured in billionths of a second, or nanoseconds. This illustrates the very significant access-time difference which distinguishes solid-state memory from rotating magnetic storage devices: hard disks are typically about a million times slower than memory. Rotating optical storage devices, such as CD and DVD drives, have even longer access times. With disk drives, once the disk read/write head reaches the proper placement and the data of interest rotates under it, subsequent data on the track are very fast to access. As a result, in order to hide the initial seek time and rotational latency, data are transferred to and from disks in large contiguous blocks.


When data reside on disk, block access to hide latency offers a ray of hope in designing efficient external memory algorithms. Sequential or block access on disks is orders of magnitude faster than random access, and many sophisticated paradigms have been developed to design efficient algorithms based upon sequential and block access . Another way to reduce the I/O bottleneck is to use multiple disks in parallel in order to increase the bandwidth between primary and secondary memory.[2]


Some other examples of secondary storage technologies are: flash memory (e.g. USB flash drives or keys), floppy disks, magnetic tape, paper tape, punched cards, standalone RAM disks, and Iomega Zip drives.


The secondary storage is often formatted according to a file system format, which provides the abstraction necessary to organize data into files and directories, providing also additional information (called metadata) describing the owner of a certain file, the access time, the access permissions, and other information.


Most computer operating systems use the concept of virtual memory, allowing utilization of more primary storage capacity than is physically available in the system. As the primary memory fills up, the system moves the least-used chunks (pages) to secondary storage devices (to a swap file or page file), retrieving them later when they are needed. As more of these retrievals from slower secondary storage are necessary, the more the overall system performance is degraded.