Question:
define what is and what do they do: Operating Systems?
unholysongbird
2008-06-18 06:30:00 UTC
as detailed and as well as you can, thanks
Three answers:
Josh
2008-06-18 06:42:54 UTC
An operating system (OS) is the software component of a computer system that is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system acts as a host for application programs that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers, including hand-held computers, desktop computers, supercomputers, and even modern video game consoles, use an operating system of some type. See also Computer systems architecture.



Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating system, pass parameters, and receive the results of the operation. Users may also interact with the operating system by typing commands or using a graphical user interface (GUI, commonly pronounced “guoey”). For hand-held and desktop computers, the GUI is generally considered part of the operating system. For large multiuser systems, the GUI is generally implemented as an application program that runs outside the operating system. See also Computer programming; Human-computer interaction.



Common contemporary operating systems include Microsoft Windows, Mac OS X, Linux and Solaris. Microsoft Windows has a significant majority of market share in the desktop and notebook computer markets, while the server and embedded device markets are split amongst several operating systems.

An operating system is a collection of technologies which are designed to allow the computer to perform certain functions. These technologies may or may not be present in every operating system, and there are often differences in how they are implemented. However as stated above most modern operating systems are derived from common design ancestors, and are therefore basically similar.



In most cases, the operating system is not the first code to run on the computer at startup (boot) time. The initial code executing on the computer is usually loaded from firmware, which is stored in read only memory (ROM). This is sometimes called the BIOS or boot ROM.



The firmware loads and executes code located on a removable disk or hard drive, and contained within the first sector of the drive, referred to as the boot sector. The code stored on the boot sector is called the boot loader, and is responsible for loading the operating system's kernel from disk and starting it running.



Some simple boot loaders are designed to locate one specific operating system and load it, although many modern ones have the capacity to allow the user to choose from a number of operating systems.



An operating system's most basic function is to support the running of programs by the users. On a multiprogramming operating system, running programs are commonly referred to as processes. Process management refers to the facilities provided by the operating system to support the creation, execution, and destruction of processes, and to facilitate various interactions, and limit others.



The operating system's kernel in conjunction with underlying hardware must support this functionality.



Executing a program involves the creation of a process by the operating system. The kernel creates a process by setting aside or allocating some memory, loading program code from a disk or another part of memory into the newly allocated space, and starting it running.



Operating system kernels store various information about running processes. This information might include:



A unique identifier, called a process identifier (PID).

A list of memory the program is using, or is allowed to access.

The PID of the program which requested its execution, or the parent process ID (PPID).

The filename and/or path from which the program was loaded.

A register file, containing the last values of all CPU registers.

A program counter, indicating the position in the program.



Interrupts are central to operating systems as they allow the operating system to deal with the unexpected activities of running programs and the world outside the computer. Interrupt-based programming is one of the most basic forms of time-sharing, being directly supported by most CPUs. Interrupts provide a computer with a way of automatically running specific code in response to events. Even very basic computers support hardware interrupts, and allow the programmer to specify code which may be run when that event takes place.



When an interrupt is received, the computer's hardware automatically suspends whatever program is currently running, and its registers and program counter are saved. This is analogous to placing a bookmark in a book when someone is interrupted by a phone call. This task requires no operating system as such, but only that the interrupt be configured at an earlier time.



In modern operating systems, interrupts are handled by the operating system's kernel. Interrupts may come from either the computer's hardware, or from the running program. When a hardware device triggers an interrupt, the operating system's kernel decides how to deal with this event, generally by running some processing code, or ignoring it. The processing of hardware interrupts is a task that is usually delegated to software called device drivers, which may be either part of the operating system's kernel, part of another program, or both. Device drivers may then relay information to a running program by various means.



A program may also trigger an interrupt to the operating system, which are very similar in function. If a program wishes to access hardware for example, it may interrupt the operating system's kernel, which causes control to be passed back to the kernel. The kernel may then process the request which may contain instructions to be passed onto hardware, or to a device driver. When a program wishes to allocate more memory, launch or communicate with another program, or signal that it no longer needs the CPU, it does so through interrupts.





[edit] Protected mode and supervisor mode

Main article: Protected mode

Main article: Supervisor mode

Modern CPUs support something called dual mode operation. CPUs with this capability use two modes: protected mode and supervisor mode, which allow certain CPU functions to be controlled and affected only by the operating system kernel. Here, protected mode does not refer specifically to the 80286 (Intel's x86 16-bit microprocessor) CPU feature, although its protected mode is very similar to it. CPUs might have other modes similar to 80286 protected mode as well, such as the virtual 8086 mode of the 80386 (Intel's x86 32-bit microprocessor or i386).



However, the term is used here more generally in operating system theory to refer to all modes which limit the capabilities of programs running in that mode, providing things like virtual memory addressing and limiting access to hardware in a manner determined by a program running in supervisor mode. Similar modes have existed in supercomputers, minicomputers, and mainframes as they are essential to fully supporting UNIX-like multi-user operating systems.



When a computer first starts up, it is automatically running in supervisor mode. The first few programs to run on the computer, being the BIOS, bootloader and the operating system have unlimited access to hardware. However when the operating system passes control to another program, it can place the CPU into protected mode.



In protected mode, programs may have access to a more limited set of the CPU's instructions. A user program may leave protected mode only by triggering an interrupt, causing control to be passed back to the kernel. In this way the operating system can maintain exclusive control over things like access to hardware, and memory.



The term "protected mode resource" generally refers to one or more CPU registers, which contain information that the running program isn't allowed to alter. Attempts to alter these resources generally causes a switch to supervisor mode.



Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already used by another program. Since programs time share, each program must have independent access to memory.



Cooperative memory management, used by many early operating systems assumes that all programs make voluntary use of the kernel's memory manager, and do not exceed their allocated memory. This system of memory management is almost never seen anymore, since programs often contain bugs which can cause them to exceed their allocated memory. If a program fails it may cause memory used by one or more other programs to be affected or overwritten. Malicious programs, or viruses may purposefully alter another program's memory or may affect the operation of the operating system itself. With cooperative memory management it takes only one misbehaved program to crash the system.



Memory protection enables the kernel to limit a process' access to the computer's memory. Various methods of memory protection exist, including memory segmentation, and paging. All methods require some level of hardware support (such as the 80286 MMU) which doesn't exist in all computers.



In both segmentation and paging, certain protected mode registers specify to the CPU what memory address it should allow a running program to access. Attempts to access other addresses will trigger an interrupt which will cause the CPU to re-ente
Steve
2008-06-18 06:35:45 UTC
An operating system (OS) is the software component of a computer system that is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system acts as a host for application programs that are run on the machine.
anselma
2016-10-23 11:03:53 UTC
Multi-consumer vs. unmarried-consumer A multi-consumer operating device enables distinct shoppers to get entry to a computing device device concurrently. Time-sharing device will be categorized as multi-consumer platforms as they enable a distinct consumer get entry to to a computing device through the sharing of time. unmarried-consumer operating platforms, as adverse to a multi-consumer operating device, are usable by ability of a unmarried consumer at a time. being waiting to have distinct money owed on a living house windows operating device does not make it a multi-consumer device. fairly, only the community administrator is the actual consumer. yet for a Unix-like operating device, that's accessible for 2 shoppers to login at a time and this potential of the OS makes it a multi-consumer operating device.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...