This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Imagine going to a music concert, only to see the musicians sit quietly and do nothing. Thats how a computer will be without an operating system or OS, It would simply turn on and do nothing useful. It is the first program to load into memory when the computer is turned on and, in a sense, brings life to the computer hardware. Operating system allows us to communicate with the hardware without knowing the machine language. It performs basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers. Every general-purpose computer must have an operating system to manage its hardware resources and to run other programs on it. It acts as an intermediary between programs and computer hardware. Operating systems provide a software platform on top of which other programs, called "application programs" can run. Application programs like MS Word, Excel, Web browsers and other softwares require an operating system to function. It's a vital component of system software.
The application programs make use of the operating system by making requests for services through a defined application programming interface (API). In addition, users can interact directly with the operating system through a user interface such as a command line or a graphical user interface (GUI).
A GUI is a way for humans to interact with computers using windows, icons and menus which can be manipulated by a mouse (and often to a limited extent by a keyboard as well). For instance, Linux based systems majorly use a command line interface to interect with the user and system applications. But, most software vendors develop programs with a graphical user interface. The major advantage of GUIs is that they make computer operation more intuitive, and thus easier to learn and use. Adding to this intuitiveness of operation is the fact that GUIs generally provide users with immediate, visual feedback of each command or action carried out by the user. It also allows users to take full advantage of the multi-tasking features of a modern-day operating system.
An operating system performs these services for application programs:
In a multitasking operating system where multiple programs can be running at the same time, the operating system determines which applications should run in what order and how much time should be allowed for each application before giving another application a turn.
It manages the sharing of internal memory (RAM) among multiple applications.
It handles input and output to and from attached devices, such as hard disks, printers, dial up ports, routers, cell phones and other digital devices.
It sends messages to each application or interactive user (or to a system operator) about the status of operation and any errors that may have occurred.
It can offload the management of what are called batch jobs (for example, printing) so that the initiating application is freed from this work.
On computers that can provide parallel processing, an operating system can determine and divide the resource requirement of a program so that it runs on more than one processor at a time. It allows different parts of a single program to run concurrently in a multi-threading environment.
Apart from user interface and resource allocation, an operating system also provides services like Information and Storage Management, Network Management, Device Management, I/O Management, Error Detection, and Security of installed programs and user data. It's the job of an OS to keep the application programs and itself updated with periodic updates.
One of the important tasks of an Operating system is "Error Detection". The OS constantly needs to be aware of possible errors or misconfigurations in its environment. Errors may be in CPU, memory hardware, I/O devices or in the user programs. For each type of error, the OS should take appropriate action to ensure correct and consistent computing. It also needs to keep track of all critical errors and report them to the user so the user could take necessary steps to resolve and prevent such errors in future.
Although OS has its advantages, there are many devices which do not use operating system. For example, the computer that controls the microwave oven in your kitchen, doesn't need an operating system. It has one set of tasks to perform, very straightforward input to expect (a numbered keypad and a few pre-set buttons) and simple, never-changing hardware to control. For a computer like this, an operating system would be unnecessary baggage, driving up the development and manufacturing costs significantly and adding complexity where none is required. Instead, the computer in a microwave oven simply runs a single hard-wired program all the time.
Apart from that, computers nowadays can also be shipped with DOS. It stands for "Disk Operating System", It is one of the first operating systems made for personal computers. DOS is a fully command-line interface OS. It can perform very limited and basic tasks. Computers which are shipped with this os are generally meant eleminating modern OS costs like Windows 8, and providing the freedom of installing any os as per user needs.
A wide range of operating systems is available these days, one can choose the best suited as per their needs. The most popular ones being, Windows XP, Windows 7, Red Hat Linux, Solaris and Mac OS. Out of these Windows XP, Windwos 7 and Mac OS are Desktop operating systems. These are generally installed on client computers, while Linux, Solaris and other Unix based operating systems are installed on servers. Such as a web server, file server or an email exchange server. Windows servers are also available for deployments in server environments. The most current one is Windows Server 2012 developed by Microsoft.
An operating system defines the rules of standardization for development of applications. Any application developed by a programmer for a given family of OS can run on different machines with same processor family. This not only makes the lives of developers less miserable but the production time also becomes shorter. This is the most important advantage of an operating system.
Information and Storage Management through Filesystems
A File System is an integral part of operating system. It is the way in which files are named and where they are placed logically for storage and retrieval. It is responsible for organizing files and directories, and keeping track of which areas of the media belong to which file and which are not being used. This results in efficient and easy retrieval of data from nonvolatile storage devices. These devices may include hard drives, DVDs, flash drives or other physical media. Mostly file systems make use of an underlying data storage device that offers access to an array of fixed-size blocks called "Sectors", generally of 512 bytes each. DOS, Windows, OS/2, Macintosh, and UNIX-based operating systems all have file systems in which files are placed somewhere in a hierarchical (tree) structure. A file is placed in a directory (folder in Windows) or subdirectory at the desired place in the tree structure. File systems specify conventions for naming files. These conventions include the maximum number of characters in a name, which characters can be used, and in some systems, how long the file name suffix can be. A file system also includes a format for specifying the path to a file through the structure of directories.
Types of File Systems:
1. Disk File Systems - It is a file system designed for the storage of files on a data storage device, most commonly a disk drive, which might be connected to the computer internally or externally.
Some popular examples are : FAT, FAT32, NTFS - these are used in Windows operating systems.
Another file system, called HFS Plus or HFS+ is a file system developed by Apple Inc. to replace their Hierarchical File System (HFS) as the primary file system used in Macintosh computers (or other systems running Mac OS). It is also one of the formats used by the iPod digital music players, etc. It is also referred to as "Mac OS Extended" or "HFS Extended" file system.
2. Flash File Systems - It is a file system designed for storing files on flash memory devices. These are becoming more prevalent as the number of mobile devices is increasing, the cost per memory size decreases, and the capacity of flash memories increases.
Example: JFFS/JFFS2/YAFFS/LogFS - these are linux flash-specific file systems. Another file system currently being developed by ScanDisk is ExtremeFFS. This newer technology improves random access speed in Solid-state drives by a factor of 100.
3. Database File Systems - It is a new concept of file management in which Instead of hierarchical structured management, files are identified by their characteristics, like type of file, topic, author or similar metadata.
4. Network File System - It is a distributed file system which allows a user on a client computer to access files over a network in a manner similar to how local storage is accessed.
Example: NFS, FTP, etc.
5. Transactional File Systems - This a special kind of file system which logs events or transactions to files. Each operation that you do may involve changes to a number of different files and disk structures. It is important that they all be executed at the same time. For example, file system used in bank's that sends money to other bank electronically. This type of file system are synchronized and are fault tolerant nad having a high degree of overhead.
6. Special Purpose File System - This type of file system includes systems where the files are arranged dynamically by software. These are most commonly used by file-centric OS's such as UNIX.
File system provides a means for Disk Space management and efficient organiszation of stored data through indexed file allocation methods. File systems typically have directories (also called folders) which allow the user to group files into separate collections. This may be implemented by associating the file name with an index in a table of contents or an inode in a Unix-like file system. Directory structures may be flat (linear), or allow hierarchies where directories may contain subdirectories.
Directory Structures : It is a way in which stored files and folders are displayed to the user. Typically the files are displayed in Hierarchical tree structure. File names and extensions (eg. Jpg, doc, txt) are also allocated to the files so that it could identify which file type to be executed using which application software. The file may have attributes (name, creator, date, type, permissions), the Operating System understands and interprets file these file types. Different operating systems use different approach for displaying and managing files and directories on a computer.
Directory structure in Unix-like operating systems :
Several attempts exist to standardize the Unix filesystem layout, such as the "Filesystem Hierarchy Standard" however, it is targeted primarily at Linux. Also as part of the "Linux Standards Base", a common filesystem layout is defined to encourage interoperability among different Linux distributions.
Classification of directories:
Directory Typical Contents
/ The "root" directory
/bin Essential low-level system utilities
/usr/bin Higher level system
/bin and /sbin Hold system binaries. These are different
from the program in /usr/bin in that they
are designed as the basic program to run the
/etc hold system-wide configuration files.
/var hold log file, cache, and spool directories
/tmp is meant for temporary storage by users.
/home Home directory of a particular user.
This type of directory listing can be found on "Backtrack", it's a GNU/Linux based operating system.
Common Windows directory structure :
$Recycle.Bin - Recycle folder (hidden)
Documents and Settings - Contains user documents (windows xp)
PerfLogs - created by Windows Performance Information and tools
Program Data - contains configurations stored by programs
Program Files - Default installation path for application programs
Program Files (x86) - Program files for x86 (32 bit) programs on a x64 Windows
Recovery - contains System image for recovery purposes (hidden)
System Volume Information - Part of system restore (hidden)
Users - User folders (since Windows Vista)
Windows - contains windows core files and drivers
(source : personal computer)
This type of directory listing is found on Windows operating systems, above image is of Windows 7.
Following resources were used in this report for technical information