Home About us Products Services Contact us Bookmark
:: wikimiki.org ::
Context Menu

Context menu

.]] The term context menu is commonly used for menus which pop up when clicking an item in a graphical user interface, offering a list of options which vary depending on the context of the action, the application running, and the item selected. These menus are typically invoked with a secondary mouse button (usually the right-hand button) on a computer running an operating system such as Microsoft Windows, Mac OS X or Unix running the X Window System. Computers with a single-button mouse may use a keyboard-click combination, as with a Control-click in the Macintosh OS. PC keyboards with Microsoft Windows keys also have an additional menu key that opens context menus in Microsoft Windows applications. Context menus first appeared in the Smalltalk environment on the Xerox Alto computer, where they were called pop-up menus. The NEXTSTEP operating system further developed the idea, incorporating a feature whereby the right or middle mouse button brought the main menu (which was vertical and automatically changed depending on context) to the location of the mouse, thereby eliminating the need to move the mouse pointer all the way across the large (for the time) NextStep screen. Context menus are sometimes hierarchically organized, allowing navigation through different levels of the menu structure. The implementations differ: Microsoft Word was one of the first applications to only show sub-entries of some menu entries after clicking an arrow icon on the context menu, otherwise executing an action associated with the parent entry. This makes it possible to quickly repeat an action with the parameters of the previous execution, and to better separate options from actions. Context menus have received some criticism from usability analysts when improperly used, as some applications make certain features only available in context menus, which may confuse even experienced users (especially when the context menus can only be activated in a limited area of the application's client window). In some applications, like newer versions of Microsoft Office, some of the "infrequent" items in the context menu are hidden by default. This is subject to criticism as users have to expand the menu before accessing items which are classified as infrequent items (which in fact are not as infrequent as assumed).

See also


- Pie menu Category:Graphical user interface

Graphical user interface

A graphical user interface (or GUI, sometimes pronounced "gooey") is a method of interacting with a computer through a metaphor of direct manipulation of graphical images and widgets in addition to text. GUIs display visual elements such as icons, windows, and other gadgets. The precursor to GUIs was invented by researchers at the Stanford Research Institute (led by Doug Engelbart) with the development and use of text-based hyperlinks manipulated with a mouse for the On-Line System. The concept of hyperlinks was further refined and extended to graphics by researchers at Xerox PARC, who went beyond text-based hyperlinks and used GUIs as the primary interface for the Xerox Alto computer. Most modern general-purpose GUIs are derived from this system. For this reason some people call this class of interface a PARC User Interface (PUI) (note that PUI is also an acronym for perceptual user interface). The PUI consists of graphical widgets (often provided by widget toolkit libraries) such as windows, menus, radio buttons, check boxes, and icons, and employs a pointing device (such as a mouse, trackball, or touchscreen) in addition to a keyboard. Those aspects of PUIs can be emphasized by using the alternative acronym WIMP, which stands for Windows, Icons, Menus, and Pointing device. The GUI familiar to most of us today in either the Mac or the Windows operating systems and their applications originated at the Xerox Palo Alto Research Laboratory in the late 1970s. Apple used it in their first Macintosh computers. Later, Microsoft copied Apple's ideas in their first version of the Windows operating system for IBM-compatible PCs. Examples of systems that support GUIs are Mac OS, Microsoft Windows, NEXTSTEP and the X Window System. The latter is extended with toolkits such as Motif (CDE), Qt (KDE) and GTK+ (GNOME). GNOME] GNOME GNOME

Types of GUIs

GUIs that are not PUIs are most notably found in computer games, and advanced GUIs based on virtual reality are now frequently found in research. Many research groups in North America and Europe are currently working on the Zooming User Interface or ZUI, which is a logical advancement on the GUI, blending some 3D movement with 2D or "2 and a half D" vectorial objects. Some GUIs are designed for the rigorous requirements of vertical markets. These are known as "application specific GUIs." One example of such an application specific GUI is the now familiar touchscreen point of sale software found in restaurants worldwide and being introduced into self-service retail checkouts. First pioneered by Gene Mosher on the Atari ST computer in 1986, the application specific touchscreen GUI has spearheaded a worldwide revolution in the use of computers throughout the food & beverage industry and in general retail. Other examples of application specific touchscreen GUIs include the most recent automatic teller machines, airline self-ticketing, information kiosks and the monitor/control screens in embedded industrial applications which employ a real time operating system (RTOS). The latest cell phones and handheld game systems also employ application specific touchscreen GUI.

GUI vs. CLI

GUIs were introduced in reaction to the steep learning curve of Command Line Interfaces (CLI), text-based user interfaces requiring commands to be typed on the keyboard. Since the command words in CLIs are usually numerous and composable, very complicated operations can be invoked using a relatively short sequence of words and symbols. This leads to high levels of efficiency once the many commands are learned, but reaching this level can take a while because the command words aren't easily discoverable. WIMPs, on the other hand, present the user with numerous widgets that represent and can trigger some of the system's available commands. Most modern operating systems provide both a GUI and a CLI, although the GUIs usually receive more attention. The GUI is usually WIMP based, although occasionally other metaphors surface, such as Microsoft Bob, 3dwm or (partially) FSV. Applications may also provide both interfaces, and when they do the GUI is usually a WIMP wrapper around the CLI version. The latter used to be implemented first because it allowed the developers to focus exclusively on their product's functionality without bothering about interface details such as designing icons and placing buttons. Nowadays, the GUI is no longer an optional part of a successful application because users have grown acustomed to the ease of use provided by their familiar GUIs.

Outlook

Research has brought back evidence that users who use application software for scripting and editing find it easier and more effective to make good use of GUIs (Graphical User Interfaces) rather than Command Lines. Also, academic and research institutions often work on prototypes of future user interfaces that place an equal or greater emphasis on the tactile elements of the interface. The "direct manipulation interface" term is usually not presented as an acronym.

See also


- Fitts' law
- Anti-Mac
- Apple v. Microsoft
- User interface engineering
- Software engineering
- List of software engineering topics
- Human-Machine Interface
- ergonomics
- GUI Testing
- Inductive reasoning aptitude

External links


- [http://www.guidebookgallery.org/ Marcin Wichary’s GUIdebook], Graphical User Interface gallery: over 5500 screenshots of UI, application, and icon history
- [http://www.sitepoint.com/article/real-history-gui The Real History of the GUI], a very interesting article by Mike Tuck
- [http://arstechnica.com/articles/paedia/gui.ars A History of the GUI], by Jeremy Reimer of Ars Technica
- [http://linux.oneandoneis2.org/LNW.htm Linux is Not Windows] points out the important design differences which lead to WIMP and CLI (but lacks impartiality) Category:Human-computer interaction Category:Software architecture ko:GUI ja:グラフィカルユーザインターフェース

Operating system

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.

Introduction

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

Embedded system.]] 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

IRIX 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 KernelMicrokernelExokernelVirtual machineSystem call
- Asymmetric and Symmetric Multiprocessing (SMP) – ClusteringDistributed computing
- Real-time operating systemTime-sharingMultitaskingEmbedded systemSingle-userMulti-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)
- [http://opensource.eu.com/colinux Open Colinux - Running Linux inside Windows]

External links


- [http://www.world-os.com World-Os.com a website dedicated the operating system]
- [http://dmoz.org/Computers/Software/Operating_Systems/ Operating systems at dmoz.org]
- [http://cliki.tunes.org/Operating%20Systems Operating systems at TUNES] - wiki with reviews of operating systems
- [http://www.cbi.umn.edu/iterations/haigh.html Multics History] and the history of operating systems
- [http://www.elook.org/computing/operating-system.htm operating system at elook.org] - explains what an operating system is and provides various examples
- [http://mega-tokyo.com/osfaq2/ The "Write Your Own Operating System" OS Developer FAQ]
- [http://computer.howstuffworks.com/operating-system.htm How OSs Work]
- [http://www.groovyweb.uklinux.net/index.php?page_name=Operating%20system%20programming Operating System Programming] - tutorials and source code
- [http://www.osdata.com Operating Systems Technical Comparison]
- [http://www.osdcom.info/ OSDEV Community] - Amateur OS Development
- [http://www.osdever.net/ BonaFide OS Development] - resource for operating system developers
- [http://www.oshistory.net/ OS History] - Historic timeline of Non-Unix OS Developments
- Humor: [http://www.webaugur.com/bibliotheca/field_stock/os-airlines.html If OS's Were Airlines] zh-min-nan:Chok-gia̍p hē-thóng als:Betriebssystem ko:운영 체제 ms:Sistem pengoperasian ja:オペレーティングシステム simple:Operating system th:ระบบปฏิบัติการ

Microsoft Windows

Microsoft Windows refers to a series of operating environments and operating systems created by Microsoft for use on personal computers and servers.

Background

Microsoft first introducted an operating environment named Windows in 1985, as an add-on to MS-DOS. This was in response to Apple Computer's then-new computer system, the Apple Macintosh, which used a graphical user interface (GUI). Microsoft Windows eventually came to dominate the world personal computer market with market analysts like IDC estimating that Windows has around 90% of the client operating system market. [http://www.linuxworld.com.au/index.php/id;940707233;fp;2;fpid;1] All recent versions of Windows are fully-fledged operating systems. Windows is proprietary closed source software: Microsoft Corporation owns the software's copyright and controls its distribution. Windows was developed for IBM PC-compatible computers (these were based on Intel x86 architecture), and today, almost all versions of Windows are made for this hardware-platform (although Windows NT was written as a cross-platform system for Intel and MIPS processors, and later appeared on the PowerPC and DEC Alpha architectures). The popularity of Windows made Intel CPUs more popular and vice versa. In fact, the term Wintel became used to describe PC-compatible computers running a version of Windows.

Microsoft Windows versions

The term Windows is used as a collective term for several generations of operating system products which can be classified into the following categories: ; 16-bit operating environments : The early versions of Windows were just graphical user interfaces or desktops, mostly because they used the underlying MS-DOS for file system services and all operating processes. Soon, 16-bit Windows versions would have their own executable file format and provide their own device drivers (graphics, printer, mouse, keyboard and sound). Unlike DOS, the Windows environment allowed all users to execute multiple graphical applications at the same time (cooperative multitasking). Finally, they implemented a software segment-based virtual memory scheme which allowed the GUI to run applications larger than available memory: code segments and resources are swapped in and thrown away when useless or memory becomes scarce and data segments move in memory when a given application has relinquished processor control. Examples include Windows 1.0 (1985) and Windows 2.0 (1987) and its close relative Windows/286. ; Hybrid 16/32-bit operating environments : Windows/386 introduced a 32-bit protected mode kernel and virtual machine monitor. For the duration of a Windows session, it provided a device virtualization for the disk controller, video card, keyboard, mouse, timer and interrupt controller. The user-visible consequence was that it became possible to preemptively multitask multiple MS-DOS environments in separate windows (graphical applications required switching the window to full screen mode). Windows applications were still multi-tasked cooperatively inside a real-mode environment. Windows 3.0 (1990) and Windows 3.1 (1992) perfected the design, notably thanks to virtual memory and loadable virtual device drivers (VxDs) which allowed them to share arbitrary devices between multitasked DOS windows. Most important, Windows applications could now run in 16-bit protected mode (when Windows was running in Standard or 386 Enhanced Mode), which gave them access to several megabytes of memory and removed the obligation to participate in the software virtual memory scheme. They still ran inside the same address space, where the segmented memory provided a degree of protection, and multi-tasked cooperatively. For Windows 3.0 Microsoft also rewrote critical operations from C into assembly, making this release faster and less memory-hungry than its predecessors. ; Hybrid 16/32-bit operating system : With the introduction of 32-Bit File Access in Windows for Workgroups 3.11, Windows could finally stop relying on DOS for file management. Leveraging this, Windows 95 introduced Long File Names, reducing the 8.3 DOS to the role of a boot loader. MS-DOS was now bundled with Windows; this notably made it (partially) aware of long file names when its utilities were run from within Windows, but angered the competition. The most important novelty was the possibility of running 32-bit multi-threaded preemptively multitasked graphical programs. There were three releases of Windows 95 (the first in 1995, then subsequent bug-fix versions in 1996 and 1997, only released to OEMs, which added extra features such as FAT32 support). Microsoft's next OS was Windows 98; there were two versions of this (the first in 1998 and the second, named "Windows 98 Second Edition", in 1999). In 2000, Microsoft released Windows Me (Me standing for Millennium Edition), which used the same core as Windows 98 but adopted the visual appearance of Windows 2000, as well as a new feature called System Restore, allowing the user to set the computer's settings back to an earlier date. It was not a very well received implementation, and many user problems occurred. ME was considered a stopgap to the day both product lines would be seamlessly merged. Microsoft left little time for Windows Me to become popular before announcing their next version of Windows which would be called XP. ; 32-bit operating systems : Originally designed and marketed for higher-reliability business use with no DOS heritage. The first release was Windows NT 3.1 (1993, numbered "3.1" to match the Windows version and to one-up OS/2 2.1, IBM's flagship OS codeveloped by Microsoft and Windows NT's main competitor at the time), which was followed by NT 3.5 (1994), NT 3.51 (1995), and NT 4.0 (1996); the latter implemented the Windows 95 user interface. Microsoft then moved to combine their consumer and business operating systems. Their first attempt, Windows 2000, failed to meet their goals, and was released as a business system. The home consumer edition of Windows 2000, codenamed "Windows Neptune", ceased development and Microsoft released Windows Me in its place. Eventually "Neptune" was merged into their new project, Whistler, which later became Windows XP. Since then, a new business system, Windows Server 2003, has expanded the top end of the range, and the forthcoming Windows Vista will complete it. Windows CE, Microsoft's offering in the mobile and embedded markets, is also a true 32-bit operating system. ; 64-bit operating systems : The newest category, are designed for AMD's AMD64 CPU architecture, Intel's Intel Architecture 64-bit, and EM64T. The 64-bit Windows family comprises Windows XP Itanium edition, Professional x64 Edition, and Windows Server 2003; Windows XP Professional and Server 2003 x64 editions were released on April 25, 2005. Itanium editions already came out in 2002. Early indications are that Windows Vista, the projected successor to Windows XP, will be released in both 32-bit and 64-bit versions. See also: List of Microsoft Windows versions.

Microsoft Windows history

The first independent version of Microsoft Windows, version 1.0, released in 1985, lacked a degree of functionality and achieved little popularity. Windows 1.0 did not provide a complete operating system; rather, it extended MS-DOS. Microsoft Windows version 2.0 was released in 1987 and was slightly more popular than its predecessor. Microsoft Windows version 3.0, released in 1990, was the first version to achieve broad commercial success. It featured improvements to the user interface and to multitasking capabilities. In 1995, Microsoft released Windows 95, which made further changes to the user interface. In 2001, Microsoft released Windows XP, a version that used the kernel from Microsoft Windows NT. With Windows XP, Microsoft merged the consumer-oriented Windows 3.1 line with the more commercially-oriented Windows NT line of products.

Interface

kernel The most obvious feature of the more recent Windows versions (since Windows 95 and NT 4.0) besides the window, is the desktop, which holds various icons, or graphical objects that the user can double-click to open. Windows has produced a significant change in the way people interact with computers; it is possible to perform most common tasks, some quite complex, with very little computer knowledge. Another quite significant feature of Windows since Windows 95 is the Start Button and Start Menu, which gives users access to installed programs and many of the other features of the operating system. It is attached to the taskbar (blue in the picture on the right). Windows XP introduced a new visual style dubbed "Luna", which updated the classic Windows style (a plain grey box look) with a more graphical appearance. The new style features bold colors and a larger titlebar and start button, which some people have labelled immature or childish. Users can still elect to use the old Windows 9x/2000 visual style. There is a view that modern operating systems need to cater to the vastly increased user base with a lower average computer skill level and the increased power and complexity of modern computer systems. However, some users accuse the Windows interface of isolating the user from too much of the inner workings of the computer, making it more difficult to control, configure and troubleshoot some system features. Windows also comes with features to help the disabled through its accessibility options. Under Windows XP, these features include the Narrator, Magnifier and contrast display mode. However, these are not suitable for everyone. Other customized builds of other operating systems may provide the needed features.

Popularity

Microsoft Windows is installed on the majority of personal computers. A July 2005 poll of Network Computing magazine readers found that 87% of their organisations used Microsoft's desktop operating systems. [http://www.networkcomputing.com/showitem.jhtml?articleID=165701950&pgno=8#2] It achieved enormous market penetration due to the domination of MS-DOS in the early days of PC compatible computers (IBM-PC clones). It is also the primary platform for Microsoft Office and many computer games. Microsoft's operating system has also benefited from not being tied to the success of one hardware manufacturer, and from Microsoft's willingness to license the operating system to manufacturers. For example, this is in contrast with Apple Computer, which does not license Mac OS X to other manufacturers, as well as Sun, which did not license Solaris before it was made free and open-source. In the past, companies who wanted to be in the computer business had to create their own operating system (such as the Amiga) or choose another OS; even an exclusive license with one vendor was significantly cheaper than developing and supporting a new operating system and software base. Due to Microsoft's exclusive licensing agreements with many computer vendors, Windows today comes pre-installed on most computers as a bundled OEM version, making it the default or only choice for much of the market. Most consumers do not delete Windows and install another operating system. For some consumers, Windows is the only valid option as their computing environment or is mandated by their workplace; additionally, the unfamiliarity with most other operating systems limits the desire to switch to other operating systems. Further, a growing part of the computer market lacks the technical knowledge needed to install an operating system. Finally, the large software base of programs available for the Windows family of operating systems has become the single largest self-perpetuating reason for the popularity of Windows. In recent years, many companies have started up with the sole intention of releasing Windows software; the fact that there is already a large customer base in place is reason enough for such companies to only spend resources on Windows software development. In turn, the fact that many companies are supporting Windows exclusively is reason for many customers to choose Windows.

Security

OEM Security has been a major weakness of Windows for many years. Due to the widespread usage of Windows on desktops, many crackers (also known as Black Hat hackers) have targeted Windows rather than the lesser used operating systems such as Linux, Unix, Mac OS X, and FreeBSD. Additionally most modern operating systems were designed for security in a multi-user and/or networked environment and have a relatively small number of security issues. Windows was originally designed for ease-of-use on a single-user PC without a network connection, and did not have security features built in from the outset. Combined with occasionally flawed code (such as buffer overflows), Windows is a continous target of worms and virus writers. In June 2005, Bruce Schneier's Counterpane Internet Security reported that it had seen over 1,000 new viruses and worms in the previous six months. Microsoft publicly admitted their ongoing security problems shortly after the turn of the century and now claims to regard security as their number one priority. As a result, Service Pack 2 for Windows XP greatly increases the security. Microsoft releases security patches through its Windows Update service approximately once a month, although critical updates are made available at shorter intervals. In Windows 2000 and Windows XP, updates can be automatically downloaded and installed if the user selects to do so. A study conducted by Kevin Mitnick and marketing communications firm, Avantgarde, found that an unprotected and unpatched Windows XP system lasted only 4 minutes on the Internet before it was compromised. [http://www.avantgarde.com/ttln113004.html] The AOL/National Cyber Security Alliance Online Safety Study of October 2004 determined that 80% of Windows users were infected by at least one spyware/adware product. [http://www.staysafeonline.info/pdf/safety_study_v04.pdf] Much documentation is available describing how to increase the security of Microsoft Windows products. Typical suggestions include deploying Microsoft Windows behind a hardware or software firewall, running anti-virus and anti-spyware software, and installing patches as they become available through Windows Update.

Windows emulation software

Emulation allows the use of some Windows applications without using Microsoft Windows. These include:
- WINE – an almost complete free software / open source software implementation of the Windows API, allowing one to run some Windows applications on x86 Unix-based platforms, including Linux.
- Cedega (formerly known as WineX) – TransGaming Technologies' proprietary fork of WINE, which is designed specifically for running games written for Microsoft Windows under Linux.
- ReactOS – open source operating system, aimed to be compatible with Windows NT apps and drivers.
- Freedows and Alliance OS – a very ambitious project, and a subsequent spinoff, that tried to clone Windows but withered away.
- Project David – ambitious and controversial project to fully emulate Windows programs to run on other OSs.
- CrossOver Office – another WINE spin-off that allows Windows programs to run on other OSs.
- Captive NTFS – a software "wrapper" for fuller, more-compatible open-source implementations of the Windows NTFS file system.
- ndiswrapper – a driver wrapper designed to let Linux/IA32 use Windows drivers for wireless networking hardware.
- E/OS – a virtual machine emulation system that strives for making it possible to run any program designed for any operating system without the need to actually install any other operating system.

See also


- Architecture of Windows 2000
- Blue Screen of Death
- Comparison of operating systems
- Hardware
  - Hardware abstraction layer
  - KMixer
  - VGASAVE
  - Windows Driver Model
  - WinHEC
- History of Microsoft Windows
- List of operating systems
- Microsoft Anti-Virus for Windows
- Microsoft Visual Studio
- Volume Shadow Copy Service
- Windows Blackcomb – next generation server platform
- Windows Explorer
- Windows Genuine Advantage
- Windows Media
- Windows vs. Linux

External links

Official


- [http://www.microsoft.com/windows/default.mspx Microsoft's Official Windows Website]
- [http://www.windows.com Official Promotional Website (Windows.com)]
- [http://www.microsoft.com/windows/WinHistoryProGraphic.mspx Windows history time line from Microsoft]

Tips and documentation


- [http://www.pcnineoneone.com/howto/multiboot1.html How to run multiple versions of Windows on one PC]
- [http://www.tech-recipes.com/windows.html Tech-Recipes Windows Guide] - Listing of almost 500 Windows Tutorials
- [http://wiki.havenite.net/index.php?title=The_Windows_Documentation_Project The Windows Documentation Project (wiki)]
- [http://www.aeroxp.net "AeroXperience"] – Windows Vista Information and Customization
- [http://www.dwheeler.com/essays/securing-windows.html Securing Microsoft Windows (for Home and Small Business Users)]
- [http://wiki.dehumanizer.com/index.php/Windows_tips Windows tips] (security, stability, etc.) (wiki)
- [http://www.sarc.com/ Symantec Anti-Virus Research Center] – excellent informational security resource, and Symantec are makers of Norton Anti-Virus (3rd party software sold separately)
- [http://www.dotwhat.net/ dotwhat? - File Extension Listing] – a huge listing of file extensions and the programs that use them
- [http://www.bredel.homepage.t-online.de/Windows/Windows-English/windows-english.html Windows] – tips and tricks for Windows 98, ME, NT, 2000 and XP
- [http://markhobley.yi.org/windows/supportscript/index.html Windows Support Script]
- [http://markhobley.yi.org:8000/WinHome The Windows Wiki]

Reviews and evaluation


- [http://www.winsupersite.com/default.asp Paul Thurrott's SuperSite for Windows] – an exhaustive evaluation of Microsoft's products and technologies
- [http://www.avantgarde.com/xxxxttln.pdf "Time to Live on the Network"] – a security study by Kevin Mitnick and AvantGarde (PDF)
- [http://www.actsofvolition.com/archives/2001/december/windowsxprough Windows XP: rough around the edges] – an UI review of Windows XP
- [http://www.frankmahler.de/mshame/ Frank Mahler's Interface Hall Of Shame]
- [http://www.staysafeonline.info/pdf/safety_study_v04.pdf AOL/National Cyber Security Alliance Online Safety Study (October 2004)] (PDF)
- [http://www.pixelcentric.net/x-shame/ Interface Hall of Shame] – an analysis of user interfaces with a focus on Windows

Other


- [http://www.levenez.com/windows/ Windows history] – a Windows history time line graph by Éric Lévénez
- [http://www.aci.com.pl/mwichary/guidebook/interfaces/windows GUIdebook: Windows Gallery] – a website dedicated to preserving and showcasing graphical user interfaces
- [http://www.download.com/ Download.com] – application programs for download, for Windows operating systems
- [http://www.pcmag.com/article2/0,1895,1868435,00.asp Windows 20th Birthday] Category:Operating systems Category:Windowing systems Category:Microsoft Windows zh-min-nan:Microsoft Windows ko:마이크로소프트 윈도우즈 ms:Microsoft Windows ja:Microsoft Windows simple:Microsoft Windows th:ไมโครซอฟท์วินโดวส์

Mac OS X

Mac OS X is the operating system which is included with all shipping Apple Macintosh computers in the consumer and professional markets. Apple Computer also distributes the system as a separate software package for Apple-branded workstation-level computers. Mac OS X Server, although architecturally identical to its desktop counterpart, is designed to run on Apple's line of Macintosh servers. It includes workgroup management and administration software tools that provide simplified access to key network services, including a mail server, a Samba server, a directory server, and a domain name server.

History

Main article: Mac OS X history Despite its branding as simply "version 10" of the Mac OS, it has a history largely independent of the earlier Mac OS releases. It is based on the Mach kernel and the BSD implementation of Unix, which were incorporated into NEXTSTEP, the object-oriented operating system developed by Steve Jobs's NeXT company after he was forced from Apple in 1985. Meanwhile, Apple attempted to create a "next generation" operating system of its own (see Taligent and Copland), but with little success. Eventually, NeXT's OS—by then called OPENSTEP—was selected to form the basis for Apple's next OS, and the company purchased NeXT outright. Jobs was rehired, and later returned to the leadership of the company, shepherding the transformation of the programmer-friendly OPENSTEP into a system that would be welcomed by Apple's primary market of home users and creative professionals, as a project known as Rhapsody. After some missteps which threatened the loyalty of independent developers to Mac OS, and changes of strategy to ease the transition from Mac OS 9 to the new system, Rhapsody evolved into Mac OS X.

Description

Rhapsody Mac OS X is a radical departure from previous Macintosh operating systems, as its underlying code base is completely different from previous versions. Although the most significant architectural changes were under the surface, the Aqua graphical user interface was the most striking and visible new feature. The use of soft edges, translucent colors, and pinstripes (similar to the hardware of the first iMacs), brought more color and texture to the windows and controls on the Desktop than OS 9's "Platinum" appearance offered. Initially, this raised a great deal of controversy among users. Many older Macintosh users decried the interface as "toy-like" and lacking in professional polish, while others hailed the new interface as another revolutionary Apple innovation. The look was instantly recognizable, and even before the first version of Mac OS X was released, third-party developers started producing skins for customizable applications like Winamp that were designed to look similar to the Aqua interface. Apple has threatened legal action against people who make or distribute software which provides an interface which they claim is derived from their copyrighted design. The core of Mac OS X is an open source Unix-like operating system, built around the XNU kernel with standard Unix facilities available from the command line interface. Shortly before the release of Mac OS X, Apple released this core as Darwin. On top of this core, Apple designed and developed a number of proprietary closed source components including the Aqua user interface, and the Finder (the file management system). The combination of the user-friendly Aqua interface and the power of their open-source Darwin/BSD core have made Mac OS X the best-selling Unix-like environment to date by number of systems shipped.

Compatibility

Mac OS X retains compatibility with older Mac OS applications by providing an emulation environment called Classic, which allows users to run Mac OS 9 as a process within Mac OS X, so that most older applications run as they would under the older operating system. In addition, the Carbon APIs for Mac OS 9 and Mac OS X were created to permit code to be written to run natively on both systems. The OpenStep APIs are still available, but Apple now calls the technology Cocoa. (This heritage is visible in the Cocoa APIs, in which the class names mostly begin with "NS" for NEXTSTEP.) A fourth option for developers is to write applications in the Java platform, which Mac OS X has supported as a "first class citizen" — in practice this means that Java applications fit as neatly into the operating system as possible while still being "cross-platform", and that GUIs, while being written in Swing, look almost exactly like native Cocoa interfaces. Traditionally, Cocoa programs have been mostly written in Objective C, with Java as an alternative. However, on July 11, 2005, Apple announced that "features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface."[http://developer.apple.com/documentation/Cocoa/Conceptual/LanguageIntegration/index.html] Mac OS X can run many BSD or Linux software packages, as long as they have been compiled for the platform. Compiled binaries are normally distributed as Mac OS X packages, but some may require command-line configuration or compilation. Projects such as Fink and DarwinPorts provide precompiled or preformatted packages for many standard packages. Since version 10.3, Mac OS X has included X11.app, the company's version of the X11 graphical interface for Unix applications, as an optional component during installation. Apple's implementation is based on XFree86 4.3 and X11R6.6, with a window manager which mimics the Mac OS X look, closer integration with Mac OS X, and extensions to use the native Quartz rendering system and to accelerate OpenGL. Earlier versions of Mac OS X can run X11 applications using XDarwin. For the early releases of Mac OS X, the standard hardware platform supported was the line of Macintosh computers (laptop, desktop, or server) based on PowerPC G3, G4, and G5 processors. Later versions of Mac OS X discontinued support for some older hardware; for example, Panther does not support "beige" G3s, and Tiger does not support systems that pre-date Apple's introduction of FireWire ports. However, free tools such as XPostFacto have enabled installation of Mac OS X on certain older systems not officially supported by Apple, including some pre-G3 systems. The operating system offers the same functionality on all supported hardware, with the exception of fundamental hardware limitations (e.g. CD-ROM drives cannot write to CDs) and performance enhancements possible only with more advanced equipment (e.g. graphics acceleration). On June 6, 2005, Steve Jobs announced in his keynote address at the annual Apple Worldwide Developers Conference that Apple will be transitioning from PowerPC to Intel processors over the following two years, and that Mac OS X will support both platforms during this transition. [http://www.apple.com/pr/library/2005/jun/06intel.html] Support for the PowerPC platform will remain in version 10.5, though it is unclear how long this dual-architecture support will be continued. Mac OS support for the original Motorola 68k architecture continued for about four years after the introduction of PowerPC systems. A new version of Xcode supports building "universal binaries" that will run on either architecture. PowerPC binaries will be supported on Intel-based Macs using an emulator called Rosetta. Jobs also confirmed rumors that Apple has had versions of Mac OS X running on Intel processors for most of its developmental life. Such crossplatform capability already existed in OS X's lineage — the predecessor of OS X, OPENSTEP, had been ported to many architectures, including Intel's x86, and a port to x86 of the core operating system of OS X, Darwin, has been available as a free download since OS X was first released. However, Apple has stated that OS X for x86 platforms will not support the Classic environment. Also note that Apple stated that MacOS would only run on Apple x86 systems, not PCs, but several people have been using a development version of the OS on x86 PCs (See links below).

Notable features


- Uses a subset of the Portable Document Format (PDF) as the basis of its Quartz imaging model.
- Full color, continuously scalable icons (up to 256x256 pixels).
- Drop shadow around window and isolated text elements to provide a sense of depth.
- Global application services - spell checker, special characters palette, color picker, font chooser and dictionary.
- Anti-aliasing of widgets, text, graphics and window elements.
- New interface elements including sheets (document modal dialogs attached to specific windows) and drawers.
- Interweaving windows of different applications (not necessarily adjacent in the visible stacking order).
- ColorSync color matching built into the core drawing engine (for print and multimedia professionals).
- OpenGL (introduced in version 10.2) composites windows onto the screen to allow hardware accelerated drawing. This technology is called Quartz Extreme.
- Exposé (introduced in version 10.3) can quickly tile open windows or reveal the desktop.
- Pervasive use of Unicode throughout the operating system.
- Straightforward architecture for localization of applications and other code, fully separating language dependencies from the core code of a program.
- FileVault (introduced in version 10.3) encrypts the user's Home folder with Advanced Encryption Standard (AES) 128-bit keys.
- Dashboard (introduced in version 10.4) supports small applications ("widgets") that can be called up and dismissed in one keystroke.
- Spotlight search technology (introduced in version 10.4) allows rapid real-time searches of data files, mail messages, photos, and other information, based on item properties and/or content.
- Automator (introduced in version 10.4) an application designed to create an automatic work-flow for different tasks.
- Smart Folders (introduced in version 10.4) allow for dynamically updated folders depending on a set criteria.

Criticisms

Smart Folders alert.]] In comparison to Microsoft Windows, some critics point to the lack of upgrade pricing on Mac OS X; users of previous versions have to pay full price for a new version. This is in part a semantic argument, depending on whether a retail Mac OS X package is considered an "upgrade" or not. On one hand, it can only be used on a Mac, all of which were sold with some version of the Mac OS, so it is arguably an upgrade. On the other hand, no price distinction is made between upgrading version 9.0 or version 10.3 to version 10.4, suggesting that consumers are buying a full license in either case, or at least receiving no credit for intervening upgrades. Furthermore, customers who purchase a Macintosh between the time a new version of Mac OS X is announced and the time it starts shipping preinstalled on new machines have typically been given upgrades at a much smaller cost ($9.95-19.95 USD). The Open Group has criticized Apple for use of the term "Unix" in advertisements for Mac OS X as Apple has not had the OS officially certified, and their use of the term could constitute a violation of trademark. Apple claims that they use the term as a genericized trademark and that the cost of certification would make the OS prohibitively expensive, although The Open Group has stated that there is a $110,000 USD upper limit on the cost of certification for one company. Though Mac OS X is "Unix-based" and features a BSD Unix compatibility layer, it is not compliant with the Single UNIX Specification. The reason for Apple not seeking "official" Unix branding may simply be that compliance is not a near- or medium-term goal for Apple instead of the potentially misleading cost claim.

Naming

The character X is a Roman numeral and is officially pronounced "ten", continuing the numbering of previous Macintosh operating systems such as Mac OS 8 and Mac OS 9. However, it is a common mistake to read it as the letter X and pronounce it "ex". One possible reason for this interpretation is the tradition of giving Unix-like operating systems names that end with the letter "X" as an "ex" sound (AIX, HP-UX, IRIX, Linux, Minix, Ultrix, Xenix). Another possible reason is Apple's tendency to refer to specific versions in print (for example, "Mac OS X version 10.4"). Mac OS X versions are named after big cats. Prior to its release, version 10.0 was code named "Cheetah" internally at Apple, and version 10.1 was code named internally as "Puma". After the immense buzz surrounding Version 10.2, codenamed "Jaguar", Apple's product marketing began openly using the code name to promote the operating system. 10.3 was similarly marketed as "Panther". Version 10.4 is marketed as "Tiger". "Leopard" has been announced as the name for the next release of the operating system. Apple has also registered "Lynx" and "Cougar" as trademarks. Apple faced a lawsuit from a computer retailer named TigerDirect regarding its use of the name "Tiger". However, on 16 May 2005 the Florida Federal Court ruled that Apple's use of the name "Tiger" does not infringe upon TigerDirect's trademark.

Versions

2005 Internally, Apple uses a "build number" to identify each development version of Mac OS X. There may be many development versions each week. Under Apple's guidelines, the first development version of a product starts with build 1A1. Minor revisions to that are 1A2, 1A3, 1A4, and so on; the first major development revision becomes 1B1 (and minor revisions to that would be 1B2, 1B3, etc.), the next major revision would be 1C1, and so forth. The next major revision after the last 1_ series would be 2A, followed by 2B. The transition from one letter to the next occurs with changes in the minor release number. For instance, the first build of Panther (10.3) was 7A1. The first public release was 7B85; the last, 10.3.9, was 7W98. But the next build of OS X was 10.4, 8A1. When a build is chosen as the next public release of Mac OS X, it is given a public version number. Build 4K78 was chosen to be Mac OS X version 10.0, build 5G64 became 10.1, build 6C115 became 10.2, build 7B85 became 10.3, and build 8A428 became 10.4. The current version of Mac OS X is version 10.4.3 (released on October 31, 2005) build 8F46.

Mac OS X v10.0 (Cheetah)

On March 24, 2001, Apple released Mac OS X v10.0 (internally codenamed Cheetah). The initial version was slow, not feature complete, and had very few applications available at the time of its launch, mostly from independent developers. Many critics suggested that while the OS was not ready for mainstream adoption, they recognized the importance of its initial launch as a base for which to improve upon. Simply releasing OS X was received by the Macintosh community as a great accomplishment, for attempts to completely overhaul the Mac OS had been underway since 1996, and delayed by countless setbacks. Following a few minor bug fixes, kernel panics became much less frequent, and Mac OS X began garnering praise for its stability at an early point in its development. It was criticized for being slow, with performance not much improved over the previous September's release of Mac OS X Public Beta.

Mac OS X v10.1 (Puma)

Later that year on September 25, 2001, Mac OS X v10.1 (internally codenamed Puma) was released, increasing the performance of the system as well as providing missing features, such as DVD playback. Because of the poor reputation of 10.0, Apple released 10.1 as a free upgrade CD for 10.0 users, in addition to the US$129 boxed version for people running only Mac OS 9. It was discovered that the upgrade CDs were actually full install CDs that could be used with Mac OS 9 systems by removing a specific file; Apple subsequently re-released the CDs in an actual stripped-down format that didn't facilitate installation on such systems.

Mac OS X v10.2 "Jaguar"

On August 24, 2002, Apple followed up with Mac OS X v10.2 "Jaguar" (the first release to publicly bear its cat name), which brought profound performance enhancements, a newer, sleeker look, and many powerful enhancements (over 150, according to Apple), among them:
- Increased support for Microsoft Windows networks
- Quartz Extreme for compositing graphics directly on the AGP-based video card
- An adaptive spam mail filter, based on latent semantic indexing
- A system-wide repository for contact information in the new Address Book
- Rendezvous networking (Apple's implementation of Zeroconf; renamed to Bonjour in 10.4)
- iChat: an Apple-branded, officially-supported third party AOL Instant Messenger client
- A revamped Finder with searching built directly into every window
- Dozens of new Apple Universal Access features
- Sherlock 3: Web services (See Watson)
- CUPS: The Common Unix Printing System allowed the use of GIMP-print drivers, hpijs drivers, etc. for "unsupported" printers. It also allowed — with some user recompilation — printing to serial printers. Mac OS X v10.2 was never officially referred to as Jaguar in the United Kingdom due to an agreement with the automobile manufacturer Jaguar, although boxes and CDs still bore the Jaguar-skin logo.

Mac OS X v10.3 "Panther"

Mac OS X v10.3 "Panther" was released on October 24, 2003. In addition to providing much improved performance, it also incorporated the most extensive update yet to the user interface. The update included as many or more new features as Jaguar the year before. On the other hand, support for some early G3 computers such as "beige" PowerMacs and "WallStreet" PowerBooks was discontinued. New features of "Panther" include:
- Updated Finder, incorporating a brushed-metal interface, customizable sidebar and fast-searching
- Exposé: a new system to manipulate and view windows
- Fast User Switching: allows a user to remain logged in while another user logs in
- iChat AV which added video-conferencing features to iChat
- Improved PDF rendering to allow for faster PDF viewing
- Built-in faxing support
- Much greater Microsoft Windows interoperability
- FileVault: on the fly encryption and decryption of a user's home folder
- Increased speed across the entire system with more support for the G5

Mac OS X v10.4 "Tiger"

Mac OS X v10.4 "Tiger" was released on April 29, 2005. Apple stated that Tiger contains more than 200 new features, but as with the release of Panther, certain older machines have been dropped from the list of supported hardware; Tiger requires a Mac with built-in FireWire ports. Among the new features of "Tiger":
- Spotlight: A fast content and metadata-based file search tool, which quickly finds items containing the key words you search for.
- Dashboard: Widgets for common tasks available on a desktop overlay just a click away.
- Smart Folders: A virtual folder that uses Spotlight to populate the file listing instead of showing a true folder on the filesystem.
- Updated Mail program with Smart Mailboxes, allowing virtual mailboxes defined by Spotlight searches.
- iChat: A new version supports the H.264/MPEG-4 AVC video codec for conferencing and allows for multi-party audio and video chats.
- QuickTime 7: the new version includes H.264 support and a completely re-written interface.
- Safari 2: this new version of the system's default web browser includes the ability to view RSS feeds directly in the browser, among other new features.
- Automator: automates repetitive tasks without programming.
- VoiceOver: A built-in screen reader for those with vision disabilities.
- Core Image and Core Video: allows additional effects in video and image editing to be performed in real time.
- 64-bit memory support for the new G5, using the LP64 system. Apple claims that "Tiger's" new 64-bit memory addressing speeds up tasks on older 32-bit processors as well.
- Updated Unix utilities, such as cp and rsync, that can preserve HFS Plus metadata and resource forks.
- An extended permissions system using access control lists. An Intel x86 version of Mac OS X Tiger was previewed by Apple, and subsequently leaked to the Internet, following Apple's announcement to switch to the Intel platform. It was revealed by Apple at the June 2005 Worldwide Developers Conference that Intel versions of all previous versions of OS X had been compiled internally, keeping feature parity between the Intel and PowerPC versions, "just in case." Developers were provided the chance to buy an Intel-based developer transition system loaded with 10.4.1 in June 2005, and 10.4.2 and 10.4.3 were released to developers in September and November 2005 respectively.

Mac OS X v10.5 "Leopard"

Mac OS X v10.5 "Leopard" was announced at the Worldwide Developers Conference on June 6, 2005, due to be released at the end of 2006 or early 2007, roughly around the same time Microsoft would release Windows Vista (formerly known by the code-name "Longhorn"). Apple has said it will support both PowerPC- and Intel x86-based Macintosh computers. No information on what features Leopard will add to the Mac OS have been announced, though it is said that its GUI will be fully resolution independent.

See also


- Architecture of Mac OS X
- Comparison of operating systems
- FreeBSD -- the FreeBSD operating system provides the source base for Apple's UNIX implementation.
- List of Macintosh software
- PearPCPowerPC emulator capable of running Mac OS X
- Macintosh User Groups in the UK
- ipfirewall the official firewall of Mac OS X

External links


- [http://www.apple.com/macosx/ Apple: Mac OS X] — The official page for Mac OS X.
- [http://www.kernelthread.com/mac/osx/ What is OS X? (kernelthread.com)] — An overview of the Mac OS X operating system
- [http://arstechnica.com/reviews/os/macosx-10.4.ars/2 Mac OS X (arstechnica.com)] — Comprehensive reviews of Mac OS X (all versions)
- [http://www.freesoftwaremagazine.com/free_issues/issue_01/osx_jungle Mac OS X: Welcome to the jungle] — A look inside the Mac OS X software ecology (Free Software Magazine, March 2005)
- [http://wiki.osx86project.org/ OSX on x86 Wiki] — a Wiki of OS X on x86
- [http://www.xplodenet.com/ Running OSX x86 edition on a native x86] Category:Apple software
-
Category:Mach Category:Operating systems Category:Windowing systems Category:BSD ko:맥 오에스 텐 ja:Mac OS X simple:Mac OS X th:แมคโอเอสเท็น

Unix

Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs employees including Ken Thompson, Dennis Ritchie, and Douglas McIlroy. Today's Unix systems are split into various branches, developed over time by AT&T, several other commercial vendors, as well as several non-profit organizations. Unix was designed to be portable, multi-tasking and multi-user. The Unix systems are characterized by various concepts: plain text files, command line interpreter, hierarchical file system, treating devices and certain types of inter-process communication as files, etc. In software engineering, Unix is mainly noted for its use of the C programming language and for the Unix philosophy. The present owner of the UNIX trademark is The Open Group, while the present claimants on the rights to the UNIX source code are The SCO Group and Novell. Only systems fully compliant with and certified to the Single UNIX Specification qualify as "UNIX" (others are called "UNIX system-like" or Unix-like). During the late 1970s and early 1980s, Unix's influence in academic circles led to massive adoption (particularly of the BSD variant, originating from the University of California, Berkeley) of Unix by commercial startups, the most notable of which is Sun Microsystems. Sun Microsystems

History

1960s and 1970s

In the 1960s, the Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric worked on an experimental operating system called Multics (Multiplexed Information and Computing Service), which was designed to run on the GE-645 mainframe computer. The aim was the creation of an interactive operating system with many novel capabilities, including enhanced security. The project did develop production releases, but initially these releases turned out to have poor performance. AT&T Bell Labs pulled out and deployed its resources elsewhere. One of the developers on the Bell Labs team, Ken Thompson, continued to develop for the GE-645 mainframe, and wrote a game for that computer called Space Travel. However, he found that the game was slow on the GE machine and was costly, apparently costing $75 per go in scarce computing time. Thompson thus re-wrote the game in DEC PDP-7 Assembly language with help from Dennis Ritchie. This experience, combined with his work on the Multics project, led Thompson to start a new operating system for the DEC PDP-7. Thompson and Ritchie led a team of developers, including Rudd Canaday, at Bell Labs developing a file system as well as the new multi-tasking operating system itself. They included a command interpreter and some small utility programs as well. This project was called Unics, short for Uniplexed Information and Computing System, and could support two simultaneous users. The name has been attributed to Brian Kernighan, and was a hack on Multics. Following bad puns of Unics (homophone of eunuchs) being a castrated Multics, the name was later changed to Unix, and thus a legacy was born. The name is also a criticism of the overly general and bloated Multics system - Unix would do one thing, and do it well. Up until this point there had been no financial support from Bell Labs, when the Computer Science Research Group wanted to use Unix on a much larger machine than the PDP-7. Thompson and Ritchie managed to trade the promise of adding text processing capabilities to Unix for a PDP-11/20 machine, and this itself led to some financial support from Bell. For the first time in 1970, the Unix Operating System was officially named and ran on the PDP-11/20. It added a text formatting program called roff and a text editor. All three were written in PDP-11/20 assembly language. This initial "text processing system", made up of Unix, roff, and the editor, was used by Bell Labs for text processing of patent applications at Bell. Runoff soon evolved into troff, the first electronic publishing program with a full typesetting capability. The UNIX Programmer's Manual was published on November 3, 1971. In 1973, the decision was made to re-write Unix in the C programming language. The change meant that Unix could later easily be modified to work on other machines (thus becoming portable), and other variations could be created by other developers. The code was now more concise and compact, leading to an acceleration in the development of Unix. AT&T made Unix available to universities and commercial firms, as well as the United States government under licenses. The licenses included all source code except for the machine-dependent kernel, which was written in PDP-11 assembly code. However, bootleg copies of the annotated Unix machine-dependent kernel circulated widely in the late 1970's in the form of a much-copied book by John Lions of the University of New South Wales in Australia (the Lions' Commentary on UNIX 6th Edition, with Source Code), which led to considerable adoption of Unix as an educational operating system. Development expanded, with Versions 4, 5 and 6 being released by 1975. These versions added pipes, leading to the development of a more modular code-base, increasing development speed still further. V5 and especially V6 led to a plethora of different Unix versions both inside and outside Bell Labs, including PWB/UNIX, IS/1 (the first commercial Unix), and the University of Wollongong's port to the Interdata 7/32 (the first non-PDP Unix). In 1978, UNIX/32V, for the VAX, was released. By this time, over 600 machines were running Unix in some form. Version 7 Unix, the last version of Research Unix to be released widely, was released in 1979. Versions 8, 9 and 10 were developed through the 1980s but were only ever released to a few universities, though they did generate papers describing the new work. This research led to the development of Plan 9, a new portable distributed system.

1980s

AT&T now developed UNIX System III, based on Version 7, as a commercial version and sold the product directly, the first version launching in 1982. However its subsidiary, Western Electric, continued to sell older Unix versions, based on the UNIX System (Versions 1 to 7). To end the confusion between all the differing versions, AT&T combined various versions developed at other universities and companies into UNIX System V Release 1. This introduced features such as the vi editor and curses from the Berkeley Software Distribution of Unix developed at the University of California, Berkeley (UCB). This also included support for the DEC VAX machine. The new commercial Unix releases however no longer included the source code and so UCB continued to develop BSD Unix as an alternative to UNIX System III and V, originally on the PDP-11 architecture (the BSD 2.x releases, ending with 2.10). Perhaps the most important aspect of the BSD development effort was the addition of TCP/IP network code to the mainstream Unix kernel. The BSD effort produced eight significant releases that contained network code: 4.1c, 4.2, 4.3, 4.3-Tahoe ("Tahoe" being the nickname of the CCI Power 6/32 architecture that was the first non-DEC port of the BSD kernel), 4.3-Reno (to match the "Tahoe" naming, and that the release was something of a gamble), Net2, 4.4, and 4.4-lite. The network code found in these releases is the ancestor of almost all TCP/IP network code in use today, including code that was later released in AT&T System V UNIX and Microsoft Windows. The accompanying Berkeley Sockets API is a de facto standard for networking APIs and has been copied on many platforms. Other companies began to offer commercial versions of the UNIX System for their own mini-computers and workstations. Most of these new Unix flavors were developed from the System V base under a license from AT&T. Others chose BSD instead. One of the leading developers of BSD, Bill Joy, went on to co-found Sun Microsystems in 1982 and create SunOS (now Solaris) for their workstation computers. In 1980, Microsoft announced its first Unix for 16-bit microcomputers called Xenix, which the Santa Cruz Operation (SCO) ported to the Intel 8086 processor in 1983, and eventually branched Xenix into SCO UNIX in 1989. In 1984, an industry group called X/Open was formed, with the aim of forming compatible open systems, that is, standardize the UNIX systems. AT&T added various features into UNIX System V, such as file locking, system administration, job control (modelled on ITS), streams, the Remote File System and TLI. AT&T cooperated with Sun Microsystems and between 1987 and 1989 merged Xenix, BSD, SunOS, and System V into System V Release 4 (SVR4), independently of X/Open. This new release consolidated all the previous features into one package, and threatened the end of competing versions. It also greatly increased licensing fees.

1990s

In 1990, the Open Software Foundation released OSF/1, their standard Unix implementation, and it was more closely based on BSD than on SVR4. The Foundation was started in 1988 and was funded by several Unix-related companies that wished to counteract the collaboration of AT&T and Sun on SVR4. Subsequently, AT&T and another group of licensees formed the group "UNIX International" in order to counteract OSF. This escalation of conflict between competing vendors gave rise to the syntagma "Unix wars". In 1991, a group of BSD developers (Donn Seeley, Mike Karels, Bill Jolitz, and Trent Hein) left the University of California to found Berkeley Software Design, Inc (BSDI). BSDI was the first company to produce a fully-functional commercial version of BSD Unix for the inexpensive and ubiquitous Intel platform, which started a wave of interest in the use of inexpensive hardware for production computing. Shortly after it was founded, Bill Jolitz left BSDI to pursue distribution of 386BSD, commonly identified as the free software ancestor of FreeBSD, OpenBSD, and NetBSD. By 1993 most of the commercial vendors of Unix had changed their commercial variants of Unix to be based upon SVR4, and many BSD features were added on top. In 1994, OSF stopped the development of OSF/1, as the only vendor using it was DEC, who branded it Digital UNIX. Shortly after UNIX System V Release 4 was produced, AT&T sold all its rights to UNIX to Novell. Dennis Ritchie, one of the creators of Unix, likened this to the Biblical story of Esau selling his birthright for some lentils [http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=7379%40ucsbcsl.ucsb.edu&rnum=1&prev=/groups%3Fq%3Ddennis%2Britchie%2Blentil%2Bbirthright%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D7379%2540ucsbcsl.ucsb.edu%26rnum%3D1]. Novell developed its own version, UnixWare, merging its Netware with UNIX System V Release 4. Novell tried to use this to battle against Windows NT, but their core markets suffered considerably. In 1994, Novell decided to split the bundle of UNIX-related assets and sell parts of them. The UNIX trademark and the certification rights were sold to the X/Open Consortium. In 1996, X/Open merged with OSF, creating the Open Group. Various standards by the Open Group now define what is and what is not a "UNIX" operating system, notably the post-1998 Single UNIX Specification. In 1995, the business of administration and support of the existing UNIX licenses plus rights to further develop the SystemV code base were transferred to the Santa Cruz Operation. Whether Novell also sold the copyrights is currently the subject of litigation (see below).

2000s

In 2000, the Santa Cruz Operation sold its entire UNIX business and assets to Caldera Systems, which later on changed its name to The SCO Group. This new player then started a huge legal campaign against various users and vendors of Linux. The SCO Group has offered various legal theories over the course of several cases. Some of these allege that Linux contains copyrighted Unix code now owned by The SCO Group. Others allege trade-secret violations by IBM, or contract violations by former Santa Cruz customers who since converted to Linux. The most far-reaching theory is that development work that IBM did for AIX is considered a derivative work and therefore also owned by SCO. If this is upheld it would affect all Unix licensees. Under a program called SCOsource, the SCO Group is now offering licenses to all companies and individuals wishing to use operating systems with code based on UNIX System V Release 4 (and their own release, UNIX System V, Release 5). However, Novell disputed the SCO group's claim to hold copyright on the UNIX source base. According to Novell, SCO (and hence the SCO group) are effectively franchise operators for Novell, which also retained the core copyrights, veto rights over future licensing activities of SCO, and 95% of the licensing revenue. The SCO Group disagreed with this, and the dispute had resulted in the SCO v. Novell lawsuit. In 2005, Sun Microsystems also released an open source version of Solaris, called OpenSolaris. The OpenSolaris codebase is intended to take advantage of outside contributions to provide the next versions of Solaris; in addition, it has spawned at least one non-Sun distribution in the form of Jörg Schilling's SchilliX. The dot-com crash has led to significant consolidation of Unix users as well. Of the many commercial flavors of Unix that were born in the 1980s, only Hewlett-Packard's HP-UX, IBM's AIX, NeXT's NEXTSTEP (later OPENSTEP, now Mac OS X) and Sun's Solaris operating systems are still doing relatively well in the market; players such as Digital Equipment Corporation, Data General, and the original Santa Cruz Operation (now known as Tarantella) have been bought out or gone out of business. The rise of Linux and the open-source BSD implementations as a dominating force in the Unix space has also dealt a damaging blow to commercial Unix development, as some companies opt for open source over closed.

Standards

Beginning in the late 1980s, an open operating system standardization effort known as POSIX provided a common baseline for all operating systems; IEEE based POSIX around the structure of the Unix system. At around the same time a separate but very similar standard, the Single UNIX Specification, was also produced by the Open Group. Starting in 1998 these two standards bodies began work on merging the two standards, and the latest revisions of both are in fact identical. In an effort towards compatibility, several Unix system vendors agreed on SVR4's ELF format as standard for binary and object code files. The common format allows substantial binary compatibility among Unix systems operating on the same CPU architecture. The directory layout of some systems, particularly on Linux, is defined by the Filesystem Hierarchy Standard. This type of standard however is controversial among many, and even within the Linux community adoption is far from universal.

List of Unixes

This is a list of Unixes (sing. Unix). Each version of the UNIX Time-Sharing System evolved from the version before, with version one evolving from the prototypal Unics. Not all variants and descendants are displayed.

Research Unix


- Unics (⇢Unix) (1969)
- UNIX Time-Sharing System v1 (1971)
- UNIX Time-Sharing System v2 (1972)
- UNIX Time-Sharing System v3 (1973)
- UNIX Time-Sharing System v4 (1973)
- UNIX Time-Sharing System v5 (1974)
  - UNSW 01 (1978)
- UNIX Time-Sharing System v6 (1974)
  - MINI-UNIX (1977)
  - PWB/UNIX 1.0 (1977)
    - USG 1.0
      - CB Unix 1
  - UCLA Secure UNIX (1979)
- UNIX Time-Sharing System v7 (1979)
  - Unix System III (1981)
- UNIX Time-Sharing System v8 (1985)
- UNIX Time-Sharing System v9 (1986)
- UNIX Time-Sharing System v10 (1989)
-