Operating system
The Television & Movie Wiki: for TV, celebrities, and movies.
In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. Additionally, it provides a foundation upon which to run application software such as word processing programs, web browsers and others.
Network operating system and firmware are other types of operating systems.
Contents |
Introduction
- See also: History of operating systems
Early computers lacked operating systems. A human operator would manually load and run programs. When programs were developed to load and run other programs, it was natural to draw their name from the human job they replaced.
Most current usage of the term "operating system" today, by both popular and professional sources, refers to all the software that is required in order for the user to manage the system and to run third-party application software for that system. That is, the common understanding includes not only the low-level "kernel" that interacts directly with the hardware, but also libraries required by applications as well as basic programs to manipulate files and configure the system.
The exact delineation between the operating system and application software is not precise, however, and is occasionally subject to controversy. For example, one of the key questions in the United States v. Microsoft antitrust trial was whether Microsoft's Internet Explorer web browser was part of its Windows operating system or if it was a separable piece of application software. As another example, the GNU/Linux naming controversy is, in part, due to disagreement about the relationship between the Linux kernel and the Linux operating system.
The lowest level of any operating system is its kernel, the first layer of software loaded into computer memory when it starts up. As the first software layer, all other software that gets loaded after it depends on this software to provide them with various common core services. These common core services include, but are not limited to: disk access, memory management, task scheduling, and access to other hardware devices. Like the term "operating system" itself, the question of what exactly should form the "kernel" is subject to some controversy—with various camps advocating "microkernels", "monolithic kernels", and so on—with debates over whether things like file systems should be included in the kernel.
System Calls
System calls are operations/services that are requested by applications from the operating system. As noted on the System Call page, "System calls often use a special machine code instruction which causes the processor to change mode (e.g. to "supervisor mode" or "protected mode")."
Common core services
As operating systems evolve, ever more services are expected to be common core. Since the 1990s, OS's have often been required to provide network and Internet connectivity. They may be required to protect the computer's other software from damage by malicious programs, such as viruses. The list of common core services is ever expanding.
Programs communicate with each other through application programming interfaces, similar to how humans interact with programs through user interfaces. This is especially true between application programs and the OS. The OS's common core services are accessed by application programs through the OS's APIs. Thus an OS enables the communication between hardware and software. CPU scheduling is also a main function of the operating system.
See also: POSIX
Today's operating systems
Firstly, there is a distinction between console OS's, using only the keyboard for input, such as DOS, and the modern visual OS's, focusing on the mouse and using a GUI (sometimes implemented as a shell around the former). Secondly, which OS can be used often depends on the hardware architecture, most specifically the CPU that is used, with only Linux and BSD running on almost any architecture. In the past there have been many types of OS's, but starting in the 1990's the choice for personal computers has come to be largely restricted to the Microsoft Windows family and the Unix-like family, of which Linux is becoming the major representative. Mainframe computers and embedded systems use a variety of different operating systems, many with no direct connection to Windows or Unix, but mostly closer to Unix than Windows.
- Personal computers
- IBM PC compatible - smaller Unix-variants, like Linux and BSD, and Microsoft Windows
- Apple Macintosh - Mac OS X, Linux and BSD
- Mainframes - Unix variants, Microsoft Windows and a score of other OS's, mostly related to Unix
- Embedded systems - a variety of dedicated OS's, and limited versions of Linux or other OS's
Unix-like systems
Image:Tux.png The Unix-like family is a diverse group of operating systems, with several major sub-categories including System V, BSD, and Linux. The name "Unix" is a trademark of The Open Group which licenses it for use to any operating system that has been shown to conform to the definitions that they have cooperatively developed. The name is commonly used to refer to the large set of operating systems which resemble the original Unix.
Unix systems run on a wide variety of machine architectures. They are used heavily as server systems in business, as well as workstations in academic and engineering environments. Free software Unix variants, such as Linux and BSD, are increasingly popular. They have made inroads on the desktop market as well, particularly with "user-friendly" Linux distributions such as Ubuntu Linux.
Some proprietary Unix variants like HP's HP-UX and IBM's AIX are designed to run only on that vendor's proprietary hardware. Others, such as Solaris, can run on both proprietary hardware and on commodity x86 PCs. Apple's Mac OS X, a BSD variant derived from NeXTSTEP and FreeBSD, has replaced Apple's earlier (non-Unix) Mac OS in a small but dedicated market, in the process becoming the most popular proprietary Unix system.
Over the past several years, free Unix systems have supplanted proprietary ones in many markets. For instance, scientific modeling and computer animation were once the province of SGI's IRIX. Today, they are dominated by Linux-based clusters.
Microsoft Windows
Image:Windows XP logo.png The Microsoft Windows family of operating systems originated as a graphical layer on top of the older MS-DOS environment for the IBM PC. Modern versions are based on the newer Windows NT core that first took shape in OS/2. Windows runs on 32- and 64-bit Intel and AMD computers, although earlier versions also ran on the DEC Alpha, MIPS and PowerPC architectures (and there was work in progress to make it work also on the SPARC architecture).
Today, Windows is a popular desktop operating system, enjoying a near-monopoly of around 90% of the worldwide desktop market share. It is also widely used on low-end and mid-range servers, supporting applications such as web servers and database servers. In recent years, Microsoft has spent significant marketing and R&D money to demonstrate that Windows is capable of running any enterprise application (see the TPC article).
Other operating systems
Mainframe operating systems, such as IBM's z/OS, and embedded operating systems such as QNX, eCos, and PalmOS, are usually unrelated to Unix and Windows, except Windows CE, Windows NT Embedded 4.0 and Windows XP Embedded which are related to Windows and several *BSDs and Linux distributions tailored for the requirements of an embedded system.
Older operating systems which are still used in niche markets include the Windows-like OS/2 from IBM; VMS from Hewlett-Packard (formerly DEC); Mac OS, the non-Unix precursor to Apple's Mac OS X; RISC OS, which is specifically designed to run on ARM processor architectures; and AmigaOS, the first graphical user interface (GUI) based operating system with advanced multimedia capabilities available to the general public.
Research and development of new kinds of operating systems is an active subfield of computer science. Microsoft Singularity is a research project to develop an operating system with better memory protection.
Examples of operating systems
- Mac OS
- Microsoft Windows
- Unix (including BSD and its derivatives, and "unix-like" OSes such as Linux and GNU)
- yellowTAB Zeta, based on BeOS
- DOS (and its fore-runner CP/M)
For more examples, see the list of operating systems.
Classifications and terminology
An operating system is conceptually broken into three sets of components: a user interface (which may consist of a GUI and/or a command line interpreter or "shell"), low-level system utilities, and a kernel--which is the heart of the operating system. As the name implies, the shell is an outer wrapper to the kernel, which in turn talks directly to the hardware.
Hardware <-> Kernel <-> Shell <-> Applications
| |
+----------+
1 2 3
In some operating systems the shell and the kernel are completely separate entities, allowing you to run varying combinations of shell and kernel (e.g. UNIX), in others their separation is only conceptual.
Kernel design ideologies include those of the monolithic kernel, microkernel, hybrid kernel(modified micro kernel) and exokernel. Many of the major commercial systems such as UNIX, Windows (dos based), and Linux use a monolithic approach, some systems use a microkernel (such as in AmigaOS, QNX, and BeOS) and others like Apple's Mac OS X and Microsoft Windows NT line use the hybrid approach. The microkernel approach is also very popular among research operating systems. Both approaches have produced successful systems and have their advantages. Many embedded systems use ad hoc exokernels.
See also
General topics
- Operating systems category
- History of operating systems
- List of operating systems
- Comparison of operating systems
- Operating systems timeline
- Important publications in operating systems
Other topics
- Monolithic Kernel – Microkernel – Exokernel – Virtual machine – System call
- Asymmetric and Symmetric Multiprocessing (SMP) – Clustering – Distributed computing
- Real-time operating system – Time-sharing – Multitasking – Embedded system – Single-user – Multi-user
- Orthogonally persistent capabilities versus access control lists
- Object-oriented operating system
- Disk operating systems
- Hard disk drive partitioning
- LiveCD OS (Gnoppix and Knoppix Linux).
- Operating system advocacy
- OS-tan (Personification of operating systems)
- Open Colinux - Running Linux inside Windows
External links
- World-Os.com a website dedicated the operating system
- Operating systems at dmoz.org
- Operating systems at TUNES - wiki with reviews of operating systems
- Multics History and the history of operating systems
- operating system at elook.org - explains what an operating system is and provides various examples
- The "Write Your Own Operating System" OS Developer FAQ
- How OSs Work
- Operating System Programming - tutorials and source code
- Operating Systems Technical Comparison
- OSDEV Community - Amateur OS Development
- BonaFide OS Development - resource for operating system developers
- OS History - Historic timeline of Non-Unix OS Developments
- Humor: If OS's Were Airlinesar:نظام تشغيل
ast:Sistema operativu bg:Операционна система zh-min-nan:Chok-gia̍p hē-thóng be:Апэрацыйная сыстэма ca:Sistema operatiu cs:Operační systém da:Styresystem de:Betriebssystem et:Operatsioonisüsteem als:Betriebssystem es:Sistema operativo eo:Operaciumo fa:سیستم عامل fr:Système d'exploitation ga:Córas oibriúcháin gl:Sistema operativo ko:운영 체제 hr:Operacijski sustav id:Sistem Operasi ia:Systema de operation is:Stýrikerfi it:Sistema operativo he:מערכת הפעלה csb:Òperacjowô systema ku:Sîstema şixulandinê lv:Operacionālā sistēma lt:Operacinė sistema hu:Operációs rendszer mk:Оперативен систем mg:Mpandrindra milina ml:ഓപറേറ്റിങ്ങ് സിസ്റ്റം ms:Sistem pengoperasian nl:Besturingssysteem nds:Bedriefssysteem ja:オペレーティングシステム no:Operativsystem nn:Operativsystem pl:System operacyjny pt:Sistema operativo ro:Sistem de operare ru:Операционная система simple:Operating system sk:Operačný systém sl:Operacijski sistem fi:Käyttöjärjestelmä sv:Operativsystem tl:Operating system ta:இயங்கு தளம் th:ระบบปฏิบัติการ vi:Hệ điều hành tr:İşletim sistemi uk:Операційна система zh:操作系统
