Windows is an operating system which is loaded while

Get help understanding operating systems in this free lesson so you can answer the question, what is an operating system?

Lesson 8: Understanding Operating Systems

/en/computerbasics/mobile-devices/content/

What is an operating system?

An operating system is the most important software that runs on a computer. It manages the computer’s memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer’s language. Without an operating system, a computer is useless.

Watch the video below to learn more about operating systems.

Looking for the old version of this video? You can still view it here.

The operating system’s job

Your computer’s operating system (OS) manages all of the software and hardware on the computer. Most of the time, there are several different computer programs running at the same time, and they all need to access your computer’s central processing unit (CPU), memory, and storage. The operating system coordinates all of this to make sure each program gets what it needs.

Types of operating systems

Operating systems usually come pre-loaded on any computer you buy. Most people use the operating system that comes with their computer, but it’s possible to upgrade or even change operating systems. The three most common operating systems for personal computers are Microsoft Windows, macOS, and Linux.

Modern operating systems use a graphical user interface, or GUI (pronounced gooey). A GUI lets you use your mouse to click icons, buttons, and menus, and everything is clearly displayed on the screen using a combination of graphics and text.

showing a graphical user interface example

Each operating system’s GUI has a different look and feel, so if you switch to a different operating system it may seem unfamiliar at first. However, modern operating systems are designed to be easy to use, and most of the basic principles are the same.

Microsoft Windows

Microsoft created the Windows operating system in the mid-1980s. There have been many different versions of Windows, but the most recent ones are Windows 10 (released in 2015), Windows 8 (2012), Windows 7 (2009), and Windows Vista (2007). Windows comes pre-loaded on most new PCs, which helps to make it the most popular operating system in the world.

viewing a windows operating system

Check out our tutorials on Windows Basics and specific Windows versions for more information.

macOS

macOS (previously called OS X) is a line of operating systems created by Apple. It comes preloaded on all Macintosh computers, or Macs. Some of the specific versions include Mojave (released in 2018), High Sierra (2017), and Sierra (2016).

According to StatCounter Global Stats, macOS users account for less than 10% of global operating systems—much lower than the percentage of Windows users (more than 80%). One reason for this is that Apple computers tend to be more expensive. However, many people do prefer the look and feel of macOS over Windows.

viewing a mac operating system

Check out our macOS Basics tutorial for more information.

Linux

Linux (pronounced LINN-ux) is a family of open-source operating systems, which means they can be modified and distributed by anyone around the world. This is different from proprietary software like Windows, which can only be modified by the company that owns it. The advantages of Linux are that it is free, and there are many different distributions—or versions—you can choose from.

According to StatCounter Global Stats, Linux users account for less than 2% of global operating systems. However, most servers run Linux because it’s relatively easy to customize.

To learn more about different distributions of Linux, visit the Ubuntu, Linux Mint, and Fedora websites, or refer to our Linux Resources. For a more comprehensive list, you can visit MakeUseOf’s list of The Best Linux Distributions.

Operating systems for mobile devices

The operating systems we’ve been talking about so far were designed to run on desktop and laptop computers. Mobile devices such as phones, tablet computers, and MP3 players are different from desktop and laptop computers, so they run operating systems that are designed specifically for mobile devices. Examples of mobile operating systems include Apple iOS and Google Android. In the screenshot below, you can see iOS running on an iPad.

viewing operating systems for mobile devices

Operating systems for mobile devices generally aren’t as fully featured as those made for desktop and laptop computers, and they aren’t able to run all of the same software. However, you can still do a lot of things with them, like watch movies, browse the Web, manage your calendar, and play games.

To learn more about mobile operating systems, check out our Mobile Devices tutorials.

/en/computerbasics/understanding-applications/content/

What happens when the computer is thrashing?

With a computer, thrashing or disk thrashing describes when a hard drive is being overworked by moving information between the system memory and virtual memory excessively.

When thrashing occurs, you will notice the computer hard drive always working, and a decrease in system performance.

What does the booting process do?

Booting a computer refers to the process of powering on the computer and starting the operating system. The operating system is the program that makes all your software applications and hardware work together, so you can do the work you want to do. Once you hit the power button, it’s all automatic from there.

What type of operating system allows two or more programs?

Multi-user: Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users. Multiprocessing : Supports running a program on more than one CPU. Multitasking : Allows more than one program to run concurrently.

Is a cold boot faster than a warm boot?

It is often used in contrast to a warm boot, which refers to restarting a computer once it has been turned on. A cold boot is typically performed by pressing the power button on the computer. Both a cold boot and warm boot clear the system RAM and perform the boot sequence from scratch.

How can operating systems prevent thrashing?

To resolve thrashing you can do any of the suggestions below :

  • Increase the amount of RAM in the computer.
  • Decrease the number of programs being run on the computer.
  • Adjust the size of the swap file.

How does the system detect thrashing?

Thrashing is caused by under allocation of the minimum number of pages required by a process, forcing it to continuously page fault. The system can detect thrashing by evaluating the level of CPU utilization as compared to the level of multiprogramming. It can be eliminated by reducing the level of multiprogramming.

What are the two types of booting in a computer?

booting. Restarting a computer or its operating system software. It is of two types (1) Cold booting: when the computer is started after having been switched off. (2) Warm booting: when the operating system alone is restarted (without being switched off) after a system crash or ‘freeze.’

What is Bootrom?

Bootrom (or Boot ROM) is a small piece of mask ROM or write-protected flash embedded inside the processor chip. It contains the very first code which is executed by the processor on power-on or reset. Sometimes it may contain additional functionality, possibly usable by user code during or after booting.

What is the boot process of a typical computer?

Boot sequence is the order in which a computer searches for nonvolatile data storage devices containing program code to load the operating system (OS). Typically, a Macintosh structure uses ROM and Windows uses BIOS to start the boot sequence.

Is an operating system a utility program?

System software includes operating systems, utility software, device drivers and firmware. Operating systems control the computer hardware and act as an interface with application programs. Utility software helps to manage, maintain and control computer resources.

What is another term for an Internet peer to peer network?

Stands for “Peer to Peer.” In a P2P network, the “peers” are computer systems which are connected to each other via the Internet. Files can be shared directly between systems on the network without the need of a central server. Common P2P software programs include Kazaa, Limewire, BearShare, Morpheus, and Acquisition.

Is the core of an operating system that manages memory and devices?

The core of an operating system that manages memory and devices, maintains the computer’s clock, starts programs, and assigns the computer’s resources. Remaining in memory while a computer is running. multiprocessing. In reference to operating systems, supports two or more processors running programs at the same time.

Which power control option performs a warm boot?

On PCs, you can perform a warm boot by pressing the Control, Alt, and Delete keys simultaneously. On Macs, you can perform a warm boot by pressing the Restart button. Contrast with cold boot, turning a computer on from an off position.

What is the difference between cold booting and warm booting a computer?

The main difference between cold and warm booting is that the cold booting is the process of starting up the computer that is turned off while warm booting is the process of restarting the computer without interrupting power.

What is cool booting in computer?

Alternatively referred to as a cold start, hard boot, and hard start, cold boot is a term used to describe the process of turning on the computer after it has been powered off. For example, when you first turn your computer on after being off for the night you are cold booting the computer.

What is paging in OS?

Paging is a method of writing data to, and reading it from, secondary storage for use in primary storage, also known as main memory. In a memory management system that takes advantage of paging, the OS reads data from secondary storage in blocks called pages, all of which have identical size.

What is thrashing operating system?

In a virtual storage system (an operating system that manages its logical storage or memory in units called pages), thrashing is a condition in which excessive paging operations are taking place. A system that is thrashing can be perceived as either a very slow system or one that has come to a halt.

What is thrashing and how do you handle it?

Operating System | Techniques to handle Thrashing

  1. Thrashing is a condition or a situation when the system is spending a major portion of its time in servicing the page faults, but the actual processing done is very negligible.
  2. Locality Model – A locality is a set of pages that are actively used together.
  3. Techniques to handle:

Why are page size always power of 2 in OS?

Why are page sizes always powers of 2? Recall that paging is implemented by breaking up an address into a page and offset number. Because each bit position represents a power of 2, splitting an address between bits results in a page size that is a power of 2.

How thrashing can be prevented?

When this swapping activity is occurring such that it is the major consumer of the CPU time, then you are effectively thrashing. You prevent it by running fewer programs, writing programs that use memory more efficiently, adding RAM to the system, or maybe even by increasing the swap size.

What is computer threshing?

In computer science, thrashing occurs when a computer’s virtual memory resources are overused, leading to a constant state of paging and page faults, inhibiting most application-level processing. This causes the performance of the computer to degrade or collapse.

What are the 3 most common operating systems for personal computers?

The three most common operating systems for personal computers are Microsoft Windows, Mac OS X, and Linux.

The Windows operating system (Windows OS) for desktop PCs are more formally called Microsoft Windows and is actually a family of operating systems for personal computers. Windows provides a graphical user interface (GUI), virtual memory management, multitasking, and support for many peripheral devices.

What happens when computer starts?

Booting is what happens when a computer starts. This happens when the power is turned on. It is called “reboot” if it happens at other times. When you boot a computer, your processor looks for instructions in system ROM (the BIOS) and executes them.

Содержание

  1. What are the features of Microsoft Windows?
  2. Control Panel
  3. Cortana
  4. Desktop
  5. Device Manager
  6. Disk Cleanup
  7. Event Viewer
  8. File Explorer
  9. Internet browser
  10. Microsoft Paint
  11. Notepad
  12. Notification area
  13. Power User Tasks Menu
  14. Registry Editor
  15. Settings
  16. Start and Start menu
  17. System Information
  18. Taskbar
  19. Task Manager
  20. Windows search box
  21. OPERATING SYSTEMS AND UTILITIES
  22. Помогите с вопросами по информатике.
  23. Understanding Operating Systems
  24. Computer Basics: Understanding Operating Systems
  25. Lesson 8: Understanding Operating Systems
  26. What is an operating system?
  27. The operating system’s job
  28. Types of operating systems
  29. Microsoft Windows
  30. macOS
  31. Linux
  32. Operating systems for mobile devices
  33. Видео

What are the features of Microsoft Windows?

2 what basic utilities are included with windows and mac operating systems

Microsoft Windows includes a wide array of features, tools, and applications to help get the most out of Windows and your computer.

To learn more about the features included in Microsoft Windows, click a link below.

Control Panel

The Control Panel is a collection of tools to help you configure and manage the resources on your computer. You can change settings for printers, video, audio, mouse, keyboard, date and time, user accounts, installed applications, network connections, power saving options, and more.

2 what basic utilities are included with windows and mac operating systems

In Windows 10, the Control Panel is located in the Start menu, under Windows System.

Many of the Control Panel settings are also accessible in the Windows 10 Settings menu.

Cortana

Cortana is a virtual assistant introduced in Windows 10 that accepts voice commands. Cortana can answer questions, search your computer or Internet, set appointments and reminders, perform online purchases, and more. Cortana has similarities to other voice-activated services, such as Siri, Alexa, or Google Assistant, with the added benefit that it can search the information on your computer.

2 what basic utilities are included with windows and mac operating systems

Desktop

The desktop is a fundamental part of the default GUI (graphical user interface) in Windows. It is a space where you can organize applications, folders, and documents, which appear as icons. Your desktop is always in the background, behind any other applications you’re running.

When you power on your computer and log in to Windows, the first thing you see is your desktop background, icons, and the taskbar. From here, you can access the installed programs on your computer from the Start menu, or by double-clicking any application shortcuts you may have on your desktop.

2 what basic utilities are included with windows and mac operating systems

You can access your desktop at any time by pressing Windows key + D to minimize any running applications.

With the release of Windows 8 in 2012, the desktop was no longer the default GUI, replaced by the Start Screen. This change was short-lived, and the desktop returned as the default GUI in Windows 10.

Device Manager

The Device Manager lists the hardware devices installed in a computer. It allows users to see what hardware is installed, view and update hardware drivers, and uninstall hardware through the Device Manager.

2 what basic utilities are included with windows and mac operating systems

Disk Cleanup

The Disk Cleanup utility helps increase free disk space on your computer by removing temporary or unnecessary files. Running Disk Cleanup helps improve your computer’s performance, and create additional space to store your downloads, documents, and programs.

2 what basic utilities are included with windows and mac operating systems

You can access Disk Cleanup from the File Explorer.

Event Viewer

The Event Viewer is an administrator tool displays errors and important events that happen on your computer. It helps troubleshoot advanced problems in your Windows system.

2 what basic utilities are included with windows and mac operating systems

File Explorer

The File Explorer, also called Windows Explorer, provides you with a view of the files and folders on the computer. You can browse the contents of your SSD, hard drive, and attached removable disks. You can search for files and folders, and open, rename, or delete them from the File Explorer.

2 what basic utilities are included with windows and mac operating systems

Internet browser

Your Internet browser is one of the most important applications on your computer. You can use it to find information on the Internet, view web pages, shop and buy merchandise, watch movies, play games, and more. Microsoft Edge is the default browser in Windows 10. Internet Explorer is included as the default browser in previous versions of Windows, from Windows 95 to Windows 8.1.

2 what basic utilities are included with windows and mac operating systems

To open a new Edge browser window in Windows 10, open the Start menu and scroll down to Microsoft Edge.

Microsoft Paint

Included in Windows since November 1985, Microsoft Paint is a simple image editor that you can use to create, view, and edit digital images. It provides basic functionality to draw and paint pictures, resize and rotate photographs, and save pictures as different file types.

2 what basic utilities are included with windows and mac operating systems

Notepad

Notepad is a simple text editor. You can use it to create, view, and edit text files. For instance, you can use Notepad to write a batch file, or a web page written in HTML.

2 what basic utilities are included with windows and mac operating systems

Notification area

The notification area, also known as the system tray, displays the date and time, and shows icons of programs that are started with Windows. It also provides your Internet connection’s status and a speaker icon for adjusting sound volume.

2 what basic utilities are included with windows and mac operating systems

Available in Windows 8 and Windows 10, the Power User Tasks Menu provides quick access to helpful and important Windows utilities. From this menu, you can open the Control Panel, Device Manager, File Explorer, Task Manager, and more.

2 what basic utilities are included with windows and mac operating systems

Registry Editor

The Registry Editor allows you to view the Windows system registry, and edit registry keys. Computer technicians may use the Registry Editor to fix problems with the Windows operating system or installed software.

2 what basic utilities are included with windows and mac operating systems

Making changes to the registry can cause your applications or system to stop functioning correctly. Don’t edit the registry if you’re not sure what your changing and always back up your registry by exporting it to a file before making changes.

Settings

Available in Windows 8 and Windows 10, Settings allows you to change many aspects of Windows. You can change the desktop background, adjust power settings, review options for external devices, and more.

2 what basic utilities are included with windows and mac operating systems

Start and Start menu

The Start menu is a list of applications and utilities installed on your computer. You can open it by clicking Start on the left side of your taskbar.

2 what basic utilities are included with windows and mac operating systems

System Information

The System Information utility provides information about the computer, including hardware and Windows details. You can find out details about your computer’s hardware, including processor, memory, video card, and sound card. You can also view and configure environment variables, device drivers, services, and more.

2 what basic utilities are included with windows and mac operating systems

Taskbar

The Windows taskbar shows programs that are currently open, and a Quick Launch area that allows quick access to launch specific programs. The notification area is on the right side of the taskbar, showing the date and time, and programs running in the background.

2 what basic utilities are included with windows and mac operating systems

Task Manager

The Task Manager gives you an overview of what’s running on your computer. You can see how much of your system resources is used by each application (task), sorting by CPU, RAM, and disk I/O usage. If a program is frozen or not responding, you can right-click it in Task Manager and end the task, forcing it to quit.

2 what basic utilities are included with windows and mac operating systems

Windows search box

The Windows search box is a convenient way to search for documents, pictures, videos, applications, and more. In Windows 10, the search box is also integrated with Cortana. The feature first appeared in Windows Vista.

2 what basic utilities are included with windows and mac operating systems

The search box is on your taskbar by default. In Windows 10, if you don’t see the search box, right-click the taskbar and select Taskbar settings. Make sure Use small taskbar buttons is Off. Then, right-click the taskbar again, and select Cortana, Show search box.

Источник

OPERATING SYSTEMS AND UTILITIES

Operating system overview

An operating system (abbreviated OS) is a type of system software that acts as a mast controller for all the activities that take place within a computer system. It is one of the factors that determine your computer compatibilityand platform. The operating system interactswith application software, device drivers, and hardware to manage a computer’s resources. The term resource refers to any component that is required to perform work. For example, the processor is a resource. RAM, storage space, and peripherals are also resources.

Operating system manages different tasks:

Managememory. OS allocates a specific area of RAM for each program that is open and running. OS is itself a program, so it requires RAM space too. A microprocessor works with data and executes instructions stored in RAM – one of your computer’s most important resources. When you want to run more than one program at a time, the OS has to allocate specific areas of memory for each program. When multiple programs are running, the OS must ensurethat instructions and data from one area of memory do not “leak” into an area allocated to another program. If an OS falls down on the job and fails to protect each program’s memory area, data can get corrupted, programs can “crash”, and your computer displays error messages.

— Manage processor resources. The operating system also controls the microprocessor – just at a slightly higher level. Every cycle of a computer’s microprocessor is a resource for accomplishing tasks. Many activities – called “processes” – compete for the attention of your computer’s microprocessor. OS must ensure that each activity “process” receives its share of microprocessor cycles. A computer can take advantage of performance-enhancing technologies such as multitasking,multithreading,multiprocessing,dual coreormultiple processors.

— Keep track of storage resources. OS stores and retrieves files from your disks and CDs. It remembers the names and locations of all your files and keeps track of empty spaces where new files can be stored.

Ensure that input and output proceed in an orderly manner. OS communicates with device driver software so that data can travel smoothlybetween the computer and these peripheral resources. OS uses ‘buffers’ to collect and hold data while the computer is busy with other tasks.

— Establish basic elements of the user interface. A user interface can be definedas the combination of hardware and software that helps people and computers communicate with each other. Your computer’s user interface includes a display device, mouse, and keyboard that allow you to view and manipulate your computer environment. It also includes software elements, such as menus and toolbar buttons. A graphical user interface (GUI)features menus and icons that you can manipulate with the click of a mouse. A command-line interface requires you to memorize and type commands.

For nearly all PCs, servers, workstations, mainframes, and supercomputers, the operating system program is quite large, so most of it is stored on a hard disk. The operating system’s small bootstrap program is stored in ROM and supplies the instructions needed to load the operating system’s core into memory when the system boots. This core part of OS called the kernelprovides the most essential operating system services, such as memory management and file access. The kernel always stays in RAM all the time your computer is on. Other parts of OS, such as customization utilities, are loaded into RAM as they are needed.

Many operating systems provide helpful tools, called operating system utilities, that you can use to control and customize your computer equipment and work environment. They are typically accessed by using a GUI, such as the familiar Windows desktop. The most popular are: launch programs, manage files, get help, customize the user interface, and configure equipment.

One operating system might be better suited to some computing tasks than others. To provide clues to their strengths and weaknesses, operating systems are informally categorized using one or more of the following terms:

A single-user operating system expects to deal with one set of input devices – those that can be controlled by one user only.

A multiuser operating systemallows a single computer to deal with simultaneousinput, output, and processing requests from many users. One of its most difficult responsibilities is to schedule all the processing requests that a centralized computer must perform.

A network operating system provides communications and routing services that allow computers to share data, programs, and peripheral devices. The main difference between network OS and multiuser OS is that multiuser operating systems schedule requests for processing on a centralized computer, whereas a network operating system simply routes data and programs to each user’s local computer, where the actual processing takes place.

A desktop operating system is one that is designed for a personal computer. Typically, these operating systems are designed to accommodate a single user, but might also provide network capability.

Windows is the best-selling operating system. The number and variety of programs that run on Windows are unmatched by any other operating system, a fact that contributes to its dominant position as the most widely used desktop operating system.

Utility software is a type of system software that is designed to perform a specialized task, such as system maintenance or security. Utility software that does not come packaged with an operating system is often referred to as a third-party utility. In past years, antivirus software was a popular category of third-party utilities. With the recent influx of nuisance ads, intrusion attempts, and spam, utilities such as ad blockers, personal firewalls, and spam filters have also become best sellers. Filtering software is used by parents to block their children from objectionable Websites. Another popular category of utility software is system utilities. These utilities track down and fix disk errors, repair corrupted files, and give your PC a performance – enhancing tune-up.

A final group of utilities worth mentioning is designed for backing upand cleaning up hard disks, and shreddingfiles so they can’t be recovered. They can help you recover files deleted by mistake.

Comprehension check. Indicate the paragraph where the following ideas are found in the text.

1. Operating system’s main purpose is to control what happens behind the scene.

2. Your PC can sometimes recover from memory leak problems if you use the Ctl+Alt+Del key sequence to close the corrupted program.

3. The operating system must ensure that the microprocessor does not “spin its wheels” waiting for input while it could be working on some other processing projects.

4. Windows is installed on more than 80 % of the world’s personal computers.

5. The term “buffer” is a technical jargon for a region of memory that holds data waiting to be transferred from one device to another.

6. Many operating systems provide helpful tools, called operating system utilities, that you can use to control and customize your computer equipment and work environment.

Vocabulary practice

1. In the text find the opposites to the given words.

roughly shred disorganize monopolize stop succeed break

2. Fill in the blanks choosing from the variants given.

1. An operating system … a computer’s resources, such as Ram, storage space, and peripherals.

a) allocates b) defines c) manages d) accommodates

2. To … more than one program at a time, the operating system must allocate specific areas of Ram for each program.

a) store b) install c) fix d) run

3. A graphical user-interface provides a way to point and click a mouse to … menu options and manipulate objects that appear on the screen.

a) feature b) deal with c) select d) manage

4. Handheld devices, such as PDAs and smartphones typically … single-user operating systems.

a) feature b) retrieve c) include d) establish

5. OS communicates with device driver software so that data can travel … between the computer and peripheral resources.

a) roughly b) smoothly c) simultaneously d) primary

a) variety b) security c) capability d) compatibility

3. Make three-word combinations using the words in columns and then fill in the gaps in the following sentences.

A: multiuser B: operating C: system

third user technologies

desktop enhancing interface

graphical operating system

performance party utilities

3. A … features menus and icons that you can manipulate with a click of a mouse.

4. A …, such as Windows, is designed for personal computers.

5. WinZip, WinAce are … that offer a variety of compression options.

4. Fill in the gaps in the text.

___ (computer/application) software tells the operating system what to do. The operating system tells the ___ (device/tool) drivers, device drivers tell the ___ (software/hardware), and the hardware actually does the work. The operating system___ (interacts/competes) with application software, device drivers, and hardware to ___ (manage/define) a computer’s ___ (resources/compatibility).

The core part of an operating system is called the ___ (kernel/cycle). In addition to this core, many operating systems ___ (provide/schedule) helpful tools, called ___ (utilities/capabilities).

Speaking. Discuss the following questions.

1. What is an operating system?

2. What does an operating system do?

3. How does an operating system manage processor resources?

4. Why does an operating system manage memory?

5. Where is the operating system stored?

6. What are utilities? What are the most popular ones?

7. How does the operating system affect the user interface?

Text C

Reading. Read the text and try to guess the meaning of the words in bold. Check your variants in the dictionary.

APPLICATION SOFTWARE

Most computers include some basic word processing, e-mail, and Internet access software, but computer owners want additional software to increase their computer’s productivity, business, learning, or entertainment capabilities.

Источник

Помогите с вопросами по информатике.

1. Видеокарта, процессор, мат. плата, оперативка, жёсткий диск, блок питания, сетевая карта. Перифирия: монитор, мышка, клавиатура, колонки. Видеокарта может быть встроенна в процессор, сетевая карта в мат. плату.

2. Форм-фактор компьютера это размеры материнской платы + корпуса ради компактности будущего компа. Форм фактор имеет стандарты mini-ATX например.

3. Да это универсальная игровая платформа с огромными возможностями и такой компьютер может быть и для бизнеса и даже как сервер, что даёт область применения в бизнесе онлайн компьютерных игр или аренды как хоста, так и VPS сервера.

4. Наличие умений выбора у выбирающего, связь видеокарты + процессора что есть основа как под цену компьютера, так и под требуемые задачи. Это начало.

5. Новые платформы снабжаются одними и теми же процессорами на 2016 год от Intel, что позволяет запускать на Mac платформе виртуальные ОС windows. Можно совместить платформы с наличием в новых Mac платформах UEFI поставив 2 операционные системы 64-х битную Windows и оставив Mac. Так что можно, но не легко.

6. Устаревший это примерно на 2016 год 2009, очень сильные модели и для игр подойдут, но апгрейд ради игр хорошая идея, ибо это не замена компьютера с нуля.

7. Текстовые процессоры, графические профессиональные редакторы, мессенджеры и браузеры, почтовые программы.

8.What basic utilities are included with Windows and Mac operating systems?
Windows содержит простые утилиты как простой графический редактор, просмотр картинок, базовые возможности просмотра видео/музыки, калькулятор и настройка за программным обеспечением, где есть так же защита и много сетевых утилит для соединения например жёстких дисков разных компьютеров.

__________
Mac да хрен его знает никогда им не пользовался!
__________

9.How do iPhones provide adaptive utilities for people who can’t see the screen?
х. й знает

__________
iPhone да хрен его знает никогда им не пользовался!
__________

10.Why is it important to know where to locate the version numbers for device drivers?
что бы знать пора ли их обновить ради улучшенной поддержки устройства.

11.How can word processing software help improve your writing?
Исправляя синтаксические ошибки он является как бы проверочным редактором перед выпуском с удобством исправления, базой слов и просмотром и редактированием тех же текстов.

12.How does spreadsheet software work?
Табличное программное обеспечение работает сохраняя важные данные в свои ячейки в которых очень высокая скорость поиска, а так же большие возможности сортировки и вывода информации по строкам и таблицам, примеры тому очень популярные MySQL, Excel.

Источник

Understanding Operating Systems

2 what basic utilities are included with windows and mac operating systems

2 what basic utilities are included with windows and mac operating systems

Computer Basics: Understanding Operating Systems

Lesson 8: Understanding Operating Systems

What is an operating system?

An operating system is the most important software that runs on a computer. It manages the computer’s memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer’s language. Without an operating system, a computer is useless.

Watch the video below to learn more about operating systems.

Looking for the old version of this video? You can still view it here.

The operating system’s job

Your computer’s operating system (OS) manages all of the software and hardware on the computer. Most of the time, there are several different computer programs running at the same time, and they all need to access your computer’s central processing unit (CPU), memory, and storage. The operating system coordinates all of this to make sure each program gets what it needs.

Types of operating systems

Operating systems usually come pre-loaded on any computer you buy. Most people use the operating system that comes with their computer, but it’s possible to upgrade or even change operating systems. The three most common operating systems for personal computers are Microsoft Windows, macOS, and Linux.

Modern operating systems use a graphical user interface, or GUI (pronounced gooey). A GUI lets you use your mouse to click icons, buttons, and menus, and everything is clearly displayed on the screen using a combination of graphics and text.

2 what basic utilities are included with windows and mac operating systems

Each operating system’s GUI has a different look and feel, so if you switch to a different operating system it may seem unfamiliar at first. However, modern operating systems are designed to be easy to use, and most of the basic principles are the same.

Microsoft Windows

Microsoft created the Windows operating system in the mid-1980s. There have been many different versions of Windows, but the most recent ones are Windows 10 (released in 2015), Windows 8 (2012), Windows 7 (2009), and Windows Vista (2007). Windows comes pre-loaded on most new PCs, which helps to make it the most popular operating system in the world.

2 what basic utilities are included with windows and mac operating systems

Check out our tutorials on Windows Basics and specific Windows versions for more information.

macOS

macOS (previously called OS X) is a line of operating systems created by Apple. It comes preloaded on all Macintosh computers, or Macs. Some of the specific versions include Mojave (released in 2018), High Sierra (2017), and Sierra (2016).

According to StatCounter Global Stats, macOS users account for less than 10% of global operating systems—much lower than the percentage of Windows users (more than 80%). One reason for this is that Apple computers tend to be more expensive. However, many people do prefer the look and feel of macOS over Windows.

2 what basic utilities are included with windows and mac operating systems

Check out our macOS Basics tutorial for more information.

Linux

Linux (pronounced LINN-ux) is a family of open-source operating systems, which means they can be modified and distributed by anyone around the world. This is different from proprietary software like Windows, which can only be modified by the company that owns it. The advantages of Linux are that it is free, and there are many different distributions—or versions—you can choose from.

According to StatCounter Global Stats, Linux users account for less than 2% of global operating systems. However, most servers run Linux because it’s relatively easy to customize.

To learn more about different distributions of Linux, visit the Ubuntu, Linux Mint, and Fedora websites, or refer to our Linux Resources. For a more comprehensive list, you can visit MakeUseOf’s list of The Best Linux Distributions.

Operating systems for mobile devices

2 what basic utilities are included with windows and mac operating systems

Operating systems for mobile devices generally aren’t as fully featured as those made for desktop and laptop computers, and they aren’t able to run all of the same software. However, you can still do a lot of things with them, like watch movies, browse the Web, manage your calendar, and play games.

To learn more about mobile operating systems, check out our Mobile Devices tutorials.

Источник

Видео

Intermediate Class for Mac OS (Operating System) «Utilities»

Intermediate Class for Mac OS (Operating System) "Utilities"

MacApps #02 — Best Mac Apps, Utilities, Tips & Games для MacOS 2019

MacApps #02 - Best Mac Apps, Utilities, Tips & Games для MacOS 2019

Computer Fundamentals — Windows 10 & Mac OS X — How to Use MS Microsoft and Apple Operating Systems

Computer Fundamentals - Windows 10 & Mac OS X - How to Use MS Microsoft and Apple Operating Systems

MacApps #23 — Best Mac Apps, Utilities, Tips для MacOS 2022 | 5 Best New macOS Apps 03.04.2022

MacApps #23 - Best Mac Apps, Utilities, Tips для MacOS 2022 | 5 Best New macOS Apps 03.04.2022

Флешка Mac OS X из Windows с помощью BDU (Boot Disk Utility)

Флешка Mac OS X из Windows с помощью BDU (Boot Disk Utility)

MacApps #19 — Best Mac Apps, Utilities, Tips для MacOS 2021 | 5 Best New macOS Apps 19.05.2021

MacApps #19 - Best Mac Apps, Utilities, Tips для MacOS 2021 | 5 Best New macOS Apps 19.05.2021

CompTIA A+ Full Course — FREE — [31+ Hours]

CompTIA A+ Full Course - FREE - [31+ Hours]

How to Open the Utilities Folder On a Mac Computer — Basic Tutorial | New

How to Open the Utilities Folder On a Mac Computer - Basic Tutorial | New

Mac Tutorial for Beginners — Switching from Windows to macOS

Mac Tutorial for Beginners - Switching from Windows to macOS

MacApps #18 — Best Mac Apps, Utilities, Tips для MacOS 2021 | 5 Best New macOS Apps 28.02.2021

MacApps #18 - Best Mac Apps, Utilities, Tips для MacOS 2021 | 5 Best New macOS Apps 28.02.2021

Table of Contents

There’s a lot of fanboyism when it comes to picking an operating system, with vocal supporters on all sides. The Linux vs Windows discussion is an age-old battle that has been fought over for years now. 

It is important to stress that the ‘best’ operating system cannot have a single answer, as the best really depends upon the requirements of the user. 

Here we discuss the pros and cons of both systems, as we hope to deliver a fair review based on specific criteria. Perhaps this will help you decide between Windows or Linux.

The ideal way to start this discussion is by talking about the differences between Linux and Windows. We dive into this after talking briefly about each OS.

Linux vs Windows: Head-to-Head Comparison

Parameters

Linux

Windows

Developed By

Linus Torvalds

Microsoft Corporation

Licensing 

Open-source

Closed-source

Price

Free

Costly

Kernel Type

Monolithic kernel

Micro kernel

Efficiency

More efficient

Less efficient

Separating Directories

Forward slash

Back slash

Security

More secure

Less secure than Linux

Hacking Efficiency 

High 

Low

Types of User Accounts

  1. Regular
  2. Root
  3. Service account
  1. Administrator
  2. Standard
  3. Child
  4. Guest

Super User

Root user

Administrator user

Reliability 

More reliable

Less reliable than Linux

Gaming

Less suitable

Ideal

System Updates

Easy and users have control

Difficult for novice users

What is Windows Operating System?

The Windows Operating System was first released in 1985 by Microsoft. It now dominates the OS market, with the largest user base around the globe. Through updates, every OS version gets a unique graphical user interface. Windows actually has two modes: the user mode and kernel. The latter runs critical system processes, while the former runs typical applications. 

Most of the commercial systems that we see today work on the Windows Operating System, which is designed to work on the x86 hardware, including Intel and AMD.

Here’s a list of pros and cons of the Windows OS:

Pros

Cons

Intuitive and beginner-friendly

Can slow down over time

High-quality UI

Can have bugs and reliability issues

Lots of apps available

Must be purchased

Good support for legacy apps

Subject to vulnerabilities

Has plenty of hardware and driver support.

Does have data collection, though it can be turned off

What is Linux Operating System?

The Linux Operating System is an open-source OS created in the early 1990s by Linus Torvalds. Based on UNIX, Linux allows users to modify the existing code and produce different versions or distributions of it, which they can re-use and even sell. 

Linux has emerged as the top choice for setting up servers, which is why most web pages on the internet are served via systems backed by one of its distributions. The OS is also popularly used in desktops, mobile, consoles, eBook readers, and much more.

Here’s a list of pros and cons of the Linux OS:

Pros

Cons

Free

Unintuitive and not suitable for beginners

Much faster than Windows

Does not have as many apps as Windows

Customizable

Does not have extensive hardware or driver support

Very reliable and secure

High levels of privacy

Differences between Linux and Windows

Here we’ll go over the difference between Windows and Linux based on select criteria.

1. Price and Licensing

The Linux OS and most of its utilities and libraries are entirely free and open-source for use and modification. While paid distributions of the Linux OS with additional support are available in the market, they are very moderately priced. Linux, under GNU General Public License, allows users to modify, re-use in any number of systems, and even sell their own modified versions.

Microsoft Windows OS comes with the Microsoft License, which does not give users access to the source code. Thus, no modification can be performed at the standard user level. The Microsoft License ranges from $70 to $200 for its standard versions, and can only be installed on a certain number of computers as specified in your purchase.

2. Ease of Use

This might be a tough comparison to make, as it may vary from person to person. However, Linux has revamped its usability standing over the years through constant modernization. With the release of distributions such as Linux Mint, the installation, and setup process has been made simpler. Through continuous updates, people with little or no technical knowledge can also install software and perform normal activities such as email, play music and videos, and browse the internet.

Due to the market dominance Windows has, it comes pre-installed on many devices. If you are purchasing a new device, there is a high chance that it will come with a Windows OS version installed. With the supremacy it has on the market, a vast majority of users are already accustomed to its interface. 

Moreover, the easy-to-use toolbar and easy installation of programs make it an excellent choice for both new and old users alike.

3. Support

As Linux has a huge user base around the globe, there is massive online support available for Linux. The Linux OS community provides support to users through forums, question boards, and support websites.

Windows OS has easily accessible support through integrated and online help systems, dedicated websites, and forums. In addition, numerous videos and books about Windows are available online.

4. Variety

Linux is celebrated for being open-source with several modifications in existence. There are a lot of distributions available which are highly customizable, based on the needs of the user. If you have knowledge of code, you can even alter the code yourself and modify the OS. Some of the most popular customized Ubuntu environments are Gnome, Cinnamon, Deepin, and LXQT.

In the Windows OS, customization is not as easy and a comparatively fewer number of customizations are available. Users mostly have what they get right out of the box, which may not be to everyone’s liking.

5. Speed

When it comes to speed, Linux trumps Windows by a great margin. Unlike Windows, Linux tends to minimize the ‘bogging’ when it comes to the use of multiple processes. The file system Ext4 in Linux does a commendable job at keeping the device efficient. Defragmentation is now dead and buried in Linux. 

Windows OS can slow down to sometimes intolerable levels, which is somewhat inevitable over time. Memory and disk hogging is common when multiple processes are being used.

6. Privacy

Over the past few years, Windows has become increasingly advertisement driven. Users can opt out, but those concerned about privacy can find the experience grating. Many people are fond of the tools that Microsoft Windows offers, but they are intrusive regardless.

Linux users, on the other hand, have an OS that makes the privacy of its users a priority. Linux devices are also equipped with strong encryption, which means that users can be sure of better security and less intrusion from third-party applications.

7. Security

Linux is also considerably more secure than Windows. Attack vectors are still being discovered in Linux, due to its open-source technology. However, anyone can review the vulnerabilities, which makes the identification and resolving process faster and easier. 

Meanwhile, Windows has taken long strides in improving its security system over the years with a 5% decrease between 2020 and 2021, but it is still the primary target for malicious hackers. Due to its large user base, Microsoft is always vulnerable to new threats and when they do appear, they affect many users.

8. Run Level

A run level is the state of init (the first process started during booting) and the whole system which defines what system services are in operation. The run levels are identified using numbers. You can change run levels and the services that can run inside them, which offers more control over the system.

While Linux can stop at different run levels, Windows will reboot at run level 3 for an administrator to fix the encountered problem.

9. Command Line Usage

In the Linux OS, the command line is a very handy and powerful tool used for administration and daily tasks. 

In Windows, the ‘cmd’ command can be used to open a command line and perform a basic set of operations, while PowerShell offers more flexibility.

Recommended Linux Command Line Course:

10. Reliability

The Linux OS has a strong focus on system security, process management, and uptime. Linux has compromised on this, and is the most secure and reliable OS available.

On the contrary, even though Microsoft has made improvements in reliability over the years, it is nowhere near Linux. It has let go of many features for the sake of user-friendliness and ease of access, which may lead to system instability and security vulnerabilities.

11. System Updates

In the Linux OS, the user has full control over when and what to install updates. Windows is infamous for its somewhat random updates which can pop up at inconvenient times. For the lay user, it may not matter, but those with more computer experience would prefer Linux for the flexibility.

12. Compatibility

Windows wins this category hands down, as there are many more apps that work on Windows than Linux. Most developers want to develop on Windows because of its large userbase, and legacy apps also have a lot of support. 

Linux is not so lucky when it comes to compatibility.

13. Gaming

Windows wins the gaming race by a large margin. Steam, Epic, and many other clients are available to Windows users which provide them with the opportunity to play with both AAA titles and small indie games. Graphics card manufacturers focus their support on Windows due to the larger user base.

While Linux is slowly climbing its way into the gaming market, with the introduction of beta support for many games, it is hard to imagine that it will catch up with Windows. If you purchase a Linux OS, you will be missing out on a large number of games.

Linux Mastery: Master the Linux Command Line in 11.5 Hours

Windows vs Linux: Which is Better?

With the debate of Windows vs Linux operating systems explained briefly, you should be in a better position to choose between the two. It’s not that one is better than the other, it’s just that they both have different audiences in mind. Many people may ask is Linux better than Windows, or vice versa, but pick for yourself based on the information above.

Do you feel we left out any useful points in the article? Let us know in the comment section below. You can also check out some Linux System Administration Tutorials and Courses, which might help you get started with Linux.

Frequently Asked Questions

1. Is Linux or Windows Better?

There is no straight answer to this question, as both serve a different audience. If you want something that is easy to use and runs a lot of apps straight out of the box, choose Windows. If security, customizability, and reliability are important to you, choose Linux.

2. What is the Main Difference Between Linux and Windows?

The main differences between Linux and Windows are that Linux is more secure, private, and reliable. Windows is more intuitive and has support for more apps and hardware.

3. What Can Linux Do that Windows Can’t?

There are lots of such things. One major feature is that Linux does not need to restart the machine in order to install an update if the changes are minor.

4. Can Linux Run Windows Programs?

Yes, you can run Windows programs on Linux through third-party software. Bear in mind you cannot run all Windows programs, only a select few.

People are also Reading:

  • Linux Cheat Sheet
  • Best Linux Certifications
  • Linux Interview Questions
  • Data Science Interview Questions
  • AWS Interview Questions
  • Difference between Structure and Union
  • Difference between float and double
  • Data types in C
  • Basic Linux Commands which you need to know
  • Top DevOps Interview Questions and Answers

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.

For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware,[1][2] although the application code is usually executed directly by the hardware and frequently makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers.

The dominant general-purpose personal computer operating system is Microsoft Windows with a market share of around 74.99%. macOS by Apple Inc. is in second place (14.84%), and the varieties of Linux are collectively in third place (2.81%).[3] In the mobile sector (including smartphones and tablets), Android’s share is 70.82% in the year 2020.[4] According to third quarter 2016 data, Android’s share on smartphones is dominant with 87.5 percent with a growth rate of 10.3 percent per year, followed by Apple’s iOS with 12.1 percent with per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent.[5] Linux distributions are dominant in the server and supercomputing sectors. Other specialized classes of operating systems (special-purpose operating systems),[6][7] such as embedded and real-time systems, exist for many applications. Security-focused operating systems also exist. Some operating systems have low system requirements (e.g. light-weight Linux distribution). Others may have higher system requirements.

Some operating systems require installation or may come pre-installed with purchased computers (OEM-installation), whereas others may run directly from media (i.e. live CD) or flash memory (i.e. USB stick).

Types of operating systems

Single-tasking and multi-tasking

A single-tasking system can only run one program at a time, while a multi-tasking operating system allows more than one program to be running concurrently. This is achieved by time-sharing, where the available processor time is divided between multiple processes. These processes are each interrupted repeatedly in time slices by a task-scheduling subsystem of the operating system. Multi-tasking may be characterized in preemptive and cooperative types. In preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, such as Linux—as well as non-Unix-like, such as AmigaOS—support preemptive multitasking. Cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking; 32-bit versions of both Windows NT and Win9x used preemptive multi-tasking.

Single- and multi-user

Single-user operating systems have no facilities to distinguish users but may allow multiple programs to run in tandem.[8] A multi-user operating system extends the basic concept of multi-tasking with facilities that identify processes and resources, such as disk space, belonging to multiple users, and the system permits multiple users to interact with the system at the same time. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources to multiple users.

Distributed

A distributed operating system manages a group of distinct, networked computers and makes them appear to be a single computer, as all computations are distributed (divided amongst the constituent computers).[9]

Embedded

Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines with less autonomy (e.g. PDAs). They are very compact and extremely efficient by design and are able to operate with a limited amount of resources. Windows CE and Minix 3 are some examples of embedded operating systems.

Real-time

A real-time operating system is an operating system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is achieved. Such an event-driven system switches between tasks based on their priorities or external events, whereas time-sharing operating systems switch tasks based on clock interrupts.

Library

A library operating system is one in which the services that a typical operating system provides, such as networking, are provided in the form of libraries and composed with the application and configuration code to construct a unikernel: a specialized, single address space, machine image that can be deployed to cloud or embedded environments[further explanation needed].

History

Early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could automatically run different programs in succession to speed up processing. Operating systems did not exist in their modern and more complex forms until the early 1960s.[10] Hardware features were added, that enabled use of runtime libraries, interrupts, and parallel processing. When personal computers became popular in the 1980s, operating systems were made for them similar in concept to those used on larger computers.

In the 1940s, the earliest electronic digital systems had no operating systems. Electronic systems of this time were programmed on rows of mechanical switches or by jumper wires on plugboards. These were special-purpose systems that, for example, generated ballistics tables for the military or controlled the printing of payroll checks from data on punched paper cards. After programmable general-purpose computers were invented, machine languages(consisting of strings of the binary digits 0 and 1 on punched paper tape) were introduced that sped up the programming process (Stern, 1981).[full citation needed]

In the early 1950s, a computer could execute only one program at a time. Each user had sole use of the computer for a limited period and would arrive at a scheduled time with their program and data on punched paper cards or punched tape. The program would be loaded into the machine, and the machine would be set to work until the program completed or crashed. Programs could generally be debugged via a front panel using toggle switches and panel lights. It is said that Alan Turing was a master of this on the early Manchester Mark 1 machine, and he was already deriving the primitive conception of an operating system from the principles of the universal Turing machine.[10]

Later machines came with libraries of programs, which would be linked to a user’s program to assist in operations such as input and output and compiling (generating machine code from human-readable symbolic code). This was the genesis of the modern-day operating system. However, machines still ran a single job at a time. At Cambridge University in England, the job queue was at one time a washing line (clothesline) from which tapes were hung with different colored clothes-pegs to indicate job priority.[citation needed]

By the late 1950s, programs that one would recognize as an operating system were beginning to appear. Often pointed to as the earliest recognizable example is GM-NAA I/O, released in 1956 on the IBM 704. The first known example that actually referred to itself was the SHARE Operating System, a development of GM-NAA I/O, released in 1959. In a May 1960 paper describing the system, George Ryckman noted:

The development of computer operating systems have materially aided the problem of getting a program or series of programs on and off the computer efficiently.[11]

One of the more famous examples that is often found in discussions of early systems is the Atlas Supervisor, running on the Atlas in 1962.[12] It was referred to as such in a December 1961 article describing the system, but the context of «the Operating System» is more along the lines of «the system operates in the fashion». The Atlas team itself used the term «supervisor»,[13] which was widely used along with «monitor». Brinch Hansen described it as «the most significant breakthrough in the history of operating systems.»[14]

Mainframes

Through the 1950s, many major features were pioneered in the field of operating systems on mainframe computers, including batch processing, input/output interrupting, buffering, multitasking, spooling, runtime libraries, link-loading, and programs for sorting records in files. These features were included or not included in application software at the option of application programmers, rather than in a separate operating system used by all applications. In 1959, the SHARE Operating System was released as an integrated utility for the IBM 704, and later in the 709 and 7090 mainframes, although it was quickly supplanted by IBSYS/IBJOB on the 709, 7090 and 7094, which in turn influenced the later 7040-PR-150 (7040/7044) and 1410-PR-155 (1410/7010) operating systems.

During the 1960s, IBM’s OS/360 introduced the concept of a single OS spanning an entire product line, which was crucial for the success of the System/360 machines. IBM’s current mainframe operating systems are distant descendants of this original system and modern machines are backward compatible with applications written for OS/360.[citation needed]

OS/360 also pioneered the concept that the operating system keeps track of all of the system resources that are used, including program and data space allocation in main memory and file space in secondary storage, and file locking during updates. When a process is terminated for any reason, all of these resources are re-claimed by the operating system.

The alternative CP-67 system for the S/360-67 started a whole line of IBM operating systems focused on the concept of virtual machines. Other operating systems used on IBM S/360 series mainframes included systems developed by IBM: DOS/360[a] (Disk Operating System), TSS/360 (Time Sharing System), TOS/360 (Tape Operating System), BOS/360 (Basic Operating System), and ACP (Airline Control Program), as well as a few non-IBM systems: MTS (Michigan Terminal System), MUSIC (Multi-User System for Interactive Computing), and ORVYL (Stanford Timesharing System).

Control Data Corporation developed the SCOPE operating system in the 1960s, for batch processing. In cooperation with the University of Minnesota, the Kronos and later the NOS operating systems were developed during the 1970s, which supported simultaneous batch and timesharing use. Like many commercial timesharing systems, its interface was an extension of the Dartmouth BASIC operating systems, one of the pioneering efforts in timesharing and programming languages. In the late 1970s, Control Data and the University of Illinois developed the PLATO operating system, which used plasma panel displays and long-distance time sharing networks. Plato was remarkably innovative for its time, featuring real-time chat, and multi-user graphical games.

In 1961, Burroughs Corporation introduced the B5000 with the MCP (Master Control Program) operating system. The B5000 was a stack machine designed to exclusively support high-level languages with no assembler;[b] indeed, the MCP was the first OS to be written exclusively in a high-level language (ESPOL, a dialect of ALGOL). MCP also introduced many other ground-breaking innovations, such as being the first commercial implementation of virtual memory. During development of the AS/400, IBM made an approach to Burroughs to license MCP to run on the AS/400 hardware. This proposal was declined by Burroughs management to protect its existing hardware production. MCP is still in use today in the Unisys company’s MCP/ClearPath line of computers.

UNIVAC, the first commercial computer manufacturer, produced a series of EXEC operating systems.[15][16][17] Like all early main-frame systems, this batch-oriented system managed magnetic drums, disks, card readers and line printers. In the 1970s, UNIVAC produced the Real-Time Basic (RTB) system to support large-scale time sharing, also patterned after the Dartmouth BC system.

General Electric developed General Electric Comprehensive Operating Supervisor (GECOS), which primarily supported batch processing. After its acquisition by Honeywell, it was renamed General Comprehensive Operating System (GCOS).

Bell Labs,[c] General Electric and MIT developed Multiplexed Information and Computing Service (Multics), which introduced the concept of ringed security privilege levels.

Digital Equipment Corporation developed many operating systems for its various computer lines, including TOPS-10 and TOPS-20 time-sharing systems for the 36-bit PDP-10 class systems. Before the widespread use of UNIX, TOPS-10 was a particularly popular system in universities, and in the early ARPANET community. RT-11 was a single-user real-time OS for the PDP-11 class minicomputer, and RSX-11 was the corresponding multi-user OS.

From the late 1960s through the late 1970s, several hardware capabilities evolved that allowed similar or ported software to run on more than one system. Early systems had utilized microprogramming to implement features on their systems in order to permit different underlying computer architectures to appear to be the same as others in a series. In fact, most 360s after the 360/40 (except the 360/44, 360/75, 360/91, 360/95 and 360/195) were microprogrammed implementations.

The enormous investment in software for these systems made since the 1960s caused most of the original computer manufacturers to continue to develop compatible operating systems along with the hardware. Notable supported mainframe operating systems include:

  • Burroughs MCP – B5000, 1961 to Unisys Clearpath/MCP, present
  • IBM OS/360 – IBM System/360, 1966 to IBM z/OS, present
  • IBM CP-67 – IBM System/360, 1967 to IBM z/VM
  • UNIVAC EXEC 8 – UNIVAC 1108, 1967, to OS 2200 Unisys Clearpath Dorado, present

Microcomputers

PC DOS was an early personal computer OS that featured a command-line interface.

The first microcomputers did not have the capacity or need for the elaborate operating systems that had been developed for mainframes and minis; minimalistic operating systems were developed, often loaded from ROM and known as monitors. One notable early disk operating system was CP/M, which was supported on many early microcomputers and was closely imitated by Microsoft’s MS-DOS, which became widely popular as the operating system chosen for the IBM PC (IBM’s version of it was called IBM DOS or PC DOS). In the 1980s, Apple Computer Inc. (now Apple Inc.) abandoned its popular Apple II series of microcomputers to introduce the Apple Macintosh computer with an innovative graphical user interface (GUI) to the Mac OS.

The introduction of the Intel 80386 CPU chip in October 1985,[18] with 32-bit architecture and paging capabilities, provided personal computers with the ability to run multitasking operating systems like those of earlier minicomputers and mainframes. Microsoft responded to this progress by hiring Dave Cutler, who had developed the VMS operating system for Digital Equipment Corporation. He would lead the development of the Windows NT operating system, which continues to serve as the basis for Microsoft’s operating systems line. Steve Jobs, a co-founder of Apple Inc., started NeXT Computer Inc., which developed the NEXTSTEP operating system. NEXTSTEP would later be acquired by Apple Inc. and used, along with code from FreeBSD as the core of Mac OS X (macOS after latest name change).

The GNU Project was started by activist and programmer Richard Stallman with the goal of creating a complete free software replacement to the proprietary UNIX operating system. While the project was highly successful in duplicating the functionality of various parts of UNIX, development of the GNU Hurd kernel proved to be unproductive. In 1991, Finnish computer science student Linus Torvalds, with cooperation from volunteers collaborating over the Internet, released the first version of the Linux kernel. It was soon merged with the GNU user space components and system software to form a complete operating system. Since then, the combination of the two major components has usually been referred to as simply «Linux» by the software industry, a naming convention that Stallman and the Free Software Foundation remain opposed to, preferring the name GNU/Linux. The Berkeley Software Distribution, known as BSD, is the UNIX derivative distributed by the University of California, Berkeley, starting in the 1970s. Freely distributed and ported to many minicomputers, it eventually also gained a following for use on PCs, mainly as FreeBSD, NetBSD and OpenBSD.

Examples

Unix and Unix-like operating systems

Main article: Unix

Evolution of Unix systems

Unix was originally written in assembly language.[19] Ken Thompson wrote B, mainly based on BCPL, based on his experience in the MULTICS project. B was replaced by C, and Unix, rewritten in C, developed into a large, complex family of inter-related operating systems which have been influential in every modern operating system (see History).

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 with any operating system that has been shown to conform to their definitions. «UNIX-like» is commonly used to refer to the large set of operating systems which resemble the original UNIX.

Unix-like systems run on a wide variety of computer architectures. They are used heavily for servers in business, as well as workstations in academic and engineering environments. Free UNIX variants, such as Linux and BSD, are popular in these areas.

Five operating systems are certified by The Open Group (holder of the Unix trademark) as Unix. HP’s HP-UX and IBM’s AIX are both descendants of the original System V Unix and are designed to run only on their respective vendor’s hardware. In contrast, Sun Microsystems’s Solaris can run on multiple types of hardware, including x86 and SPARC servers, and PCs. Apple’s macOS, a replacement for Apple’s earlier (non-Unix) classic Mac OS, is a hybrid kernel-based BSD variant derived from NeXTSTEP, Mach, and FreeBSD. IBM’s z/OS UNIX System Services includes a shell and utilities based on Mortice Kerns’ InterOpen products.

Unix interoperability was sought by establishing the POSIX standard. The POSIX standard can be applied to any operating system, although it was originally created for various Unix variants.

BSD and its descendants

A subgroup of the Unix family is the Berkeley Software Distribution family, which includes FreeBSD, NetBSD, and OpenBSD. These operating systems are most commonly found on webservers, although they can also function as a personal computer OS. The Internet owes much of its existence to BSD, as many of the protocols now commonly used by computers to connect, send and receive data over a network were widely implemented and refined in BSD. The World Wide Web was also first demonstrated on a number of computers running an OS based on BSD called NeXTSTEP.

In 1974, University of California, Berkeley installed its first Unix system. Over time, students and staff in the computer science department there began adding new programs to make things easier, such as text editors. When Berkeley received new VAX computers in 1978 with Unix installed, the school’s undergraduates modified Unix even more in order to take advantage of the computer’s hardware possibilities. The Defense Advanced Research Projects Agency of the US Department of Defense took interest, and decided to fund the project. Many schools, corporations, and government organizations took notice and started to use Berkeley’s version of Unix instead of the official one distributed by AT&T.

Steve Jobs, upon leaving Apple Inc. in 1985, formed NeXT Inc., a company that manufactured high-end computers running on a variation of BSD called NeXTSTEP. One of these computers was used by Tim Berners-Lee as the first webserver to create the World Wide Web.

Developers like Keith Bostic encouraged the project to replace any non-free code that originated with Bell Labs. Once this was done, however, AT&T sued. After two years of legal disputes, the BSD project spawned a number of free derivatives, such as NetBSD and FreeBSD (both in 1993), and OpenBSD (from NetBSD in 1995).

macOS

macOS (formerly «Mac OS X» and later «OS X») is a line of open core graphical operating systems developed, marketed, and sold by Apple Inc., the latest of which is pre-loaded on all currently shipping Macintosh computers. macOS is the successor to the original classic Mac OS, which had been Apple’s primary operating system since 1984. Unlike its predecessor, macOS is a UNIX operating system built on technology that had been developed at NeXT through the second half of the 1980s and up until Apple purchased the company in early 1997.
The operating system was first released in 1999 as Mac OS X Server 1.0, followed in March 2001 by a client version (Mac OS X v10.0 «Cheetah»). Since then, six more distinct «client» and «server» editions of macOS have been released, until the two were merged in OS X 10.7 «Lion».

Prior to its merging with macOS, the server edition – macOS Server – was architecturally identical to its desktop counterpart and usually ran on Apple’s line of Macintosh server hardware. macOS Server included work group management and administration software tools that provide simplified access to key network services, including a mail transfer agent, a Samba server, an LDAP server, a domain name server, and others. With Mac OS X v10.7 Lion, all server aspects of Mac OS X Server have been integrated into the client version and the product re-branded as «OS X» (dropping «Mac» from the name). The server tools are now offered as an application.[20]

z/OS UNIX System Services

First introduced as the OpenEdition upgrade to MVS/ESA System Product Version 4 Release 3, announced[21] February 1993 with support for POSIX and other standards.[22][23][24] z/OS UNIX System Services is built on top of MVS services and cannot run independently. While IBM initially introduced OpenEdition to satisfy FIPS requirements, several z/OS component now require UNIX services, e.g., TCP/IP.

Linux

The Linux kernel originated in 1991, as a project of Linus Torvalds, while a university student in Finland. He posted information about his project on a newsgroup for computer students and programmers, and received support and assistance from volunteers who succeeded in creating a complete and functional kernel.

Linux is Unix-like, but was developed without any Unix code, unlike BSD and its variants. Because of its open license model, the Linux kernel code is available for study and modification, which resulted in its use on a wide range of computing machinery from supercomputers to smartwatches. Although estimates suggest that Linux is used on only 2.81% of all «desktop» (or laptop) PCs,[3] it has been widely adopted for use in servers[29] and embedded systems[30] such as cell phones. Linux has superseded Unix on many platforms and is used on most supercomputers including the top 385.[31] Many of the same computers are also on Green500 (but in different order), and Linux runs on the top 10. Linux is also commonly used on other small energy-efficient computers, such as smartphones and smartwatches. The Linux kernel is used in some popular distributions, such as Red Hat, Debian, Ubuntu, Linux Mint and Google’s Android, ChromeOS, and ChromiumOS.

Microsoft Windows

Microsoft Windows is a family of proprietary operating systems designed by Microsoft Corporation and primarily targeted to Intel architecture based computers, with an estimated 88.9 percent total usage share on Web connected computers.[32][33][34][35] The latest version is Windows 11.

In 2011, Windows 7 overtook Windows XP as the most common version in use.[36][37][38]

Microsoft Windows was first released in 1985, as an operating environment running on top of MS-DOS, which was the standard operating system shipped on most Intel architecture personal computers at the time. In 1995, Windows 95 was released which only used MS-DOS as a bootstrap. For backwards compatibility, Win9x could run real-mode MS-DOS[39][40] and 16-bit Windows 3.x[41] drivers. Windows ME, released in 2000, was the last version in the Win9x family. Later versions have all been based on the Windows NT kernel. Current client versions of Windows run on IA-32, x86-64 and ARM microprocessors.[42] In addition Itanium is still supported in older server version Windows Server 2008 R2. In the past, Windows NT supported additional architectures.

Server editions of Windows are widely used, however, Windows’ usage on servers is not as widespread as on personal computers as Windows competes against Linux and BSD for server market share.[43][44]

ReactOS is a Windows-alternative operating system, which is being developed on the principles of Windows – without using any of Microsoft’s code.

Other

There have been many operating systems that were significant in their day but are no longer so, such as AmigaOS; OS/2 from IBM and Microsoft; classic Mac OS, the non-Unix precursor to Apple’s macOS; BeOS; XTS-300; RISC OS; MorphOS; Haiku; BareMetal and FreeMint. Some are still used in niche markets and continue to be developed as minority platforms for enthusiast communities and specialist applications.

The z/OS operating system for IBM z/Architecture mainframe computers is still being used and developed, and
OpenVMS, formerly from DEC, is still under active development by VMS Software Inc. The IBM i operating system for IBM AS/400 and IBM Power Systems midrange computers is also still being used and developed.

Yet other operating systems are used almost exclusively in academia, for operating systems education or to do research on operating system concepts. A typical example of a system that fulfills both roles is MINIX, while for example Singularity is used purely for research. Another example is the Oberon System designed at ETH Zürich by Niklaus Wirth, Jürg Gutknecht and a group of students at the former Computer Systems Institute in the 1980s. It was used mainly for research, teaching, and daily work in Wirth’s group.

Other operating systems have failed to win significant market share, but have introduced innovations that have influenced mainstream operating systems, not least Bell Labs’ Plan 9.

Components

The components of an operating system all exist in order to make the different parts of a computer work together. All user software needs to go through the operating system in order to use any of the hardware, whether it be as simple as a mouse or keyboard or as complex as an Internet component.

Kernel

A kernel connects the application software to the hardware of a computer.

With the aid of firmware and device drivers, the kernel provides the most basic level of control over all of the computer’s hardware devices. It manages memory access for programs in the RAM, it determines which programs get access to which hardware resources, it sets up or resets the CPU’s operating states for optimal operation at all times, and it organizes the data for long-term non-volatile storage with file systems on such media as disks, tapes, flash memory, etc.

Program execution

The operating system provides an interface between an application program and the computer hardware, so that an application program can interact with the hardware only by obeying rules and procedures programmed into the operating system. The operating system is also a set of services which simplify development and execution of application programs. Executing an application program typically involves the creation of a process by the operating system kernel, which assigns memory space and other resources, establishes a priority for the process in multi-tasking systems, loads program binary code into memory, and initiates execution of the application program, which then interacts with the user and with hardware devices. However, in some systems an application can request that the operating system execute another application within the same process, either as a subroutine or in a separate thread, e.g., the LINK and ATTACH facilities of OS/360 and successors..

Interrupts

An interrupt (also known as abort, exception, fault, signal[45] and trap)[46] provides an efficient way for most operating systems to react to the environment. Interrupts cause the central processing unit (CPU) to have a control flow change away from the currently running program to an interrupt handler, also known as an interrupt service routine (ISR).[47][48] An interrupt service routine may cause the central processing unit (CPU) to have a context switch[49] [d]. The details of how a computer processes an interrupt vary from architecture to architecture, and the details of how interrupt service routines behave vary from operating system to operating system.[50] However, several interrupt functions are common.[50] The architecture and operating system must:[50]

  1. transfer control to an interrupt service routine.
  2. save the state of the currently running process.
  3. restore the state after the interrupt is serviced.
Software interrupt

A software interrupt is a message to a process that an event has occurred.[45] This contrasts with a hardware interrupt — which is a message to the central processing unit (CPU) that an event has occurred.[51] Software interrupts are similar to hardware interrupts — there is a change away from the currently running process.[52] Similarly, both hardware and software interrupts execute an interrupt service routine.

Software interrupts may be normally occurring events. It is expected that a time slice will occur, so the kernel will have to perform a context switch.[53] A computer program may set a timer to go off after a few seconds in case too much data causes an algorithm to take too long.[54]

Software interrupts may be error conditions, such as a malformed machine instruction.[54] However, the most common error conditions are division by zero and accessing an invalid memory address.[54]

Users can send messages to the kernel to modify the behavior of a currently running process.[54] For example, in the command-line environment, pressing the interrupt character (usually Control-C) might terminate the currently running process.[54]

To generate software interrupts for x86 CPUs, the INT assembly language instruction is available.[55] The syntax is INT X, where X is the offset number (in hexadecimal format) to the interrupt vector table.

Signal

To generate software interrupts in Unix-like operating systems, the kill(pid,signum) system call will send a signal to another process.[56] pid is the process identifier of the receiving process. signum is the signal number (in mnemonic format)[e] to be sent. (The abrasive name of kill was chosen because early implementations only terminated the process.)[57]

In Unix-like operating systems, signals inform processes of the occurrence of asynchronous events.[56] To communicate asynchronously, interrupts are required.[58] One reason a process needs to asynchronously communicate to another process solves a variation of the classic reader/writer problem.[59] The writer receives a pipe from the shell for its output to be sent to the reader’s input stream.[60] The command-line syntax is alpha | bravo. alpha will write to the pipe when its computation is ready and then sleep in the wait queue.[61] bravo will then be moved to the ready queue and soon will read from its input stream.[62] The kernel will generate software interrupts to coordinate the piping.[62]

Signals may be classified into 7 categories.[56] The categories are:

  1. when a process finishes normally.
  2. when a process has an error exception.
  3. when a process runs out of a system resource.
  4. when a process executes an illegal instruction.
  5. when a process sets an alarm event.
  6. when a process is aborted from the keyboard.
  7. when a process has a tracing alert for debugging.
Hardware interrupt

Input/Output (I/O) devices are slower than the CPU. Therefore, it would slow down the computer if the CPU had to wait for each I/O to finish. Instead, a computer may implement interrupts for I/O completion, avoiding the need for polling or busy waiting.[63]

Some computers require an interrupt for each character or word, costing a significant amount of CPU time. Direct memory access (DMA) is an architecture feature to allow devices to bypass the CPU and access main memory directly.[64] (Separate from the architecture, a device may perform direct memory access[f] to and from main memory either directly or via a bus.)[65][g]

Input/Output

Interrupt-driven I/O
[icon]

This section needs expansion. You can help by adding to it. (April 2022)

When a computer user types a key on the keyboard, typically the character appears immediately on the screen. Likewise, when a user moves a mouse, the cursor immediately moves across the screen. Each keystroke and mouse movement generates an interrupt called Interrupt-driven I/O. An interrupt-driven I/O occurs when a process causes an interrupt for every character[65] or word[66] transmitted.

Direct Memory Access

Devices such as hard disk drives, solid state drives, and magnetic tape drives can transfer data at a rate high enough that interrupting the CPU for every byte or word transferred, and having the CPU transfer the byte or word between the device and memory, would require too much CPU time. Data is, instead, transferred between the device and memory independently of the CPU by hardware such as a channel or a direct memory access controller; an interrupt is delivered only when all the data is transferred.[67]

If a computer program executes a system call to perform a block I/O write operation, then the system call might execute the following instructions:

  • Set the contents of the CPU’s registers (including the program counter) into the process control block.[68]
  • Create an entry in the device-status table.[69] The operating system maintains this table to keep track of which processes are waiting for which devices. One field in the table is the memory address of the process control block.
  • Place all the characters to be sent to the device into a memory buffer.[58]
  • Set the memory address of the memory buffer to a predetermined device register.[70]
  • Set the buffer size (an integer) to another predetermined register.[70]
  • Execute the machine instruction to begin the writing.
  • Perform a context switch to the next process in the ready queue.

While the writing takes place, the operating system will context switch to other processes as normal. When the device finishes writing, the device will interrupt the currently running process by asserting an interrupt request. The device will also place an integer onto the data bus.[71] Upon accepting the interrupt request, the operating system will:

  • Push the contents of the program counter (a register) followed by the status register onto the call stack.[50]
  • Push the contents of the other registers onto the call stack. (Alternatively, the contents of the registers may be placed in a system table.)[71]
  • Read the integer from the data bus. The integer is an offset to the interrupt vector table. The vector table’s instructions will then:
  • Access the device-status table.
  • Extract the process control block.
  • Perform a context switch back to the writing process.

When the writing process has its time slice expired, the operating system will:[72]

  • Pop from the call stack the registers other than the status register and program counter.
  • Pop from the call stack the status register.
  • Pop from the call stack the address of the next instruction, and set it back into the program counter.

With the program counter now reset, the interrupted process will resume its time slice.[50]

Modes

Privilege rings for the x86 microprocessor architecture available in protected mode. Operating systems determine which processes run in each mode.

Modern computers support multiple modes of operation. CPUs with this capability offer at least two modes: user mode and supervisor mode. In general terms, supervisor mode operation allows unrestricted access to all machine resources, including all MPU instructions. User mode operation sets limits on instruction use and typically disallows direct access to machine resources. CPUs might have other modes similar to user mode as well, such as the virtual modes in order to emulate older processor types, such as 16-bit processors on a 32-bit one, or 32-bit processors on a 64-bit one.

At power-on or reset, the system begins in supervisor mode. Once an operating system kernel has been loaded and started, the boundary between user mode and supervisor mode (also known as kernel mode) can be established.

Supervisor mode is used by the kernel for low level tasks that need unrestricted access to hardware, such as controlling how memory is accessed, and communicating with devices such as disk drives and video display devices. User mode, in contrast, is used for almost everything else. Application programs, such as word processors and database managers, operate within user mode, and can only access machine resources by turning control over to the kernel, a process which causes a switch to supervisor mode. Typically, the transfer of control to the kernel is achieved by executing a software interrupt instruction, such as the Motorola 68000 TRAP instruction. The software interrupt causes the processor to switch from user mode to supervisor mode and begin executing code that allows the kernel to take control.

In user mode, programs usually have access to a restricted set of processor instructions, and generally cannot execute any instructions that could potentially cause disruption to the system’s operation. In supervisor mode, instruction execution restrictions are typically removed, allowing the kernel unrestricted access to all machine resources.

The term «user 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 cause a switch to supervisor mode, where the operating system can deal with the illegal operation the program was attempting; for example, by forcibly terminating («killing») the program.

Memory management

Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by the programs. This ensures that a program does not interfere with memory already in use 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 any more, 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 trigger an interrupt, which causes the CPU to re-enter supervisor mode, placing the kernel in charge. This is called a segmentation violation or Seg-V for short, and since it is both difficult to assign a meaningful result to such an operation, and because it is usually a sign of a misbehaving program, the kernel generally resorts to terminating the offending program, and reports the error.

Windows versions 3.1 through ME had some level of memory protection, but programs could easily circumvent the need to use it. A general protection fault would be produced, indicating a segmentation violation had occurred; however, the system would often crash anyway.

Virtual memory

Many operating systems can «trick» programs into using memory scattered around the hard disk and RAM as if it is one continuous chunk of memory, called virtual memory.

The use of virtual memory addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time, allowing the operating system to use the same memory locations for multiple tasks.

If a program tries to access memory that isn’t in its current range of accessible memory, but nonetheless has been allocated to it, the kernel is interrupted in the same way as it would if the program were to exceed its allocated memory. (See section on memory management.) Under UNIX this kind of interrupt is referred to as a page fault.

When the kernel detects a page fault it generally adjusts the virtual memory range of the program which triggered it, granting it access to the memory requested. This gives the kernel discretionary power over where a particular application’s memory is stored, or even whether or not it has actually been allocated yet.

In modern operating systems, memory which is accessed less frequently can be temporarily stored on a disk or other media to make that space available for use by other programs. This is called swapping, as an area of memory can be used by multiple programs, and what that memory area contains can be swapped or exchanged on demand.

«Virtual memory» provides the programmer or the user with the perception that there is a much larger amount of RAM in the computer than is really there.[73]

Multitasking

Multitasking refers to the running of multiple independent computer programs on the same computer, giving the appearance that it is performing the tasks at the same time. Since most computers can do at most one or two things at one time, this is generally done via time-sharing, which means that each program uses a share of the computer’s time to execute.

An operating system kernel contains a scheduling program which determines how much time each process spends executing, and in which order execution control should be passed to programs. Control is passed to a process by the kernel, which allows the program access to the CPU and memory. Later, control is returned to the kernel through some mechanism, so that another program may be allowed to use the CPU. This so-called passing of control between the kernel and applications is called a context switch.

An early model which governed the allocation of time to programs was called cooperative multitasking. In this model, when control is passed to a program by the kernel, it may execute for as long as it wants before explicitly returning control to the kernel. This means that a malicious or malfunctioning program may not only prevent any other programs from using the CPU, but it can hang the entire system if it enters an infinite loop.

Modern operating systems extend the concepts of application preemption to device drivers and kernel code, so that the operating system has preemptive control over internal run-times as well.

The philosophy governing preemptive multitasking is that of ensuring that all programs are given regular time on the CPU. This implies that all programs must be limited in how much time they are allowed to spend on the CPU without being interrupted. To accomplish this, modern operating system kernels make use of a timed interrupt. A protected mode timer is set by the kernel which triggers a return to supervisor mode after the specified time has elapsed. (See above sections on Interrupts and Dual Mode Operation.)

On many single user operating systems cooperative multitasking is perfectly adequate, as home computers generally run a small number of well tested programs. AmigaOS is an exception, having preemptive multitasking from its first version. Windows NT was the first version of Microsoft Windows which enforced preemptive multitasking, but it didn’t reach the home user market until Windows XP (since Windows NT was targeted at professionals).

Disk access and file systems

File systems allow users and programs to organize and sort files on a computer, often through the use of directories (or «folders»).

Access to data stored on disks is a central feature of all operating systems. Computers store data on disks using files, which are structured in specific ways in order to allow for faster access, higher reliability, and to make better use of the drive’s available space. The specific way in which files are stored on a disk is called a file system, and enables files to have names and attributes. It also allows them to be stored in a hierarchy of directories or folders arranged in a directory tree.

Early operating systems generally supported a single type of disk drive and only one kind of file system. Early file systems were limited in their capacity, speed, and in the kinds of file names and directory structures they could use. These limitations often reflected limitations in the operating systems they were designed for, making it very difficult for an operating system to support more than one file system.

While many simpler operating systems support a limited range of options for accessing storage systems, operating systems like UNIX and Linux support a technology known as a virtual file system or VFS. An operating system such as UNIX supports a wide array of storage devices, regardless of their design or file systems, allowing them to be accessed through a common application programming interface (API). This makes it unnecessary for programs to have any knowledge about the device they are accessing. A VFS allows the operating system to provide programs with access to an unlimited number of devices with an infinite variety of file systems installed on them, through the use of specific device drivers and file system drivers.

A connected storage device, such as a hard drive, is accessed through a device driver. The device driver understands the specific language of the drive and is able to translate that language into a standard language used by the operating system to access all disk drives. On UNIX, this is the language of block devices.

When the kernel has an appropriate device driver in place, it can then access the contents of the disk drive in raw format, which may contain one or more file systems. A file system driver is used to translate the commands used to access each specific file system into a standard set of commands that the operating system can use to talk to all file systems. Programs can then deal with these file systems on the basis of filenames, and directories/folders, contained within a hierarchical structure. They can create, delete, open, and close files, as well as gather various information about them, including access permissions, size, free space, and creation and modification dates.

Various differences between file systems make supporting all file systems difficult. Allowed characters in file names, case sensitivity, and the presence of various kinds of file attributes makes the implementation of a single interface for every file system a daunting task. Operating systems tend to recommend using (and so support natively) file systems specifically designed for them; for example, NTFS in Windows and ReiserFS, Reiser4, ext3, ext4 and Btrfs in Linux. However, in practice, third party drivers are usually available to give support for the most widely used file systems in most general-purpose operating systems (for example, NTFS is available in Linux through NTFS-3g, and ext2/3 and ReiserFS are available in Windows through third-party software).

Support for file systems is highly varied among modern operating systems, although there are several common file systems which almost all operating systems include support and drivers for. Operating systems vary on file system support and on the disk formats they may be installed on. Under Windows, each file system is usually limited in application to certain media; for example, CDs must use ISO 9660 or UDF, and as of Windows Vista, NTFS is the only file system which the operating system can be installed on. It is possible to install Linux onto many types of file systems. Unlike other operating systems, Linux and UNIX allow any file system to be used regardless of the media it is stored in, whether it is a hard drive, a disc (CD, DVD…), a USB flash drive, or even contained within a file located on another file system.

Device drivers

A device driver is a specific type of computer software developed to allow interaction with hardware devices. Typically this constitutes an interface for communicating with the device, through the specific computer bus or communications subsystem that the hardware is connected to, providing commands to and/or receiving data from the device, and on the other end, the requisite interfaces to the operating system and software applications. It is a specialized hardware-dependent computer program which is also operating system specific that enables another program, typically an operating system or applications software package or computer program running under the operating system kernel, to interact transparently with a hardware device, and usually provides the requisite interrupt handling necessary for any necessary asynchronous time-dependent hardware interfacing needs.

The key design goal of device drivers is abstraction. Every model of hardware (even within the same class of device) is different. Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently. Computers and their operating systems cannot be expected to know how to control every device, both now and in the future. To solve this problem, operating systems essentially dictate how every type of device should be controlled. The function of the device driver is then to translate these operating system mandated function calls into device specific calls. In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available. This new driver ensures that the device appears to operate as usual from the operating system’s point of view.

Under versions of Windows before Vista and versions of Linux before 2.6, all driver execution was co-operative, meaning that if a driver entered an infinite loop it would freeze the system. More recent revisions of these operating systems incorporate kernel preemption, where the kernel interrupts the driver to give it tasks, and then separates itself from the process until it receives a response from the device driver, or gives it more tasks to do.

Networking

Currently most operating systems support a variety of networking protocols, hardware, and applications for using them. This means that computers running dissimilar operating systems can participate in a common network for sharing resources such as computing, files, printers, and scanners using either wired or wireless connections. Networks can essentially allow a computer’s operating system to access the resources of a remote computer to support the same functions as it could if those resources were connected directly to the local computer. This includes everything from simple communication, to using networked file systems or even sharing another computer’s graphics or sound hardware. Some network services allow the resources of a computer to be accessed transparently, such as SSH which allows networked users direct access to a computer’s command line interface.

Client/server networking allows a program on a computer, called a client, to connect via a network to another computer, called a server. Servers offer (or host) various services to other network computers and users. These services are usually provided through ports or numbered access points beyond the server’s IP address. Each port number is usually associated with a maximum of one running program, which is responsible for handling requests to that port. A daemon, being a user program, can in turn access the local hardware resources of that computer by passing requests to the operating system kernel.

Many operating systems support one or more vendor-specific or open networking protocols as well, for example, SNA on IBM systems, DECnet on systems from Digital Equipment Corporation, and Microsoft-specific protocols (SMB) on Windows. Specific protocols for specific tasks may also be supported such as NFS for file access. Protocols like ESound, or esd can be easily extended over the network to provide sound from local applications, on a remote system’s sound hardware.

Security

A computer being secure depends on a number of technologies working properly. A modern operating system provides access to a number of resources, which are available to software running on the system, and to external devices like networks via the kernel.[74]

The operating system must be capable of distinguishing between requests which should be allowed to be processed, and others which should not be processed. While some systems may simply distinguish between «privileged» and «non-privileged», systems commonly have a form of requester identity, such as a user name. To establish identity there may be a process of authentication. Often a username must be quoted, and each username may have a password. Other methods of authentication, such as magnetic cards or biometric data, might be used instead. In some cases, especially connections from the network, resources may be accessed with no authentication at all (such as reading files over a network share). Also covered by the concept of requester identity is authorization; the particular services and resources accessible by the requester once logged into a system are tied to either the requester’s user account or to the variously configured groups of users to which the requester belongs.[citation needed]

In addition to the allow or disallow model of security, a system with a high level of security also offers auditing options. These would allow tracking of requests for access to resources (such as, «who has been reading this file?»). Internal security, or security from an already running program is only possible if all possibly harmful requests must be carried out through interrupts to the operating system kernel. If programs can directly access hardware and resources, they cannot be secured.[citation needed]

External security involves a request from outside the computer, such as a login at a connected console or some kind of network connection. External requests are often passed through device drivers to the operating system’s kernel, where they can be passed onto applications, or carried out directly. Security of operating systems has long been a concern because of highly sensitive data held on computers, both of a commercial and military nature. The United States Government Department of Defense (DoD) created the Trusted Computer System Evaluation Criteria (TCSEC) which is a standard that sets basic requirements for assessing the effectiveness of security. This became of vital importance to operating system makers, because the TCSEC was used to evaluate, classify and select trusted operating systems being considered for the processing, storage and retrieval of sensitive or classified information.

Network services include offerings such as file sharing, print services, email, web sites, and file transfer protocols (FTP), most of which can have compromised security. At the front line of security are hardware devices known as firewalls or intrusion detection/prevention systems. At the operating system level, there are a number of software firewalls available, as well as intrusion detection/prevention systems. Most modern operating systems include a software firewall, which is enabled by default. A software firewall can be configured to allow or deny network traffic to or from a service or application running on the operating system. Therefore, one can install and be running an insecure service, such as Telnet or FTP, and not have to be threatened by a security breach because the firewall would deny all traffic trying to connect to the service on that port.

An alternative strategy, and the only sandbox strategy available in systems that do not meet the Popek and Goldberg virtualization requirements, is where the operating system is not running user programs as native code, but instead either emulates a processor or provides a host for a p-code based system such as Java.

Internal security is especially relevant for multi-user systems; it allows each user of the system to have private files that the other users cannot tamper with or read. Internal security is also vital if auditing is to be of any use, since a program can potentially bypass the operating system, inclusive of bypassing auditing.

User interface

A screenshot of the bash command line. Each command is typed out after the ‘prompt’, and then its output appears below, working its way down the screen. The current command prompt is at the bottom.

Every computer that is to be operated by an individual requires a user interface. The user interface is usually referred to as a shell and is essential if human interaction is to be supported. The user interface views the directory structure and requests services from the operating system that will acquire data from input hardware devices, such as a keyboard, mouse or credit card reader, and requests operating system services to display prompts, status messages and such on output hardware devices, such as a video monitor or printer. The two most common forms of a user interface have historically been the command-line interface, where computer commands are typed out line-by-line, and the graphical user interface, where a visual environment (most commonly a WIMP) is present.

Graphical user interfaces

A screenshot of the KDE Plasma 5 graphical user interface. Programs take the form of images on the screen, and the files, folders (directories), and applications take the form of icons and symbols. A mouse is used to navigate the computer.

Most of the modern computer systems support graphical user interfaces (GUI), and often include them. In some computer systems, such as the original implementation of the classic Mac OS, the GUI is integrated into the kernel.

While technically a graphical user interface is not an operating system service, incorporating support for one into the operating system kernel can allow the GUI to be more responsive by reducing the number of context switches required for the GUI to perform its output functions. Other operating systems are modular, separating the graphics subsystem from the kernel and the Operating System. In the 1980s UNIX, VMS and many others had operating systems that were built this way. Linux and macOS are also built this way. Modern releases of Microsoft Windows such as Windows Vista implement a graphics subsystem that is mostly in user-space; however the graphics drawing routines of versions between Windows NT 4.0 and Windows Server 2003 exist mostly in kernel space. Windows 9x had very little distinction between the interface and the kernel.

Many computer operating systems allow the user to install or create any user interface they desire. The X Window System in conjunction with GNOME or KDE Plasma 5 is a commonly found setup on most Unix and Unix-like (BSD, Linux, Solaris) systems. A number of Windows shell replacements have been released for Microsoft Windows, which offer alternatives to the included Windows shell, but the shell itself cannot be separated from Windows.

Numerous Unix-based GUIs have existed over time, most derived from X11. Competition among the various vendors of Unix (HP, IBM, Sun) led to much fragmentation, though an effort to standardize in the 1990s to COSE and CDE failed for various reasons, and were eventually eclipsed by the widespread adoption of GNOME and K Desktop Environment. Prior to free software-based toolkits and desktop environments, Motif was the prevalent toolkit/desktop combination (and was the basis upon which CDE was developed).

Graphical user interfaces evolve over time. For example, Windows has modified its user interface almost every time a new major version of Windows is released, and the Mac OS GUI changed dramatically with the introduction of Mac OS X in 1999.[75]

Real-time operating systems

A real-time operating system (RTOS) is an operating system intended for applications with fixed deadlines (real-time computing). Such applications include some small embedded systems, automobile engine controllers, industrial robots, spacecraft, industrial control, and some large-scale computing systems.

An early example of a large-scale real-time operating system was Transaction Processing Facility developed by American Airlines and IBM for the Sabre Airline Reservations System.

Embedded systems that have fixed deadlines use a real-time operating system such as VxWorks, PikeOS, eCos, QNX, MontaVista Linux and RTLinux. Windows CE is a real-time operating system that shares similar APIs to desktop Windows but shares none of desktop Windows’ codebase.[76] Symbian OS also has an RTOS kernel (EKA2) starting with version 8.0b.

Some embedded systems use operating systems such as Palm OS, BSD, and Linux, although such operating systems do not support real-time computing.

Operating system development as a hobby

A hobby operating system may be classified as one whose code has not been directly derived from an existing operating system, and has few users and active developers.[citation needed]

In some cases, hobby development is in support of a «homebrew» computing device, for example, a simple single-board computer powered by a 6502 microprocessor. Or, development may be for an architecture already in widespread use. Operating system development may come from entirely new concepts, or may commence by modeling an existing operating system. In either case, the hobbyist is her/his own developer, or may interact with a small and sometimes unstructured group of individuals who have like interests.

Examples of a hobby operating system include Syllable and TempleOS.

Diversity of operating systems and portability

Application software is generally written for use on a specific operating system, and sometimes even for specific hardware.[citation needed] When porting the application to run on another OS, the functionality required by that application may be implemented differently by that OS (the names of functions, meaning of arguments, etc.) requiring the application to be adapted, changed, or otherwise maintained.

Unix was the first operating system not written in assembly language, making it very portable to systems different from its native PDP-11.[77]

This cost in supporting operating systems diversity can be avoided by instead writing applications against software platforms such as Java or Qt. These abstractions have already borne the cost of adaptation to specific operating systems and their system libraries.

Another approach is for operating system vendors to adopt standards. For example, POSIX and OS abstraction layers provide commonalities that reduce porting costs.

See also

  • Comparison of operating systems
  • Crash (computing)
  • Hypervisor
  • Interruptible operating system
  • List of important publications in operating systems
  • List of operating systems
  • List of pioneers in computer science
  • Live CD
  • Glossary of operating systems terms
  • Microcontroller
  • Mobile device
  • Mobile operating system
  • Network operating system
  • Object-oriented operating system
  • Operating System Projects
  • System Commander
  • System image
  • Timeline of operating systems

Notes

  1. ^ A combination of DOS/360 and emulation software was known as Compatibility Operating System (COS).
  2. ^ However, ESPOL did allow source programs to specify all of the operations of the instruction repertoire.
  3. ^ Bell Labs quickly dropped out, leaving GE and MIT.
  4. ^ Modern CPUs provide instructions (e.g. SYSENTER) to invoke selected kernel services without an interrupts. Visit https://wiki.osdev.org/SYSENTER for more information.
  5. ^ Examples include SIGINT, SIGSEGV, and SIGBUS.
  6. ^ often in the form of a DMA chip for smaller systems and I/O channels for larger systems
  7. ^ Modern motherboards have a DMA controller. Additionally, a device may also have one. Visit SCSI RDMA Protocol.

References

  1. ^ Stallings (2005). Operating Systems, Internals and Design Principles. Pearson: Prentice Hall. p. 6.
  2. ^ Dhotre, I.A. (2009). Operating Systems. Technical Publications. p. 1.
  3. ^ a b «Desktop Operating System Market Share Worldwide». StatCounter Global Stats. Archived from the original on 27 January 2020. Retrieved 12 October 2022.
  4. ^ «Mobile & Tablet Operating System Market Share Worldwide». StatCounter Global Stats. Archived from the original on 1 November 2020. Retrieved 12 October 2022.
  5. ^ «Strategy Analytics: Android Captures Record 88 Percent Share of Global Smartphone Shipments in Q3 2016». 2 November 2016. Archived from the original on 5 November 2016.
  6. ^ «VII. Special-Purpose Systems — Operating System Concepts, Seventh Edition [Book]». www.oreilly.com. Archived from the original on 13 June 2021. Retrieved 8 February 2021.
  7. ^ «Special-Purpose Operating Systems — RWTH AACHEN UNIVERSITY Institute for Automation of Complex Power Systems — English». www.acs.eonerc.rwth-aachen.de. Archived from the original on 14 June 2021. Retrieved 8 February 2021.
  8. ^ Lorch, Jacob R., and Alan Jay Smith. «Reducing processor power consumption by improving processor time management in a single-user operating system.» Proceedings of the 2nd annual international conference on Mobile computing and networking. ACM, 1996.
  9. ^ Mishra, B.; Singh, N.; Singh, R. (2014). «Master-slave group based model for co-ordinator selection, an improvement of bully algorithm». International Conference on Parallel, Distributed and Grid Computing (PDGC). pp. 457–460. doi:10.1109/PDGC.2014.7030789. ISBN 978-1-4799-7682-9. S2CID 13887160.
  10. ^ a b Hansen, Per Brinch, ed. (2001). Classic Operating Systems. Springer. pp. 4–7. ISBN 0-387-95113-X. Archived from the original on 11 January 2023. Retrieved 19 December 2020.
  11. ^ Ryckman, George (1960). «The computer operation language». IRE-AIEE-ACM ’60 (Western): 341. doi:10.1145/1460361.1460406. S2CID 30745551.
  12. ^ Lavington, Simon (1998). A History of Manchester Computers (2nd ed.). Swindon: The British Computer Society. pp. 50–52. ISBN 978-1-902505-01-5.
  13. ^ Kilburn, T.; Payne, R. B.; Howarth, D. J. (December 1961). «The Atlas Supervisor». Institute of Electrical Engineers: 279–294. doi:10.1145/1460764.1460786. S2CID 16466990. Archived from the original on 9 June 2022. Retrieved 17 June 2022.
  14. ^ Brinch Hansen, Per (2000). Classic Operating Systems: From Batch Processing to Distributed Systems. Springer-Verlag.
  15. ^ EXEC I UNIVAC 1107 Executive System (PDF) (rev. 1 ed.). Sperry Rand. UP-2577. Archived (PDF) from the original on 15 June 2022. Retrieved 15 May 2022.
  16. ^ UNIVAC DATA PROCESSING DIVISION MULTI-PROCESSOR SYSTEM EXEC II PROGRAMMERS REFERENCE MANUAL (PDF). Sperry Rand. 1966. UP-4058. Archived (PDF) from the original on 15 June 2022. Retrieved 15 May 2022.
  17. ^ UNIVAC 1108 MULTI-PROCESSOR SYSTEM Operating System EXEC 8 PROGRAMMERS REFERENCE (PDF) (rev. 1 ed.). Sperry Rand. 1968. UP-4144. Archived (PDF) from the original on 25 May 2022. Retrieved 15 May 2022.
  18. ^ «Intel® Microprocessor Quick Reference Guide — Year». www.intel.com. Archived from the original on 25 April 2016. Retrieved 24 April 2016.
  19. ^ Ritchie, Dennis. «Unix Manual, first edition». Lucent Technologies. Archived from the original on 18 May 2008. Retrieved 22 November 2012.
  20. ^ «OS X Mountain Lion – Move your Mac even further ahead». Apple. Archived from the original on 23 May 2011. Retrieved 7 August 2012.
  21. ^ «OPENEDITION SERVICES ON MVS/ESA SP VERSION 4 RELEASE 3 ANNOUNCED AND AVAILABILITY OF MVS/ESA SP VERSION 4 RELEASE 3 WITH ADDITIONAL ENHANCEMENTS». Announcement Letters. IBM. 9 February 1993. 293-060. Archived from the original on 19 March 2022. Retrieved 2 February 2022.
  22. ^ Introducing OpenEdition MVS. First Edition. IBM. December 1993. GC23-3010-00.
  23. ^ OpenEdition MVS POSIX.1 Conformance Document. First Edition. IBM. February 1993. GC23-3011-00.
  24. ^ OpenEdition MVS POSIX.2 Conformance Document. First Edition. IBM. December 1993. GC23-3012-00.
  25. ^ «Twenty Years of Linux according to Linus Torvalds». ZDNet. April 13, 2011. Archived from the original on September 19, 2016. Retrieved September 19, 2016.
  26. ^ Linus Benedict Torvalds (5 October 1991). «Free minix-like kernel sources for 386-AT». Newsgroup: comp.os.minix. Archived from the original on 2 March 2013. Retrieved 30 September 2011.
  27. ^ «What Is Linux: An Overview of the Linux Operating System». Medium. Archived from the original on June 12, 2020. Retrieved December 21, 2019.
  28. ^ Linux Online (2008). «Linux Logos and Mascots». Archived from the original on 15 August 2010. Retrieved 11 August 2009.
  29. ^ «IDC report into Server market share». Idc.com. Archived from the original on 27 September 2012. Retrieved 7 August 2012.
  30. ^ LinuxDevices Staff (23 April 2008). «Linux still top embedded OS». LinuxGizmos.com. Archived from the original on 19 April 2016. Retrieved 5 April 2016.
  31. ^ «Sublist Generator». Top500.org. Archived from the original on 27 February 2021. Retrieved 6 February 2017.
  32. ^ «Top 5 Operating Systems from January to April 2011». StatCounter. October 2009. Archived from the original on 26 May 2012. Retrieved 5 November 2009.
  33. ^ «Global Web Stats». Net Market Share, Net Applications. May 2011. Archived from the original on 25 January 2010. Retrieved 7 May 2011.
  34. ^ «Global Web Stats». W3Counter, Awio Web Services. September 2009. Archived from the original on 28 June 2012. Retrieved 24 October 2009.
  35. ^ «Operating System Market Share». Net Applications. October 2009. Archived from the original on 25 January 2010. Retrieved 5 November 2009.
  36. ^ «w3schools.com OS Platform Statistics». Archived from the original on 5 August 2011. Retrieved 30 October 2011.
  37. ^ «Stats Count Global Stats Top Five Operating Systems». Archived from the original on 26 May 2012. Retrieved 30 October 2011.
  38. ^ «Global statistics at w3counter.com». Archived from the original on 28 June 2012. Retrieved 23 January 2012.
  39. ^ «Troubleshooting MS-DOS Compatibility Mode on Hard Disks». Support.microsoft.com. Archived from the original on 10 August 2012. Retrieved 7 August 2012.
  40. ^ «Using NDIS 2 PCMCIA Network Card Drivers in Windows 95». Support.microsoft.com. Archived from the original on 17 February 2013. Retrieved 7 August 2012.
  41. ^ «INFO: Windows 95 Multimedia Wave Device Drivers Must be 16 bit». Support.microsoft.com. Archived from the original on 17 February 2013. Retrieved 7 August 2012.
  42. ^ Arthur, Charles. «Windows 8 will run on ARM chips — but third-party apps will need rewrite». The Guardian. Archived from the original on 12 October 2016.
  43. ^ «Operating System Share by Groups for Sites in All Locations January 2009». Archived from the original on 6 July 2009. Retrieved 3 May 2010.
  44. ^ «Behind the IDC data: Windows still No. 1 in server operating systems». ZDNet. 26 February 2010. Archived from the original on 1 March 2010.
  45. ^ a b Kerrisk, Michael (2010). The Linux Programming Interface. No Starch Press. p. 388. ISBN 978-1-59327-220-3. A signal is a notification to a process that an event has occurred. Signals are sometimes described as software interrupts.
  46. ^ Hyde, Randall (1996). «Chapter Seventeen: Interrupts, Traps and Exceptions (Part 1)». The Art Of Assembly Language Programming. No Starch Press. Archived from the original on 22 December 2021. Retrieved 22 December 2021. The concept of an interrupt is something that has expanded in scope over the years. The 80×86 family has only added to the confusion surrounding interrupts by introducing the int (software interrupt) instruction. Indeed, different manufacturers have used terms like exceptions, faults, aborts, traps and interrupts to describe the phenomena this chapter discusses. Unfortunately there is no clear consensus as to the exact meaning of these terms. Different authors adopt different terms to their own use.
  47. ^ Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. p. 308. ISBN 978-0-13-854662-5. Like the trap, the interrupt stops the running program and transfers control to an interrupt handler, which performs some appropriate action. When finished, the interrupt handler returns control to the interrupted program.
  48. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 32. ISBN 978-0-201-50480-4. When an interrupt (or trap) occurs, the hardware transfers control to the operating system. First, the operating system preserves the state of the CPU by storing registers and the program counter. Then, it determines which type of interrupt has occurred. For each type of interrupt, separate segments of code in the operating system determine what action should be taken.
  49. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 105. ISBN 978-0-201-50480-4. Switching the CPU to another process requires saving the state of the old process and loading the saved state for the new process. This task is known as a context switch.
  50. ^ a b c d e Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 31. ISBN 978-0-201-50480-4.
  51. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 30. ISBN 978-0-201-50480-4. Hardware may trigger an interrupt at any time by sending a signal to the CPU, usually by way of the system bus.
  52. ^ Kerrisk, Michael (2010). The Linux Programming Interface. No Starch Press. p. 388. ISBN 978-1-59327-220-3. Signals are analogous to hardware interrupts in that they interrupt the normal flow of execution of a program; in most cases, it is not possible to predict exactly when a signal will arrive.
  53. ^ Kerrisk, Michael (2010). The Linux Programming Interface. No Starch Press. p. 388. ISBN 978-1-59327-220-3. Among the types of events that cause the kernel to generate a signal for a process are the following: A software event occurred. For example, … the process’s CPU time limit was exceeded[.]
  54. ^ a b c d e Kerrisk, Michael (2010). The Linux Programming Interface. No Starch Press. p. 388. ISBN 978-1-59327-220-3.
  55. ^ «Intel® 64 and IA-32 Architectures Software Developer’s Manual» (PDF). Intel Corporation. September 2016. p. 610. Archived (PDF) from the original on 23 March 2022. Retrieved 5 May 2022.
  56. ^ a b c Bach, Maurice J. (1986). The Design of the UNIX Operating System. Prentice-Hall. p. 200. ISBN 0-13-201799-7.
  57. ^ Kerrisk, Michael (2010). The Linux Programming Interface. No Starch Press. p. 400. ISBN 978-1-59327-220-3.
  58. ^ a b Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. p. 308. ISBN 978-0-13-854662-5.
  59. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 182. ISBN 978-0-201-50480-4.
  60. ^ Haviland, Keith; Salama, Ben (1987). UNIX System Programming. Addison-Wesley Publishing Company. p. 153. ISBN 0-201-12919-1.
  61. ^ Haviland, Keith; Salama, Ben (1987). UNIX System Programming. Addison-Wesley Publishing Company. p. 148. ISBN 0-201-12919-1.
  62. ^ a b Haviland, Keith; Salama, Ben (1987). UNIX System Programming. Addison-Wesley Publishing Company. p. 149. ISBN 0-201-12919-1.
  63. ^ Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. p. 292. ISBN 978-0-13-854662-5.
  64. ^ IBM (September 1968), «Main Storage» (PDF), IBM System/360 Principles of Operation (PDF), Eighth Edition, p. 7, archived (PDF) from the original on 19 March 2022, retrieved 13 April 2022
  65. ^ a b
    Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. p. 294. ISBN 978-0-13-854662-5.
  66. ^ «Program Interrupt Controller (PIC)» (PDF). Users Handbook — PDP-7 (PDF). Digital Equipment Corporation. 1965. pp. 48. F-75. Archived (PDF) from the original on 10 May 2022. Retrieved 20 April 2022.
  67. ^ PDP-1 Input-Output Systems Manual (PDF). Digital Equipment Corporation. pp. 19–20. Archived (PDF) from the original on 25 January 2019. Retrieved 16 August 2022.
  68. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 32. ISBN 978-0-201-50480-4.
  69. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 34. ISBN 978-0-201-50480-4.
  70. ^ a b Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. p. 295. ISBN 978-0-13-854662-5.
  71. ^ a b Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. p. 309. ISBN 978-0-13-854662-5.
  72. ^ Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. p. 310. ISBN 978-0-13-854662-5.
  73. ^ Stallings, William (2008). Computer Organization & Architecture. New Delhi: Prentice-Hall of India Private Limited. p. 267. ISBN 978-81-203-2962-1.
  74. ^ «Operating Systems: Security». www.cs.uic.edu. Archived from the original on 7 December 2020. Retrieved 27 November 2020.
  75. ^ Poisson, Ken. «Chronology of Personal Computer Software» Archived 14 May 2008 at the Wayback Machine. Retrieved on 2008-05-07. Last checked on 2009-03-30.
  76. ^ «Reading: Operating System». Lumen. Archived from the original on 6 January 2019. Retrieved 5 January 2019.
  77. ^ «The History of Unix». BYTE. August 1983. p. 188. Retrieved 31 January 2015.

Further reading

  • Anderson, Thomas; Dahlin, Michael (2014). Operating Systems: Principles and Practice. Recursive Books. ISBN 978-0-9856735-2-9.
  • Auslander, M. A.; Larkin, D. C.; Scherr, A. L. (September 1981). «The Evolution of the MVS Operating System». IBM Journal of Research and Development. 25 (5): 471–482. doi:10.1147/rd.255.0471.
  • Deitel, Harvey M.; Deitel, Paul; Choffnes, David (25 December 2015). Operating Systems. Pearson/Prentice Hall. ISBN 978-0-13-092641-8.
  • Bic, Lubomur F.; Shaw, Alan C. (2003). Operating Systems. Pearson: Prentice Hall.
  • Silberschatz, Avi; Galvin, Peter; Gagne, Greg (2008). Operating Systems Concepts. John Wiley & Sons. ISBN 978-0-470-12872-5.
  • O’Brien, J. A., & Marakas, G. M.(2011). Management Information Systems. 10e. McGraw-Hill Irwin.
  • Leva, Alberto; Maggio, Martina; Papadopoulos, Alessandro Vittorio; Terraneo, Federico (2013). Control-based Operating System Design. IET. ISBN 978-1-84919-609-3.
  • Arpaci-Dusseau, Remzi; Arpaci-Dusseau, Andrea (2015). Operating Systems: Three Easy Pieces. Archived from the original on 25 July 2016. Retrieved 25 July 2016.

External links

  • Operating Systems at Curlie
  • Multics History and the history of operating systems

Table of contents

      • What is an Operating System?
      • History of Operating Systems
      • Functions of Operating System
      • Features of Operating Systems
      • Components of Operating System
      • What is Kernel?
        • Functions of kernel
      • Types of Kernel
      • Types of Operating System
        • Batch OS
        • Distributed OS
        • Multitasking OS
        • Network OS
        • Real-Time OS
        • Mobile OS
      • 32-bit OS versus 64-bit OS
      • Operating Systems Market Share
      • Examples of Operating System
      • Advantages of Operating System
      • Disadvantages of Operating System
      • Real-Time Operating System
      • What is RTOS?
        • Applications of Real-Time Operating System
      • Conclusion
      • Operating System FAQs

What is an Operating System?

An operating system (OS) manages all other applications and programs in a computer, and it is loaded into the computer by a boot program. It enables applications to interact with a computer’s hardware. Through a designated application programme interface, the application programmes request services from the operating system (API). The kernel is the software that contains the operating system’s core components. To run other programmes, every computer has to have at least one operating system installed.

what is operating system

Operating System

Windows, Linux, and Android are examples of operating systems that enable the user to use programs like MS Office, Notepad, and games on the computer or mobile phone. It is necessary to have at least one operating system installed in the computer to run basic programs like browsers.

Know More About Operating System

History of Operating Systems

  • The first computer, Z1, was made in 1936 – 1938. Unfortunately, this computer ran without an operating system.
  • Twenty years later, the first-ever operating system was made in 1956.
  • In the 1960s, bell labs started working on building UNIX, the first multitasking operating system.
  • In 1977 the apple series came into existence. Apple Dos 3.3 was the first disk operating system.
  • In 1981, Microsoft built the first operating system called DOS by purchasing 86 – DOS software from a Seattle company.
  • The most famous Microsoft windows came into existence in 1985 when MS-DOS was paired with GUI, a graphics environment. 

Functions of Operating System

  • Processor Management: An operating system manages the processor’s work by allocating various jobs to it and ensuring that each process receives enough time from the processor to function properly.
  • Memory Management: An operating system manages the allocation and deallocation of the memory to various processes and ensures that the other process does not consume the memory allocated to one process.
  • Device Management: There are various input and output devices. An OS controls the working of these input-output devices. It receives the requests from these devices, performs a specific task, and communicates back to the requesting process.
  • File Management: An operating system keeps track of information regarding the creation, deletion, transfer, copy, and storage of files in an organized way. It also maintains the integrity of the data stored in these files, including the file directory structure, by protecting against unauthorized access.
  • Security: The operating system provides various techniques which assure the integrity and confidentiality of user data. Following security measures are used to protect user data:
    • Protection against unauthorized access through login.
    • Protection against intrusion by keeping Firefall active.
    • Protecting the system memory against malicious access.
    • Displaying messages related to system vulnerabilities.
  • Error Detection: From time to time, the operating system checks the system for any external threat or malicious software activity. It also checks the hardware for any type of damage. This process displays several alerts to the user so that the appropriate action can be taken against any damage caused to the system. 
  • Job Scheduling: In a multitasking OS where multiple programs run simultaneously, the operating system determines which applications should run in which order and how time should be allocated to each application. 

Functions of Operating System

Features of Operating Systems

Here is a list of some important features of operating systems:

  1. Provides a platform for running applications
  2. Handles memory management and CPU scheduling
  3. Provides file system abstraction
  4. Provides networking support
  5. Provides security features
  6. Provides user interface
  7. Provides utilities and system services
  8. Supports application development

Components of Operating System

Now to perform the functions mentioned above, the operating system has two components:

  • Shell
  • Kernel

Shell handles user interactions. It is the outermost layer of the OS and manages the interaction between user and operating system by:

  • Prompting the user to give input
  • Interpreting the input for the operating system
  • Handling the output from the operating system.

Shell provides a way to communicate with the OS by either taking the input from the user or the shell script. A shell script is a sequence of system commands that are stored in a file.

For an in-depth understanding of this topic, check out this free operating system course.

What is Kernel?

The kernel is the core component of an operating system for a computer (OS). All other components of the OS rely on the core to supply them with essential services. It serves as the primary interface between the OS and the hardware and aids in the control of devices, networking, file systems, and process and memory management.

What is Kernel

KERNEL

Functions of kernel

The kernel is the core component of an operating system which acts as an interface between applications, and the data is processed at the hardware level.

When an OS is loaded into memory, the kernel is loaded first and remains in memory until the OS is shut down. After that, the kernel provides and manages the computer resources and allows other programs to run and use these resources. The kernel also sets up the memory address space for applications, loads the files with application code into memory, and sets up the execution stack for programs.

The kernel is responsible for performing the following tasks:

  • Input-Output management 
  • Memory Management 
  • Process Management for application execution. 
  • Device Management 
  • System calls control 

Earlier, all the basic system services like process and memory management, interrupt handling, etc., were packaged into a single module in the kernel space. This type of kernel was called the Monolithic Kernel. The problem with this approach was that the whole kernel had to be recompiled for even a small change.

In a modern-day approach to monolithic architecture, a microkernel contains different modules like device management, file management, etc. It is dynamically loaded and unloaded. With this modern-day approach, the kernel code size was reduced while its stability increased. 

Types of Kernel

Linus Torvalds introduced the concept of a monolithic kernel in 1991 as a part of the Linux kernel. A monolithic kernel is a single large program that contains all operating system components. However, the Linux kernel evolved over the years and now consists of different types of kernels, as listed below.

1. Monolithic Kernel As the name suggests, a monolithic kernel is a single large program that contains all operating system components. The entire kernel executes in the processor’s privileged mode and provides full access to the system’s hardware. Monolithic kernels are faster than microkernels because they don’t have the overhead of message passing. This type of kernel is generally used in embedded systems and real-time operating systems.

2. Microkernel A microkernel is a kernel that contains only the essential components required for the basic functioning of the operating system. All other components are removed from the kernel and implemented as user-space processes. The microkernel approach provides better modularity, flexibility, and extensibility. It is also more stable and secure than monolithic kernels.

3. Hybrid Kernel A hybrid kernel is a kernel that combines the best features of both monolithic kernels and microkernels. It contains a small microkernel that provides the essential components for the basic functioning of the OS. The remaining components are implemented as user-space processes or as loadable kernel modules. This approach provides the best of both worlds, namely, the performance of monolithic kernels and the modularity of microkernels.

4. Exokernel An exokernel is a kernel that provides the bare minimum components required for the basic functioning of the operating system. All other components are removed from the kernel and implemented as user-space processes. The exokernel approach provides the best possible performance because there is no kernel overhead. However, it is also the most difficult to implement and is not widely used.

Now let’s look at the different types of operating systems.

Types of Operating System

There are several different types of operating systems present. In this section, we will discuss the advantages and disadvantages of these types of OS.

  • Batch OS
  • Distributed OS
  • Multitasking OS
  • Network OS
  • Real-OS
  • Mobile OS

Batch OS

Batch OS is the first operating system for second-generation computers. This OS does not directly interact with the computer. Instead, an operator takes up similar jobs and groups them together into a batch, and then these batches are executed one by one based on the first-come, first, serve principle.

Advantages of Batch OS

  • Execution time taken for similar jobs is higher.
  • Multiple users can share batch systems.
  • Managing large works becomes easy in batch systems.
  • The idle time for a single batch is very less.

Disadvantages of OS

  • It is hard to debug batch systems.
  • If a job fails, then the other jobs have to wait for an unknown time till the issue is resolved.
  • Batch systems are sometimes costly.

Examples of Batch OS: payroll system, bank statements, data entry, etc.

Distributed OS

A distributed OS is a recent advancement in the field of computer technology and is utilized all over the world that too with great pace. In a distributed OS, various computers are connected through a single communication channel. These independent computers have their memory unit and CPU and are known as loosely coupled systems. The system processes can be of different sizes and can perform different functions. The major benefit of such a type of operating system is that a user can access files that are not present on his system but in another connected system. In addition, remote access is available to the systems connected to this network.

Advantages of Distributed OS

  • Failure of one system will not affect the other systems because all the computers are independent of each other.
  • The load on the host system is reduced.
  • The size of the network is easily scalable as many computers can be added to the network.
  • As the workload and resources are shared therefore the calculations are performed at a higher speed.
  • Data exchange speed is increased with the help of electronic mail.

Disadvantages of Distributed OS

  • The setup cost is high.
  • Software used for such systems is highly complex.
  • Failure of the main network will lead to the failure of the whole system.

Examples of Distributed OS: LOCUS, etc.

Multitasking OS

The multitasking OS is also known as the time-sharing operating system as each task is given some time so that all the tasks work efficiently.  This system provides access to a large number of users, and each user gets the time of CPU as they get in a single system. The tasks performed are given by a single user or by different users. The time allotted to execute one task is called a quantum, and as soon as the time to execute one task is completed, the system switches over to another task.

Advantages of Multitasking OS

  • Each task gets equal time for execution.
  • The idle time for the CPU will be the lowest.
  • There are very few chances for the duplication of the software.

Disadvantages of Multitasking OS

  • Processes with higher priority cannot be executed first as equal priority is given to each process or task.
  • Various user data is needed to be taken care of from unauthorized access.
  • Sometimes there is a data communication problem.

Examples of Multitasking OS: UNIX, etc.

Network OS

Network operating systems are the systems that run on a server and manage all the networking functions. They allow sharing of various files, applications, printers, security, and other networking functions over a small network of computers like LAN or any other private network. In the network OS, all the users are aware of the configurations of every other user within the network, which is why network operating systems are also known as tightly coupled systems.

Advantages of Network OS

  • New technologies and hardware can easily upgrade the systems.
  • Security of the system is managed over servers.
  • Servers can be accessed remotely from different locations and systems.
  • The centralized servers are stable.

Disadvantages of Network OS

  • Server costs are high.
  • Regular updates and maintenance are required.
  • Users are dependent on the central location for the maximum number of operations.

Examples of Network OS: Microsoft Windows server 2008, LINUX, etc.

Real-Time OS

Real-Time operating systems serve real-time systems. These operating systems are useful when many events occur in a short time or within certain deadlines, such as real-time simulations.

Types of the real-time OS are:

  • Hard real-time OS

The hard real-time OS is the operating system for mainly the applications in which the slightest delay is also unacceptable. The time constraints of such applications are very strict. Such systems are built for life-saving equipment like parachutes and airbags, which immediately need to be in action if an accident happens.

  • Soft real-time OS

The soft real-time OS is the operating system for applications where time constraint is not very strict.

In a soft real-time system, an important task is prioritized over less important tasks, and this priority remains active until the completion of the task. Furthermore, a time limit is always set for a specific job, enabling short time delays for future tasks, which is acceptable. For Example, virtual reality, reservation systems, etc.  

Advantages of Real-Time OS

  • It provides more output from all the resources as there is maximum utilization of systems.
  • It provides the best management of memory allocation.
  • These systems are always error-free.
  • These operating systems focus more on running applications than those in the queue.
  • Shifting from one task to another takes very little time.

Disadvantages of Real-Time OS

  • System resources are extremely expensive and are not so good.
  • The algorithms used are very complex.
  • Only limited tasks can run at a single time.
  • In such systems, we cannot set thread priority as these systems cannot switch tasks easily.

Examples of Real-Time OS: Medical imaging systems, robots, etc.

Mobile OS

A mobile OS is an operating system for smartphones, tablets, and PDA’s. It is a platform on which other applications can run on mobile devices.

Advantages of Mobile OS

  • It provides ease to users.

Disadvantages of Mobile OS

  • Some of mobile operating systems give poor battery quality to users.
  • Some of the mobile operating systems are not user-friendly.

Examples of Mobile OS: Android OS, ios, Symbian OS, and Windows mobile OS. 

32-bit OS versus 64-bit OS

Parameter 32-Bit OS 64-Bit OS
Data and Storage The 32 bit OS can store and manage less data than the 64 bit OS, as its name would imply. It addresses a maximum of 4,294,967,296 bytes (4 GB) of RAM in more detail. In contrast, the 64 bit OS has a larger data handling capacity than the 32 bit OS. It indicates that a total of 264 memory addresses, or 18 quintillion gigabytes of RAM, can be addressed.
Compatibility of System A 32-bit processor system will run only on 32-bit OS and not on 64 bit OS. A 64-bit processor system can run either a 32-bit or 64-bit OS
Application Support The 32-bit OS support applications with no hassle. The 64-bit OS do not support applications.
Performance Performance of 32- bit OS is less efficient. Higher performance than the 32-bit processor.
Systems Available These support Windows 7, Windows XP, Windows Vista, Windows 8, and Linux. These support Windows XP Professional, Windows 7, Windows 8, Windows 10, Windows Vista, Linux, and Mac OS X.

Source: https://netmarketshare.com/
Source: https://netmarketshare.com/

Examples of Operating System

Following are some examples of Operating Systems:

  1. Microsoft Windows
    It is a series of graphical operating systems developed, marketed, and sold by Microsoft. The first version of Windows was released in 1985 as a GUI add-on to MS-DOS. The first version of Windows sold as a standalone operating system was Windows 95.
  2. macOS

It is a series of graphical operating systems developed by Apple Inc. It is the successor to Mac OS X, and it is the operating system that powers Apple’s Mac family of computers.

  1. Linux

Linux is built around the Linux kernel and is a free and open-source software OS. It is one of the most popular operating systems for servers and embedded devices. It is also used by millions of desktop users around the world.

To learn more, check out this free Linux course.

  1. Android

It is a mobile OS developed by Google. It is based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets.

  1. iOS

Another example of a mobile OS developed by Apple Inc. iOs is the successor to iPhone OS. It is an operating system that powers the iPhone, iPad, and iPod Touch products.

Advantages of Operating System

There are several advantages of operating systems. We have listed some of them below:

  1. Ensuring correct and efficient use of the computer’s hardware.
  2. Allowing different applications to run concurrently.
  3. Managing files and folders.
  4. Providing a user interface.
  5. Managing security.
  6. Managing resources.
  7. Managing printing.
  8. Providing a platform for software development.

Disadvantages of Operating System

There are several disadvantages of operating systems. We have listed some of them below:

  • They can be complex and difficult to use.
  • They can be expensive to purchase and maintain.
  • They can be vulnerable to attacks from malicious users.

Real-Time Operating System

What is RTOS?

An operating system that can execute multi-threaded programmes and adhere to real-time deadlines is known as a “RTOS.” The majority of RTOSes incorporate device drivers, resource management, and schedulers. Remember that we don’t always mean “quick” when we talk about “deadlines.” Instead, this means that we can foresee when specific jobs will run before runtime.

If you’re writing intricate embedded applications, an RTOS can be a great tool. They support task isolation and enable concurrent operation.

Applications of Real-Time Operating System

  • Defence application systems like RADAR.
  • Airlines reservation system.
  • Systems that provide immediate updating.
  • Networked Multimedia Systems.
  • Air traffic control system.
  • Command Control Systems.

Conclusion

As the need for technology grows day by day in the coming days and as younger generations like Gen Alpha grow up & join the workforce good & efficient operating system will be the topmost priority of every business setting. If you are planning to get a degree in IT, now is the best time to start.

Operating System FAQs

What is operating system in explain?

An operating system (OS) is the programme that controls all other application programmes in a computer after being installed into the system first by a boot programme. The application programmes seek services from the operating system (API) through a specified application programme interface.

What is an operating system and example?

An operating system facilitates communication between a user and a system. Examples of operating systems are  Microsoft Office, Notepad, and gaming on a computer or mobile device including Windows, Linux, and Android.

What are the 5 types of operating systems?

Types of an Operating System are 
Batch Operating System.
Time-Sharing Operating System. 
Distributed Operating System.
Embedded Operating System.
Real-time Operating System.

What is the importance of an operating system?

The most crucial piece of software that runs on a computer is the operating system. It controls the memory, operations, software, and hardware of the computer. Using this method, you can converse with the computer even if you don’t understand its language.

What is OS structure?

An operating system is a design that enables user application programmes to communicate with the hardware of the machine. The operating system should be built with the utmost care because it is such a complicated structure and should be simple to use and modify. Partially developing the operating system is a simple approach to accomplish this.

What is a process in OS?

A process is an instance of a computer programme that is being run by one or more threads in computing. It includes the programme code and all of its operations. A process may consist of several concurrently running threads of execution, depending on the operating system (OS).

Operating systems

Operating system placement.svg

About this image

Common features
  • Process management
  • Interrupts
  • Memory management
  • File system
  • Device drivers
  • Networking (TCP/IP, UDP)
  • Security (Process/Memory protection)
  • I/O
v · d · e

An operating system (OS) is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system. A user cannot run an application program on the computer without an operating system, unless the application program is self booting.

Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting for cost allocation of processor time, mass storage, printing, and other resources.

For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between application programs and the computer hardware,[1][2] although the application code is usually executed directly by the hardware and will frequently call the OS or be interrupted by it. Operating systems are found on almost any device that contains a computer—from cellular phones and video game consoles to supercomputers and web servers.

Examples of popular modern operating systems include Android, iOS, Linux, Mac OS X, and Microsoft Windows.[3]

Contents

  • 1 Types
  • 2 Summary
  • 3 History
    • 3.1 Mainframes
    • 3.2 Microcomputers
  • 4 Examples of operating systems
    • 4.1 Unix and Unix-like operating systems
      • 4.1.1 BSD and its descendants
        • 4.1.1.1 Mac OS X
      • 4.1.2 Plan 9
      • 4.1.3 Linux and GNU
        • 4.1.3.1 Google Chrome OS
    • 4.2 AmigaOS
    • 4.3 Microsoft Windows
    • 4.4 Other
  • 5 Components
    • 5.1 Kernel
      • 5.1.1 Program execution
      • 5.1.2 Interrupts
      • 5.1.3 Modes
      • 5.1.4 Memory management
      • 5.1.5 Virtual memory
      • 5.1.6 Multitasking
      • 5.1.7 Disk access and file systems
      • 5.1.8 Device drivers
    • 5.2 Networking
    • 5.3 Security
    • 5.4 User interface
      • 5.4.1 Graphical user interfaces
  • 6 Real-time operating systems
  • 7 Operating system development as a hobby
  • 8 Diversity of operating systems and portability
  • 9 See also
  • 10 References
  • 11 Further reading
  • 12 External links

Types

Real-time
A real-time operating system is a multitasking operating system that aims at executing real-time applications. Real-time operating systems often use specialized scheduling algorithms so that they can achieve a deterministic nature of behavior. The main objective of real-time operating systems is their quick and predictable response to events. They have an event-driven or time-sharing design and often aspects of both. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
Multi-user vs. Single-user
A multi-user operating system allows multiple users to access a computer system concurrently. Time-sharing system can be classified as multi-user systems as they enable a multiple user access to a computer through the sharing of time. Single-user operating systems, as opposed to a multi-user operating system, are usable by a single user at a time. Being able to have multiple accounts on a Windows operating system does not make it a multi-user system. Rather, only the network administrator is the real user. But for a Unix-like operating system, it is possible for two users to login at a time and this capability of the OS makes it a multi-user operating system.
Multi-tasking vs. Single-tasking
When only a single program is allowed to run at a time, the system is grouped under a single-tasking system. However, when the operating system allows the execution of multiple tasks at one time, it is classified as a multi-tasking operating system. Multi-tasking can be of two types: pre-emptive or co-operative. In pre-emptive multitasking, the operating system slices the CPU time and dedicates one slot to each of the programs. Unix-like operating systems such as Solaris and Linux support pre-emptive multitasking. Cooperative multitasking is achieved by relying on each process to give time to the other processes in a defined manner. MS Windows prior to Windows 2000 used to support cooperative multitasking.
Distributed
A distributed operating system manages a group of independent computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.
Embedded
Embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems.

Summary

Early computers were built to perform a series of single tasks, like a calculator. Operating systems did not exist in their modern and more complex forms until the early 1960s.[4] Some operating system features were developed in the 1950s, such as monitor programs that could automatically run different application programs in succession to speed up processing. Hardware features were added that enabled use of runtime libraries, interrupts, and parallel processing. When personal computers by companies such as Apple Inc., Atari, IBM and Amiga became popular in the 1980s, vendors added operating system features that had previously become widely used on mainframe and mini computers. Later, many features such as graphical user interface were developed specifically for personal computer operating systems.

An operating system consists of many parts. One of the most important components is the kernel, which controls low-level processes that the average user usually cannot see: it controls how memory is read and written, the order in which processes are executed, how information is received and sent by devices like the monitor, keyboard and mouse, and decides how to interpret information received from networks. The user interface is a component that interacts with the computer user directly, allowing them to control and use programs. The user interface may be graphical with icons and a desktop, or textual, with a command line. Application programming interfaces provide services and code libraries that let applications developers write modular code reusing well defined programming sequences in user space libraries or in the operating system itself. Which features are considered part of the operating system is defined differently in various operating systems. For example, Microsoft Windows considers its user interface to be part of the operating system, while many versions of Linux do not.

History

In the 1940s, the earliest electronic digital systems had no operating systems. Electronic systems of this time were so primitive compared to those of today that instructions were often entered into the system one bit at a time on rows of mechanical switches or by jumper wires on plug boards. These were special-purpose systems that, for example, generated ballistics tables for the military or controlled the printing of payroll checks from data on punched paper cards. After programmable general purpose computers were invented, machine languages (consisting of strings of the binary digits 0 and 1 on punched paper tape) were introduced that speed up the programming process (Stern, 1981).

OS/360 was used on most IBM mainframe computers beginning in 1966, including the computers that helped NASA put a man on the moon.

In the early 1950s, a computer could execute only one program at a time. Each user had sole use of the computer for a limited period of time and would arrive at a scheduled time with program and data on punched paper cards and/or punched tape. The program would be loaded into the machine, and the machine would be set to work until the program completed or crashed. Programs could generally be debugged via a front panel using toggle switches and panel lights. It is said that Alan Turing was a master of this on the early Manchester Mark 1 machine, and he was already deriving the primitive conception of an operating system from the principles of the Universal Turing machine.[citation needed]

Later machines came with libraries of software, which would be linked to a user’s program to assist in operations such as input and output and generating computer code from human-readable symbolic code. This was the genesis of the modern-day operating system. However, machines still ran a single job at a time. At Cambridge University in England the job queue was at one time a washing line from which tapes were hung with different colored clothes-pegs to indicate job-priority.[citation needed]

Mainframes

Through the 1950s, many major features were pioneered in the field of operating systems, including batch processing, input/output interrupt, buffering, multitasking, spooling, runtime libraries, link-loading, and programs for sorting records in files. These features were included or not included in application software at the option of application programmers, rather than in a separate operating system used by all applications. In 1959 the SHARE Operating System was released as an integrated utility for the IBM 704, and later in the 709 and 7090 mainframes, although it was quickly supplanted by IBSYS/IBJOB on the 709, 7090 and 7094.

During the 1960s, IBM’s OS/360 introduced the concept of a single OS spanning an entire product line, which was crucial for the success of the System/360 machines. IBM’s current mainframe operating systems are distant descendants of this original system and applications written for OS/360 can still be run on modern machines.[citation needed]

OS/360 also pioneered the concept that the operating system keeps track of all of the system resources that are used, including program and data space allocation in main memory and file space in secondary storage, and file locking during update. When the process is terminated for any reason, all of these resources are re-claimed by the operating system.

The alternative CP-67 system for the S/360-67 started a whole line of IBM operating systems focused on the concept of virtual machines. Other operating systems used on IBM S/360 series mainframes included systems developed by IBM: COS/360 (Compatabililty Operating System), DOS/360 (Disk Operating System), TSS/360 (Time Sharing System), TOS/360 (Tape Operating System), BOS/360 (Basic Operating System), and ACP (Airline Control Program), as well as a few non-IBM systems: MTS (Michigan Terminal System), MUSIC (Multi-User System for Interactive Computing), and ORVYL (Stanford Timesharing System).

Control Data Corporation developed the SCOPE operating system in the 1960s, for batch processing. In cooperation with the University of Minnesota, the Kronos and later the NOS operating systems were developed during the 1970s, which supported simultaneous batch and timesharing use. Like many commercial timesharing systems, its interface was an extension of the Dartmouth BASIC operating systems, one of the pioneering efforts in timesharing and programming languages. In the late 1970s, Control Data and the University of Illinois developed the PLATO operating system, which used plasma panel displays and long-distance time sharing networks. Plato was remarkably innovative for its time, featuring real-time chat, and multi-user graphical games. Burroughs Corporation introduced the B5000 in 1961 with the MCP, (Master Control Program) operating system. The B5000 was a stack machine designed to exclusively support high-level languages with no machine language or assembler, and indeed the MCP was the first OS to be written exclusively in a high-level language – ESPOL, a dialect of ALGOL. MCP also introduced many other ground-breaking innovations, such as being the first commercial implementation of virtual memory. During development of the AS400, IBM made an approach to Burroughs to licence MCP to run on the AS400 hardware. This proposal was declined by Burroughs management to protect its existing hardware production. MCP is still in use today in the Unisys ClearPath/MCP line of computers.

UNIVAC, the first commercial computer manufacturer, produced a series of EXEC operating systems. Like all early main-frame systems, this was a batch-oriented system that managed magnetic drums, disks, card readers and line printers. In the 1970s, UNIVAC produced the Real-Time Basic (RTB) system to support large-scale time sharing, also patterned after the Dartmouth BC system.

General Electric and MIT developed General Electric Comprehensive Operating Supervisor (GECOS), which introduced the concept of ringed security privilege levels. After acquisition by Honeywell it was renamed to General Comprehensive Operating System (GCOS).

Digital Equipment Corporation developed many operating systems for its various computer lines, including TOPS-10 and TOPS-20 time sharing systems for the 36-bit PDP-10 class systems. Prior to the widespread use of UNIX, TOPS-10 was a particularly popular system in universities, and in the early ARPANET community.

In the late 1960s through the late 1970s, several hardware capabilities evolved that allowed similar or ported software to run on more than one system. Early systems had utilized microprogramming to implement features on their systems in order to permit different underlying architecture to appear to be the same as others in a series. In fact most 360s after the 360/40 (except the 360/165 and 360/168) were microprogrammed implementations. But soon other means of achieving application compatibility were proven to be more significant.

The enormous investment in software for these systems made since 1960s caused most of the original computer manufacturers to continue to develop compatible operating systems along with the hardware. The notable supported mainframe operating systems include:

  • Burroughs MCP – B5000, 1961 to Unisys Clearpath/MCP, present.
  • IBM OS/360 – IBM System/360, 1966 to IBM z/OS, present.
  • IBM CP-67 – IBM System/360, 1967 to IBM z/VM, present.
  • UNIVAC EXEC 8 – UNIVAC 1108, 1967, to OS 2200 Unisys Clearpath Dorado, present.

Microcomputers

PC-DOS was an early personal computer OS that featured a command line interface.

Mac OS by Apple Computer became the first widespread OS to feature a graphical user interface. Many of its features such as windows and icons would later become commonplace in GUIs.

The first microcomputers did not have the capacity or need for the elaborate operating systems that had been developed for mainframes and minis; minimalistic operating systems were developed, often loaded from ROM and known as Monitors. One notable early disk-based operating system was CP/M, which was supported on many early microcomputers and was closely imitated by Microsoft’s MS-DOS, which became wildly popular as the operating system chosen for the IBM PC (IBM’s version of it was called IBM DOS or PC DOS). In the ’80s, Apple Computer Inc. (now Apple Inc.) abandoned its popular Apple II series of microcomputers to introduce the Apple Macintosh computer with an innovative Graphical User Interface (GUI) to the Mac OS.

The introduction of the Intel 80386 CPU chip with 32-bit architecture and paging capabilities, provided personal computers with the ability to run multitasking operating systems like those of earlier minicomputers and mainframes. Microsoft responded to this progress by hiring Dave Cutler, who had developed the VMS operating system for Digital Equipment Corporation. He would lead the development of the Windows NT operating system, which continues to serve as the basis for Microsoft’s operating systems line. Steve Jobs, a co-founder of Apple Inc., started NeXT Computer Inc., which developed the Unix-like NEXTSTEP operating system. NEXTSTEP would later be acquired by Apple Inc. and used, along with code from FreeBSD as the core of Mac OS X.

The GNU Project was started by activist and programmer Richard Stallman with the goal of a complete free software replacement to the proprietary UNIX operating system. While the project was highly successful in duplicating the functionality of various parts of UNIX, development of the GNU Hurd kernel proved to be unproductive. In 1991, Finnish computer science student Linus Torvalds, with cooperation from volunteers collaborating over the Internet, released the first version of the Linux kernel. It was soon merged with the GNU user space components and system software to form a complete operating system. Since then, the combination of the two major components has usually been referred to as simply «Linux» by the software industry, a naming convention that Stallman and the Free Software Foundation remain opposed to, preferring the name GNU/Linux. The Berkeley Software Distribution, known as BSD, is the UNIX derivative distributed by the University of California, Berkeley, starting in the 1970s. Freely distributed and ported to many minicomputers, it eventually also gained a following for use on PCs, mainly as FreeBSD, NetBSD and OpenBSD.

Examples of operating systems

Unix and Unix-like operating systems

Evolution of Unix systems

Main article: Unix

Ken Thompson wrote B, mainly based on BCPL, which he used to write Unix, based on his experience in the MULTICS project. B was replaced by C, and Unix developed into a large, complex family of inter-related operating systems which have been influential in every modern operating system (see History).

The Unix-like family is a diverse group of operating systems, with several major sub-categories including System V, BSD, and GNU/Linux. The name «UNIX» is a trademark of The Open Group which licenses it for use with any operating system that has been shown to conform to their definitions. «Unix-like» is commonly used to refer to the large set of operating systems which resemble the original Unix.

Unix-like systems run on a wide variety of machine architectures. They are used heavily for servers in business, as well as workstations in academic and engineering environments. Free Unix variants, such as GNU/Linux and BSD, are popular in these areas.

Four operating systems are certified by the The Open Group (holder of the Unix trademark) as Unix. HP’s HP-UX and IBM’s AIX are both descendants of the original System V Unix and are designed to run only on their respective vendor’s hardware. In contrast, Sun Microsystems’s Solaris Operating System can run on multiple types of hardware, including x86 and Sparc servers, and PCs. Apple’s Mac OS X, a replacement for Apple’s earlier (non-Unix) Mac OS, is a hybrid kernel-based BSD variant derived from NeXTSTEP, Mach, and FreeBSD.

Unix interoperability was sought by establishing the POSIX standard. The POSIX standard can be applied to any operating system, although it was originally created for various Unix variants.

BSD and its descendants

The first server for the World Wide Web ran on NeXTSTEP, based on BSD.

A subgroup of the Unix family is the Berkeley Software Distribution family, which includes FreeBSD, NetBSD, and OpenBSD. These operating systems are most commonly found on webservers, although they can also function as a personal computer OS. The Internet owes much of its existence to BSD, as many of the protocols now commonly used by computers to connect, send and receive data over a network were widely implemented and refined in BSD. The world wide web was also first demonstrated on a number of computers running an OS based on BSD called NextStep.

BSD has its roots in Unix. In 1974, University of California, Berkeley installed its first Unix system. Over time, students and staff in the computer science department there began adding new programs to make things easier, such as text editors. When Berkely received new VAX computers in 1978 with Unix installed, the school’s undergraduates modified Unix even more in order to take advantage of the computer’s hardware possibilities. The Defense Advanced Research Projects Agency of the US Department of Defense took interest, and decided to fund the project. Many schools, corporations, and government organizations took notice and started to use Berkeley’s version of Unix instead of the official one distributed by AT&T.

Steve Jobs, upon leaving Apple Inc. in 1985, formed NeXT Inc., a company that manufactured high-end computers running on a variation of BSD called NeXTSTEP. One of these computers was used by Tim Berners-Lee as the first webserver to create the World Wide Web.

Developers like Keith Bostic encouraged the project to replace any non-free code that originated with Bell Labs. Once this was done, however, AT&T sued. Eventually, after two years of legal disputes, the BSD project came out ahead and spawned a number of free derivatives, such as FreeBSD and NetBSD.

Mac OS X

The standard user interface of Mac OS X

Mac OS X is a line of open core graphical operating systems developed, marketed, and sold by Apple Inc., the latest of which is pre-loaded on all currently shipping Macintosh computers. Mac OS X is the successor to the original Mac OS, which had been Apple’s primary operating system since 1984. Unlike its predecessor, Mac OS X is a UNIX operating system built on technology that had been developed at NeXT through the second half of the 1980s and up until Apple purchased the company in early 1997.

The operating system was first released in 1999 as Mac OS X Server 1.0, with a desktop-oriented version (Mac OS X v10.0) following in March 2001. Since then, six more distinct «client» and «server» editions of Mac OS X have been released, the most recent being Mac OS X 10.7, which was first made available on July 20, 2011. Releases of Mac OS X are named after big cats; the current version of Mac OS X is «Lion».

The server edition, Mac OS X Server, is architecturally identical to its desktop counterpart but usually runs on Apple’s line of Macintosh server hardware. Mac OS X Server includes work group management and administration software tools that provide simplified access to key network services, including a mail transfer agent, a Samba server, an LDAP server, a domain name server, and others. In Mac OS X v10.7 Lion, all server aspects of Mac OS X Server have been integrated into the client version.[5]

Plan 9

Ken Thompson, Dennis Ritchie and Douglas McIlroy at Bell Labs designed and developed the C programming language to build the operating system Unix. Programmers at Bell Labs went on to develop Plan 9 and Inferno, which were engineered for modern distributed environments. Plan 9 was designed from the start to be a networked operating system, and had graphics built-in, unlike Unix, which added these features to the design later. It is currently released under the Lucent Public License. Inferno was sold to Vita Nuova Holdings and has been released under a GPL/MIT license.

Linux and GNU

Main articles: GNU, Linux, and Linux kernel

Linux (or GNU/Linux) is a Unix-like operating system that was developed without any actual Unix code, unlike BSD and its variants. Linux can be used on a wide range of devices from supercomputers to wristwatches. The Linux kernel is released under an open source license, so anyone can read and modify its code. It has been modified to run on a large variety of electronics. Although estimates suggest that Linux is used on 1.82% of all personal computers,[6][7] it has been widely adopted for use in servers[8] and embedded systems[9] (such as cell phones). Linux has superseded Unix in most places[which?], and is used on the 10 most powerful supercomputers in the world.[10] The Linux kernel is used in some popular distributions, such as Red Hat, Debian, Ubuntu, Linux Mint and Google’s Android.

The GNU project is a mass collaboration of programmers who seek to create a completely free and open operating system that was similar to Unix but with completely original code. It was started in 1983 by Richard Stallman, and is responsible for many of the parts of most Linux variants. For this reason, some claim that the combined product of the Linux kernel and the GNU software collection is more correctly called GNU/Linux. Thousands of pieces of software for virtually every operating system are licensed under the GNU General Public License. Meanwhile, the Linux kernel began as a side project of Linus Torvalds, a university student from Finland. In 1991, Torvalds began work on it, and posted information about his project on a newsgroup for computer students and programmers. He received a wave of support and volunteers who ended up creating a full-fledged kernel. Programmers from GNU took notice, and members of both projects worked to integrate the finished GNU parts with the Linux kernel in order to create a full-fledged operating system.

Google Chrome OS

Chrome is an operating system based on the Linux kernel and designed by Google. Since Chrome OS targets computer users who spend most of their time on the Internet, it is mainly a web browser with no ability to run applications. It relies on Internet applications (or Web apps) used in the web browser to accomplish tasks such as word processing and media viewing, as well as online storage for storing most files.

AmigaOS

AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by the Amiga Corporation then sold to Commodore International, and initially introduced in 1985 with the Amiga 1000. Early versions (1.0-3.9) run on the Motorola 68k series of 16-bit and 32-bit microprocessors, while the newer AmigaOS 4 runs only on PowerPC microprocessors. On top of a preemptive multitasking kernel called Exec, it includes an abstraction of the Amiga’s unique hardware, a disk operating system called AmigaDOS, a windowing system API called Intuition and a graphical user interface called Workbench. A command line interface called AmigaShell is also available and integrated into the system. The GUI and the CLI complement each other and share the same privileges. The current holder of the Amiga intellectual properties is Amiga Inc. They oversaw the development of AmigaOS 4 but did not develop it themselves, contracting it instead to Hyperion Entertainment. On 20 December 2006, Amiga Inc terminated Hyperion’s license to continue development of AmigaOS 4. However, in 30 September 2009, Hyperion was granted an exclusive, perpetual, worldwide right to AmigaOS 3.1 in order to use, develop, modify, commercialize, distribute and market AmigaOS 4.x and subsequent versions of AmigaOS (including AmigaOS 5).[11]

Microsoft Windows

Bootable Windows To Go USB flash drive

Microsoft Windows is a family of proprietary operating systems designed by Microsoft Corporation and primarily targeted to Intel architecture based computers, with an estimated 88.9 percent total usage share on Web connected computers.[7][12][13][14] The newest version is Windows 7 for workstations and Windows Server 2008 R2 for servers. Windows 7 recently overtook Windows XP as most used OS.[15][16]

Microsoft Windows originated in 1985 as an application running on top of MS-DOS, which was the standard operating system shipped on most Intel architecture personal computers at the time. In 1995, Windows 95 was released, combining MS-DOS 7.0 with Windows on the same medium, removing the need of getting a separate MS-DOS license. Keeping much legacy, it could run real-mode MS-DOS[17][18] and 16 bits Windows 3.x[19] drivers. Windows Me, released in 2000, was the latest version of Windows of the Windows 95 family. Later versions have all been based on the Windows NT kernel. Current versions of Windows run on IA-32 and x86-64 microprocessors, although Windows 8 will support ARM architecture. In the past, Windows NT supported a few non-Intel architectures.

Server editions of Windows are widely used. In recent years, Microsoft has expended significant capital in an effort to promote the use of Windows as a server operating environment. However, Windows’ usage on servers is not as widespread as on personal computers, as Windows competes against Linux and BSD for server market share.[20][21]

Other

Older operating systems which are still used in niche markets include OS/2 from IBM and Microsoft; Mac OS, the non-Unix precursor to Apple’s Mac OS X; BeOS; XTS-300. Some, most notably Haiku, RISC OS, MorphOS and FreeMint continue to be developed as minority platforms for enthusiast communities and specialist applications. OpenVMS formerly from DEC, is still under active development by Hewlett-Packard. Yet other operating systems are used almost exclusively in academia, for operating systems education or to do research on operating system concepts. A typical example of a system that fulfills both roles is MINIX, while for example Singularity is used purely for research.

Components

The components of an operating system all exist in order to make the different parts of a computer work together. All software—from financial databases to film editors—needs to go through the operating system in order to use any of the hardware, whether it be as simple as a mouse or keyboard or complex as an Internet connection.

Kernel

A kernel connects the application software to the hardware of a computer.

With the aid of the firmware and device drivers, the kernel provides the most basic level of control over all of the computer’s hardware devices. It manages memory access for programs in the RAM, it determines which programs get access to which hardware resources, it sets up or resets the CPU’s operating states for optimal operation at all times, and it organizes the data for long-term non-volatile storage with file systems on such media as disks, tapes, flash memory, etc.

Program execution

The operating system provides an interface between an application program and the computer hardware, so that an application program can interact with the hardware only by obeying rules and procedures programmed into the operating system. The operating system is also a set of services which simplify development and execution of application programs. Executing an application program involves the creation of a process by the operating system kernel which assigns memory space and other resources, establishes a priority for the process in multi-tasking systems, loads program binary code into memory, and initiates execution of the application program which then interacts with the user and with hardware devices.

Interrupts

Interrupts are central to operating systems, as they provide an efficient way for the operating system to interact with and react to its environment. The alternative — having the operating system «watch» the various sources of input for events (polling) that require action — can be found in older systems with very small stacks (50 or 60 bytes) but are unusual in modern systems with large stacks. Interrupt-based programming is directly supported by most modern CPUs. Interrupts provide a computer with a way of automatically saving local register contexts, and 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, saves its status, and runs computer code previously associated with the interrupt; this is analogous to placing a bookmark in a book in response to a phone call. 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. The amount of code being run depends on the priority of the interrupt (for example: a person usually responds to a smoke detector alarm before answering the phone). The processing of hardware interrupts is a task that is usually delegated to software called device driver, 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. 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 will then process the request. If a program wishes additional resources (or wishes to shed resources) such as memory, it will trigger an interrupt to get the kernel’s attention.

Modes

Main articles: Protected mode and Supervisor mode

Privilege rings for the x86 available in protected mode. Operating systems determine which processes run in each mode.

Modern CPUs support multiple modes of operation. CPUs with this capability use at least two modes: protected mode and supervisor mode. The supervisor mode is used by the operating system’s kernel for low level tasks that need unrestricted access to hardware, such as controlling how memory is written and erased, and communication with devices like graphics cards. Protected mode, in contrast, is used for almost everything else. Applications operate within protected mode, and can only use hardware by communicating with the kernel, which controls everything in supervisor mode. CPUs might have other modes similar to protected mode as well, such as the virtual modes in order to emulate older processor types, such as 16-bit processors on a 32-bit one, or 32-bit processors on a 64-bit one.

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 or EFI, bootloader, and the operating system have unlimited access to hardware — and this is required because, by definition, initializing a protected environment can only be done outside of one. 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, where the operating system can deal with the illegal operation the program was attempting (for example, by killing the program).

Memory management

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 in use 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 any more, 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-enter supervisor mode, placing the kernel in charge. This is called a segmentation violation or Seg-V for short, and since it is both difficult to assign a meaningful result to such an operation, and because it is usually a sign of a misbehaving program, the kernel will generally resort to terminating the offending program, and will report the error.

Windows 3.1-Me had some level of memory protection, but programs could easily circumvent the need to use it. A general protection fault would be produced, indicating a segmentation violation had occurred; however, the system would often crash anyway.

Virtual memory

Main article: Virtual memory

Many operating systems can «trick» programs into using memory scattered around the hard disk and RAM as if it is one continuous chunk of memory, called virtual memory.

The use of virtual memory addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time, allowing the operating system to use the same memory locations for multiple tasks.

If a program tries to access memory that isn’t in its current range of accessible memory, but nonetheless has been allocated to it, the kernel will be interrupted in the same way as it would if the program were to exceed its allocated memory. (See section on memory management.) Under UNIX this kind of interrupt is referred to as a page fault.

When the kernel detects a page fault it will generally adjust the virtual memory range of the program which triggered it, granting it access to the memory requested. This gives the kernel discretionary power over where a particular application’s memory is stored, or even whether or not it has actually been allocated yet.

In modern operating systems, memory which is accessed less frequently can be temporarily stored on disk or other media to make that space available for use by other programs. This is called swapping, as an area of memory can be used by multiple programs, and what that memory area contains can be swapped or exchanged on demand.

«Virtual memory» provides the programmer or the user with the perception that there is a much larger amount of RAM in the computer than is really there.[22]

Multitasking

Further information: Context switch, Preemptive multitasking, and Cooperative multitasking

Multitasking refers to the running of multiple independent computer programs on the same computer; giving the appearance that it is performing the tasks at the same time. Since most computers can do at most one or two things at one time, this is generally done via time-sharing, which means that each program uses a share of the computer’s time to execute.

An operating system kernel contains a piece of software called a scheduler which determines how much time each program will spend executing, and in which order execution control should be passed to programs. Control is passed to a process by the kernel, which allows the program access to the CPU and memory. Later, control is returned to the kernel through some mechanism, so that another program may be allowed to use the CPU. This so-called passing of control between the kernel and applications is called a context switch.

An early model which governed the allocation of time to programs was called cooperative multitasking. In this model, when control is passed to a program by the kernel, it may execute for as long as it wants before explicitly returning control to the kernel. This means that a malicious or malfunctioning program may not only prevent any other programs from using the CPU, but it can hang the entire system if it enters an infinite loop.

Modern operating systems extend the concepts of application preemption to device drivers and kernel code, so that the operating system has preemptive control over internal run-times as well.

The philosophy governing preemptive multitasking is that of ensuring that all programs are given regular time on the CPU. This implies that all programs must be limited in how much time they are allowed to spend on the CPU without being interrupted. To accomplish this, modern operating system kernels make use of a timed interrupt. A protected mode timer is set by the kernel which triggers a return to supervisor mode after the specified time has elapsed. (See above sections on Interrupts and Dual Mode Operation.)

On many single user operating systems cooperative multitasking is perfectly adequate, as home computers generally run a small number of well tested programs. Windows NT was the first version of Microsoft Windows which enforced preemptive multitasking, but it didn’t reach the home user market until Windows XP (since Windows NT was targeted at professionals).

Disk access and file systems

Filesystems allow users and programs to organize and sort files on a computer, often through the use of directories (or «folders»)

Access to data stored on disks is a central feature of all operating systems. Computers store data on disks using files, which are structured in specific ways in order to allow for faster access, higher reliability, and to make better use out of the drive’s available space. The specific way in which files are stored on a disk is called a file system, and enables files to have names and attributes. It also allows them to be stored in a hierarchy of directories or folders arranged in a directory tree.

Early operating systems generally supported a single type of disk drive and only one kind of file system. Early file systems were limited in their capacity, speed, and in the kinds of file names and directory structures they could use. These limitations often reflected limitations in the operating systems they were designed for, making it very difficult for an operating system to support more than one file system.

While many simpler operating systems support a limited range of options for accessing storage systems, operating systems like UNIX and GNU/Linux support a technology known as a virtual file system or VFS. An operating system such as UNIX supports a wide array of storage devices, regardless of their design or file systems, allowing them to be accessed through a common application programming interface (API). This makes it unnecessary for programs to have any knowledge about the device they are accessing. A VFS allows the operating system to provide programs with access to an unlimited number of devices with an infinite variety of file systems installed on them, through the use of specific device drivers and file system drivers.

A connected storage device, such as a hard drive, is accessed through a device driver. The device driver understands the specific language of the drive and is able to translate that language into a standard language used by the operating system to access all disk drives. On UNIX, this is the language of block devices.

When the kernel has an appropriate device driver in place, it can then access the contents of the disk drive in raw format, which may contain one or more file systems. A file system driver is used to translate the commands used to access each specific file system into a standard set of commands that the operating system can use to talk to all file systems. Programs can then deal with these file systems on the basis of filenames, and directories/folders, contained within a hierarchical structure. They can create, delete, open, and close files, as well as gather various information about them, including access permissions, size, free space, and creation and modification dates.

Various differences between file systems make supporting all file systems difficult. Allowed characters in file names, case sensitivity, and the presence of various kinds of file attributes makes the implementation of a single interface for every file system a daunting task. Operating systems tend to recommend using (and so support natively) file systems specifically designed for them; for example, NTFS in Windows and ext3 and ReiserFS in GNU/Linux. However, in practice, third party drives are usually available to give support for the most widely used file systems in most general-purpose operating systems (for example, NTFS is available in GNU/Linux through NTFS-3g, and ext2/3 and ReiserFS are available in Windows through FS-driver and rfstool).

Support for file systems is highly varied among modern operating systems, although there are several common file systems which almost all operating systems include support and drivers for. Operating systems vary on file system support and on the disk formats they may be installed on. Under Windows, each file system is usually limited in application to certain media; for example, CDs must use ISO 9660 or UDF, and as of Windows Vista, NTFS is the only file system which the operating system can be installed on. It is possible to install GNU/Linux onto many types of file systems. Unlike other operating systems, GNU/Linux and UNIX allow any file system to be used regardless of the media it is stored in, whether it is a hard drive, a disc (CD,DVD…), a USB flash drive, or even contained within a file located on another file system.

Device drivers

Main article: Device driver

A device driver is a specific type of computer software developed to allow interaction with hardware devices. Typically this constitutes an interface for communicating with the device, through the specific computer bus or communications subsystem that the hardware is connected to, providing commands to and/or receiving data from the device, and on the other end, the requisite interfaces to the operating system and software applications. It is a specialized hardware-dependent computer program which is also operating system specific that enables another program, typically an operating system or applications software package or computer program running under the operating system kernel, to interact transparently with a hardware device, and usually provides the requisite interrupt handling necessary for any necessary asynchronous time-dependent hardware interfacing needs.

The key design goal of device drivers is abstraction. Every model of hardware (even within the same class of device) is different. Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently. Computers and their operating systems cannot be expected to know how to control every device, both now and in the future. To solve this problem, operating systems essentially dictate how every type of device should be controlled. The function of the device driver is then to translate these operating system mandated function calls into device specific calls. In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available. This new driver will ensure that the device appears to operate as usual from the operating system’s point of view.

Under versions of Windows before Vista and versions of Linux before 2.6, all driver execution was co-operative, meaning that if a driver entered an infinite loop it would freeze the system. More recent revisions of these operating systems incorporate kernel preemption, where the kernel interrupts the driver to give it tasks, and then separates itself from the process until it receives a response from the device driver, or gives it more tasks to do.

Networking

Currently most operating systems support a variety of networking protocols, hardware, and applications for using them. This means that computers running dissimilar operating systems can participate in a common network for sharing resources such as computing, files, printers, and scanners using either wired or wireless connections. Networks can essentially allow a computer’s operating system to access the resources of a remote computer to support the same functions as it could if those resources were connected directly to the local computer. This includes everything from simple communication, to using networked file systems or even sharing another computer’s graphics or sound hardware. Some network services allow the resources of a computer to be accessed transparently, such as SSH which allows networked users direct access to a computer’s command line interface.

Client/server networking allows a program on a computer, called a client, to connect via a network to another computer, called a server. Servers offer (or host) various services to other network computers and users. These services are usually provided through ports or numbered access points beyond the server’s network address[disambiguation needed ]. Each port number is usually associated with a maximum of one running program, which is responsible for handling requests to that port. A daemon, being a user program, can in turn access the local hardware resources of that computer by passing requests to the operating system kernel.

Many operating systems support one or more vendor-specific or open networking protocols as well, for example, SNA on IBM systems, DECnet on systems from Digital Equipment Corporation, and Microsoft-specific protocols (SMB) on Windows. Specific protocols for specific tasks may also be supported such as NFS for file access. Protocols like ESound, or esd can be easily extended over the network to provide sound from local applications, on a remote system’s sound hardware.

Security

A computer being secure depends on a number of technologies working properly. A modern operating system provides access to a number of resources, which are available to software running on the system, and to external devices like networks via the kernel.

The operating system must be capable of distinguishing between requests which should be allowed to be processed, and others which should not be processed. While some systems may simply distinguish between «privileged» and «non-privileged», systems commonly have a form of requester identity, such as a user name. To establish identity there may be a process of authentication. Often a username must be quoted, and each username may have a password. Other methods of authentication, such as magnetic cards or biometric data, might be used instead. In some cases, especially connections from the network, resources may be accessed with no authentication at all (such as reading files over a network share). Also covered by the concept of requester identity is authorization; the particular services and resources accessible by the requester once logged into a system are tied to either the requester’s user account or to the variously configured groups of users to which the requester belongs.

In addition to the allow/disallow model of security, a system with a high level of security will also offer auditing options. These would allow tracking of requests for access to resources (such as, «who has been reading this file?»). Internal security, or security from an already running program is only possible if all possibly harmful requests must be carried out through interrupts to the operating system kernel. If programs can directly access hardware and resources, they cannot be secured.

External security involves a request from outside the computer, such as a login at a connected console or some kind of network connection. External requests are often passed through device drivers to the operating system’s kernel, where they can be passed onto applications, or carried out directly. Security of operating systems has long been a concern because of highly sensitive data held on computers, both of a commercial and military nature. The United States Government Department of Defense (DoD) created the Trusted Computer System Evaluation Criteria (TCSEC) which is a standard that sets basic requirements for assessing the effectiveness of security. This became of vital importance to operating system makers, because the TCSEC was used to evaluate, classify and select computer systems being considered for the processing, storage and retrieval of sensitive or classified information.

Network services include offerings such as file sharing, print services, email, web sites, and file transfer protocols (FTP), most of which can have compromised security. At the front line of security are hardware devices known as firewalls or intrusion detection/prevention systems. At the operating system level, there are a number of software firewalls available, as well as intrusion detection/prevention systems. Most modern operating systems include a software firewall, which is enabled by default. A software firewall can be configured to allow or deny network traffic to or from a service or application running on the operating system. Therefore, one can install and be running an insecure service, such as Telnet or FTP, and not have to be threatened by a security breach because the firewall would deny all traffic trying to connect to the service on that port.

An alternative strategy, and the only sandbox strategy available in systems that do not meet the Popek and Goldberg virtualization requirements, is the operating system not running user programs as native code, but instead either emulates a processor or provides a host for a p-code based system such as Java.

Internal security is especially relevant for multi-user systems; it allows each user of the system to have private files that the other users cannot tamper with or read. Internal security is also vital if auditing is to be of any use, since a program can potentially bypass the operating system, inclusive of bypassing auditing.

User interface

A screenshot of the Bourne Again Shell command line. Each command is typed out after the ‘prompt’, and then its output appears below, working its way down the screen. The current command prompt is at the bottom.

Main article: User interface

Every computer that is to be operated by an individual requires a user interface. The user interface is not actually a part of the operating system—it generally runs in a separate program usually referred to as a shell, but is essential if human interaction is to be supported. The user interface requests services from the operating system that will acquire data from input hardware devices, such as a keyboard, mouse or credit card reader, and requests operating system services to display prompts, status messages and such on output hardware devices, such as a video monitor or printer. The two most common forms of a user interface have historically been the command-line interface, where computer commands are typed out line-by-line, and the graphical user interface, where a visual environment (most commonly with windows, buttons, icons and a mouse pointer) is present.

Graphical user interfaces

A screenshot of the KDE graphical user interface. Programs take the form of images on the screen, and the files, folders (directories), and applications take the form of icons and symbols. A mouse is used to navigate the computer.

Most of the modern computer systems support graphical user interfaces (GUI), and often include them. In some computer systems, such as the original implementation of Mac OS, the GUI is integrated into the kernel.

While technically a graphical user interface is not an operating system service, incorporating support for one into the operating system kernel can allow the GUI to be more responsive by reducing the number of context switches required for the GUI to perform its output functions. Other operating systems are modular, separating the graphics subsystem from the kernel and the Operating System. In the 1980s UNIX, VMS and many others had operating systems that were built this way. GNU/Linux and Mac OS X are also built this way. Modern releases of Microsoft Windows such as Windows Vista implement a graphics subsystem that is mostly in user-space; however the graphics drawing routines of versions between Windows NT 4.0 and Windows Server 2003 exist mostly in kernel space. Windows 9x had very little distinction between the interface and the kernel.

Many computer operating systems allow the user to install or create any user interface they desire. The X Window System in conjunction with GNOME or KDE is a commonly found setup on most Unix and Unix-like (BSD, GNU/Linux, Solaris) systems. A number of Windows shell replacements have been released for Microsoft Windows, which offer alternatives to the included Windows shell, but the shell itself cannot be separated from Windows.

Numerous Unix-based GUIs have existed over time, most derived from X11. Competition among the various vendors of Unix (HP, IBM, Sun) led to much fragmentation, though an effort to standardize in the 1990s to COSE and CDE failed for various reasons, and were eventually eclipsed by the widespread adoption of GNOME and KDE. Prior to free software-based toolkits and desktop environments, Motif was the prevalent toolkit/desktop combination (and was the basis upon which CDE was developed).

Graphical user interfaces evolve over time. For example, Windows has modified its user interface almost every time a new major version of Windows is released, and the Mac OS GUI changed dramatically with the introduction of Mac OS X in 1999.[23]

Real-time operating systems

A real-time operating system (RTOS) is a multitasking operating system intended for applications with fixed deadlines (real-time computing). Such applications include some small embedded systems, automobile engine controllers, industrial robots, spacecraft, industrial control, and some large-scale computing systems.

An early example of a large-scale real-time operating system was Transaction Processing Facility developed by American Airlines and IBM for the Sabre Airline Reservations System.

Embedded systems that have fixed deadlines use a real-time operating system such as VxWorks, PikeOS, eCos, QNX, MontaVista Linux and RTLinux. Windows CE is a real-time operating system that shares similar APIs to desktop Windows but shares none of desktop Windows’ codebase[citation needed]. Symbian OS also has an RTOS kernel (EKA2) starting with version 8.0b.

Some embedded systems use operating systems such as Palm OS, BSD, and GNU/Linux, although such operating systems do not support real-time computing.

Operating system development as a hobby

Operating system development is one of the most complicated activities in which a computing hobbyist may engage. A hobby operating system may be classified as one whose code has not been directly derived from an existing operating system, and has few users and active developers. [24]

In some cases, hobby development is in support of a «homebrew» computing device, for example, a simple single-board computer powered by a 6502 microprocessor. Or, development may be for an architecture already in widespread use. Operating system development may come from entirely new concepts, or may commence by modeling an existing operating system. In either case, the hobbyist is his/her own developer, or may interact with a small and sometimes unstructured group of individuals who have like interests.

Examples of a hobby operating system include ReactOS and Syllable.

Diversity of operating systems and portability

Application software is generally written for use on a specific operating system, and sometimes even for specific hardware. When porting the application to run on another OS, the functionality required by that application may be implemented differently by that OS (the names of functions, meaning of arguments, etc.) requiring the application to be adapted, changed, or otherwise maintained.

This cost in supporting operating systems diversity can be avoided by instead writing applications against software platforms like Java, or Qt for web browsers. These abstractions have already borne the cost of adaptation to specific operating systems and their system libraries.

Another approach is for operating system vendors to adopt standards. For example, POSIX and OS abstraction layers provide commonalities that reduce porting costs.

See also

  • Comparison of operating systems
  • Usage share of operating systems
  • Computer systems architecture
  • Disk operating system
  • Electronic medical record
  • Handheld computers
  • History of IBM mainframe operating systems
  • Interruptible operating system
  • List of operating systems
  • Microcontroller
  • Network operating system
  • Operating System Projects
  • Operating systems
  • Object-oriented operating system
  • PCjacking
  • System call
  • System image
  • Timeline of operating systems
  • Trusted operating system
  • Hypervisor

References

  1. ^ Stallings (2005). Operating Systems, Internals and Design Principles. Pearson: Prentice Hall. p. 6.
  2. ^ Dhotre, I.A. (2009). Operating Systems.. Technical Publications. p. 1.
  3. ^ «Operating System Market Share». Net Applications. http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=10.
  4. ^ Hansen, Per Brinch, ed (2001). Classic Operating Systems. Springer. pp. 4–7. ISBN 038795113X. http://books.google.com/?id=-PDPBvIPYBkC&lpg=PP1&pg=PP1#v=onepage&q.
  5. ^ http://www.apple.com/macosx/lion/
  6. ^ Usage share of operating systems
  7. ^ a b «Top 5 Operating Systems from January to April 2011». StatCounter. October 2009. http://gs.statcounter.com/#os-ww-monthly-201101-201104-bar. Retrieved November 5, 2009.
  8. ^ IDC report into Server market share
  9. ^ GNU/Linux still top embedded OS
  10. ^ TOP500 List – November 2010 (1–100) | TOP500 Supercomputing Sites
  11. ^ http://www.hyperion-entertainment.biz/
  12. ^ «Global Web Stats». Net Market Share, Net Applications. May 2011. http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8. Retrieved 2011-05-07.
  13. ^ «Global Web Stats». W3Counter, Awio Web Services. September 2009. http://www.w3counter.com/globalstats.php. Retrieved 2009-10-24.
  14. ^ «Operating System Market Share». Net Applications. October 2009. http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8. Retrieved November 5, 2009.
  15. ^ «w3schools.com OS Platform Statistics». http://www.w3schools.com/browsers/browsers_os.asp. Retrieved October 30, 2011.
  16. ^ «Stats Count Global Stats Top Five Operating Systems». http://gs.statcounter.com/#os-ww-monthly-201010-201110. Retrieved October 30, 2011.
  17. ^ http://support.microsoft.com/kb/130179/EN-US
  18. ^ http://support.microsoft.com/kb/134748/en
  19. ^ http://support.microsoft.com/kb/163354/en
  20. ^ «Operating System Share by Groups for Sites in All Locations January 2009». http://news.netcraft.com/SSL-Survey/CMatch/osdv_all.
  21. ^ «Behind the IDC data: Windows still No. 1 in server operating systems». ZDNet. 2010-02-26. http://blogs.zdnet.com/microsoft/?p=5408.
  22. ^ Stallings, William (2008). Computer Organization & Architecture. New Delhi: Prentice-Hall of India Private Limited. pp. 267. ISBN 978-81-203-2962-1.
  23. ^ Poisson, Ken. «Chronology of Personal Computer Software». Retrieved on 2008-05-07. Last checked on 2009-03-30.
  24. ^ «My OS is less hobby than yours». Osnews. December 21, 2009. http://www.osnews.com/story/22638/My_OS_Is_Less_Hobby_than_Yours. Retrieved December 21, 2009.

Further reading

  • Auslander, Marc A.; Larkin, David C.; Scherr, Allan L. (1981). The evolution of the MVS Operating System. IBM J. Research & Development. http://www.research.ibm.com/journal/rd/255/auslander.pdf.
  • Deitel, Harvey M.; Deitel, Paul; Choffnes, David. Operating Systems. Pearson/Prentice Hall. ISBN 978-0-13-092641-8.
  • Bic, Lubomur F.; Shaw, Alan C. (2003). Operating Systems. Pearson: Prentice Hall.
  • Silberschatz, Avi; Galvin, Peter; Gagne, Greg (2008). Operating Systems Concepts. John Wiley & Sons. ISBN 0-470-12872-0.

External links

  • Operating Systems at the Open Directory Project
  • Multics History and the history of operating systems
  • How Stuff Works — Operating Systems
  • Help finding your Operating System type and version
v · d · eOperating system
General

History · Timeline · List · Comparison · Usage share · Development · Advocacy

Kernel

Architectures

General

Monolithic kernel · Microkernel

Subtypes

Exokernel · Nanokernel · Hybrid

Components

User/Kernel space · Server · Loadable kernel module · Device driver

Process management

Concepts

Process · Process control block · Interrupt · Thread · Context switch · Scheduling

CPU modes

Protected mode · Supervisor mode

Scheduling algorithm

Cooperative multitasking · Preemptive multitasking · Round-robin scheduling · Fixed priority pre-emptive scheduling · Multilevel feedback queue · Shortest job next

Memory management

Memory protection · Segmentation · Paging · Segmentation fault · General protection fault · Bus error

Examples

AmigaOS · BeOS · BSD · DOS · GNU · Linux · Mac OS · MorphOS · OS/2 · ReactOS · Solaris · Unix · Windows · more…

Miscellaneous concepts

Boot loader · Live CD · Live USB · PXE · API · Virtual file system · Virtual tape library · Computer network · CLI · TUI · GUI · VUI · HAL

v · d · eSystems and systems science
Systems categories

Systems theory · Systems science · Systems scientists (Conceptual · Physical · Social)

Systems

Biological · Complex · Complex adaptive · Conceptual · Database management · Dynamical · Economical · Ecosystem · Formal · Global Positioning System · Human anatomy · Information systems · Legal systems of the world · Systems of measurement · Metric system · Multi-agent system · Nervous system · Nonlinearity · Operating system · Physical system · Political system · Sensory system · Social structure · Solar System · Systems art

Theoretical fields

Chaos theory · Complex systems · Control theory · Cybernetics · Living systems · Sociotechnical systems theory · Systems biology · System dynamics · Systems ecology · Systems engineering · Systems neuroscience · Systems psychology · Systems science · Systems theory

Systems scientists

Russell L. Ackoff · William Ross Ashby · Béla H. Bánáthy · Gregory Bateson · Richard E. Bellman · Stafford Beer · Ludwig von Bertalanffy · Murray Bowen · Kenneth E. Boulding · C. West Churchman · George Dantzig · Heinz von Foerster · Jay Wright Forrester · George Klir · Edward Lorenz · Niklas Luhmann · Humberto Maturana · Margaret Mead · Donella Meadows · Mihajlo D. Mesarovic · James Grier Miller  · Howard T. Odum · Talcott Parsons · Ilya Prigogine · Anatol Rapoport · Claude Shannon · Francisco Varela · Kevin Warwick · Norbert Wiener · Anthony Wilden · Charles A S Hall

Одной из самых распространенных ошибок при старте ОС, когда после первичной проверки в BIOS Windows или Linux не загружаются, является сбой с появлением на экране строки Operating system not found. Что делать в этом случае, далее и будет рассмотрено. В принципе, и сама ошибка, и методика ее исправления практически идентичны тем, которые применяются для устранения сбоя, когда выдается уведомление о потерянной (недоступной) операционной системе (Missing operating system), хотя имеет отличие только в том, что проблема никоим образом не связана с воздействием вирусов и вредоносных кодов, а больше относится к аппаратно-программной части самой компьютерной системы. В качестве примера возьмем Windows-системы, которые у нас являются более распространенными.

Отключение внешних USB устройств от компьютера

Если на компьютере подключены несколько внутренних жестких дисков, внешние и USB-флешки, вполне вероятно, что BIOS пытается найти операционную систему в неположенном месте. Следовательно, не обнаружив систему Windows, выдает ошибку «Не найдено операционной системы».

  • Чтобы решить эту проблему, нужно отключить все внешние устройства хранения, подключенные к USB-портам, и повторить попытку. Мы также можем проверить наш оптический дисковод, чтобы убедиться, что он не пытается загрузить неправильный DVD.

Если после этого проблема все еще не решена, следующим шагом будет переход в BIOS настройки.

Методы исправления ошибки error 1962 no operating system found:

Лучший способ определить проблему — проверить состояние жесткого диска или SSD

-соединения в
BIOS
. Это поможет определить правильно или нет, подключен ваш жесткий диск.

Чтобы проверить состояние, просто откройте BIOS

вашего компьютера при запуске и найдите системную информацию, в меню
BIOS.

Условие № 1: Что делать, если ваш жесткий диск есть в списке в BIOS?

Если это так, то вполне возможно, что какое-то внешнее запоминающее устройство или может быть загрузочный том вашего жесткого диска создает какую-то проблему с BIOS.

Итак, как это исправить:

Способ 1

— Отключите все внешние устройства хранения, если они подключены, а затем снова загрузите компьютер. Если ошибка не появится, некоторые из ваших внешних
USB
создают проблему. Если она все еще осталась, попробуйте следующий способ.

Способ
3
Используйте средство восстановления при запуске, поскольку оно восстановит загрузочный том Windows. Эти ссылки помогут вам в этом. >> >>

Если ничего не может, боюсь, что придется переустанавливать операционную систему.

Условие № 2: Что делать, если вашего жесткого диска нет в списке BIOS?

Если вашего жесткого диска нет в списке BIOS, то вполне возможно, что эта проблема может быть связана с неисправностью HDD / SSD;

Изменение приоритета загрузки BIOS

Зайдите в конфигурации BIOS нажатием кнопок F2, F12 или Delete. После этого перейдите в раздел конфигурации Boot и выставить на первое место в графе Priority жесткий диск на котором рабочая и основная операционная система Windows. В разных версиях БИОС он называется по-разному, но вы ищите слово с сочетанием Priority, что означает «приоритетная загрузка». Вот несколько названий с разных BIOS: Hard Disk Priority, Boot Device Priority, Hard Disk Boot Priority.

После того как вы задали приоритет загрузки с жесткого диска на котором находится ваша система, не забудьте сохранить выставленные настройки кнопкой F10 и перезагрузите компьютер, чтобы убедиться «найдена ли система при включении компьютера».

Приоритетная загрузка в BIOS

Возможные причины возникновения

Если уж вдруг получился такой казус, и система постоянно выдает сообщение Operating System not found (Windows 7, 8 и т. д.), прежде всего, не паникуйте. Для начала просто проверьте, может быть, в компьютер или ноутбук вставлена флэшка, а в настройках BIOS приоритетным для загрузки является именно USB-девайс.

operating system not found что делать

Если винчестер снимался или менялся на новый (это касается стационарных компьютеров), очень может быть, что при повторном его подключении были неправильно или неплотно подключены соответствующие шлейфы. Давайте посмотрим, что можно сделать в такой ситуации.

Включить или отключить Безопасную загрузку

Если вы используете современный компьютер с операционной системой, такой как Windows 8 или Windows 10, тогда возможно причина, по которой наша Windows не запускается, заключается в неправильной настройке безопасной загрузки UEFI.

Зайдите обратно в BIOS, найдите раздел конфигурации Secure Boot (Безопасная загрузка) и деактивируйте его или активируйте, если он отключен, чтобы проверить пропала ли ошибка «Операционная система не найдена при загрузке компьютера».

В разных версиях BIOS или UEFI расположение настроек выглядит по разному, но вы в любой версии БИОСа ищите графу Secure Boot, пробуйте отключить или включить.

Включить или отключить безопасную загрузку BIOS

В данной ошибке говорится о том, что операционка не найдена и нужно отключить все диски, её содержащие. Так сказать, небольшая подсказка, то проблема может быть связана именно с накопителями. Конечно, такое бывает не всегда, то есть это даже не физическое повреждение диска. Скорее всего из-за манипуляций пользователя при загрузке системы BIOS не смогла обнаружить загрузочную запись системы. В одной из статей про ошибку был описан похожий случай.

Если проблема в диске, то вероятно подсоединенные шлейфы могли быть повреждены или отсоединены. Это нужно проверить в первую очередь. Помимо этого, попробуйте отключить все внешние устройства – флешки, внешние жёсткие диски, карт ридеры и модемы. Короче всё, что подключается по USB и имеет понятие накопитель. А еще, как было рекомендовано из текста ошибки — отключить другие диски, на которых система не установлена, если диск один, то этот момент пропускаем.

Сбросьте BIOS на заводские настройки

В нижней части меню BIOS вы увидите ключ для настроек по умолчанию или сброс BIOS. На моей машине это F9. Подтвердите свое решение при появлении запроса и перезапустите компьютер.

Сброс БИОСа F9

Если вы не нашли примерную кнопку, как F9 для сброса настроек на заводские, то ищите строку Load Setup Default и сбросьте БИОС.

Сброс на заводские настройки BIOS

Проверка БИОС

Сначала потребуется осуществить проверку последовательности загрузки BIOS, удостоверившись в том, что HDD является приоритетным. В ином случае, надо поменять порядок вручную. Делается это так:

  • войдя в БИОС, спуститься чуть ниже и выбрать «StandartCMOSFeatures»;

  • отыскать HDD и спуститься к нему, нажать «Enter»;

  • отобразятся дополнительные настройки HDD. Нужно нажать на «AccessMode» и выбрать «Large», сохранить изменения и выйти из BIOS с помощью F10.

Восстановить MBR жесткого диска

Если ваш жесткий диск с операционной системой помещен первым, но компьютер по-прежнему не загружается, возможно, что некоторые из начальных секторов диска были повреждены, такие-как основная загрузочная запись (MBR), загрузочная запись DOS (DBR) , или База данных конфигурации загрузки (BCD).
Ремонт этих секторов довольно прост. Все, что нам нужно — это создать установочную флешку Windows и через неё войти в дополнительные параметры загрузки.

Восстановление системы Windows

Далее найдите «Командную строку», чтобы запустить ее, пройдите по пути Устранение неполадок > Дополнительные параметры > Командная строка.

среда восстановления командная строка

Введите следующие команды в CMD по порядку, нажимая enter. Для выполнение каждой команды может потребоваться время.

  • bootrec.exe / fixmbr
  • bootrec.exe / fixboot
  • bootrec.exe / rebuildbcd

Восстановить MBR жесткого диска

Как избавиться от ошибки An operating system wasn t found

Конечно, парочку советов я уже дал чуть выше, но повторюсь. Так как многие пользователи просто не читают внимательно, как я заметил.

Отключите все внешние устройства, которые связаны по USB, особенно это касается накопителей памяти;

Проверьте, хорошо ли соединены шлейфы и прочие кабели с дисками. Проверьте подключение других комплектующих. Убедитесь в целостности оборудования в общем.

Войдите и проверьте наличие жёсткого диска в разделе Boot

. Если он отображается, значит диск работает, но проблема может касаться загрузочной записи Windows. Попробуйте . Чуть не забыл. Еще посмотрите на вкладке Boot правильное расположение устройств загрузки. Диск, на котором находится система должен быть на первом месте.

Также наличие и работоспособность диска можно проверить через .

Активируйте раздел Windows

Возможно, что раздел, на котором установлена ​​Windows, отключен. Вы можете исправить это, используя собственный инструмент diskpart Windows. Чтобы выполнить следующие шаги, вам снова понадобится USB-носитель для установки Windows. Запустите командную строку, как описано выше, через диск восстановление или установочную флешку Windows и в командной строке вбейте следующие команды:

  • diskpart — Запуск инструмента.
  • list disk — Список подключенных дисков к компьютеру.
  • select disk 0 — Выбор жесткого диска на котором нужно активировать раздел. В моем случае, основной жесткий диск 0.
  • list volume — Показывает разделы на выбранном жестком диски.
  • select volume 2 — Выбрать локальный диск для активации. Выбирайте тот, где установлена сама система widows.
  • active — Активировать раздел.

Перезагрузите компьютер и удостоверьтесь, пропала ли ошибка при включении компьютера An operating system wasn’t found. Ttry disconnecting any drives that don’t contain an operating system. Press Ctrl+ Alt+Del to restart, что означает, операционная система не найдена, нажмите для перезагрузки ctrl+alt+del.

Активировать раздел Windows через CMD

Смотрите еще:

  • Установка Windows на данный диск невозможна, так как выбранный диск имеет стиль разделов GPT
  • Как ограничить скорость интернета для скачивания обновлений Windows 10
  • Windows не удается завершить форматирование
  • Обновление функции до Windows 10 Версия 1709 Ошибка 0x80d02002
  • Что такое ACPI INT33A0 0 в Windows 10 и как исправить

comments powered by HyperComments

How to fix «An operating system wasn»t found» error

1) Download Emergency Boot Kit

and deploy it to USB thumbdrive according to the instructions , then set up your BIOS to boot from USB thumbdrive. You need full version of Emergency Boot Kit to actually write changes to the disk, but it»s recommended to try demo version to make sure there are no hardware incompatibilities.

2) Boot into Emergency Boot Kit:

3) Run File Manager from the main menu:

4) Press Alt+F1 and choose your boot partition from the menu. For Windows 10 and Windows 8/8.1 this partition should have «System Reserved» volume label and is expected to be small (100-500MB). Use UP and DOWN arrow keys and ENTER to navigate the menu:

5) In this example, BOOTMGR file is missing from boot partition. If it exists in your environment, delete it (set cursor to the file using arrow keys UP and DOWN and then press F8). If BOOTMGR file is not deleteable, then rename it (for example, to BOOTMGR.OLD by pressing F6 key):

6) Insert Windows 10 installation USB thumbdrive to any of your computer»s USB ports and press Alt+F2. Choose Windows 10 installation USB thumbdrive drive from the menu using UP and DOWN arrow keys:

(Alternative approach

: if don»t have Windows 10 installation USB thumbdrive, then you can recover a copy of this file from WindowsBootPCAT folder on your system partition)

8) Press TAB key to switch input focus to the right panel and navigate to the BOOTMGR file:

9) Press F5 to copy BOOTMGR to the left panel. Confirm with ENTER key:

Очень часто при отказе Windows 10 запускаться, на экране высвечивается ошибка Boot failure, а также An operating system wasn’t found. Press Ctrl+Alt+Del to restart. Причины возникновения этих ошибок одинаковые, способы их устранения тоже аналогичны.

В «десятке» могут появляться обе эти ошибки. К примеру, при удалении файла bootmgr на операционках с Legacy выскакивает первая ошибка, а при ликвидации всего раздела с загрузчиком появляется вторая ошибка.

Перед тем как начинать устранение ошибок, необходимо провести те манипуляции, которые написаны в тексте уведомления, а затем перезапустить компьютер. Первым делом необходимо отключить от ПК все накопители, которые не содержать операционку. Это могут быть флешки, оптические носители и сторонние винчестеры. Кроме того, к этой категории можно отнести все, что подключается по USB, кроме элементов управления.

Кроме того, необходимо проверить, чтобы запуск выполнялся с первого винчестера или файла Windows Boot Manager для систем UEFI. В таком случае нужно перейти в BIOS и проверить порядок запуска устройств. Для выполнения этого проще будет использовать Boot Menu. Если при его применении «десятка» запускается нормально, тогда стоит перейти в BIOS и изменить параметры.

Если это не принесло желаемого результата, тогда подобные ошибки возникают по более серьезным причинам, поэтому устранить их будет немного сложнее.

Настройка загрузчика «десятки»

Как можно понять из вышеописанного, искусственное возникновение ошибок довольно частое явление, если самостоятельно испортить содержимое скрытого отдела, зарезервированного операционкой или с загрузчиком операционки. В таком случае необходимо при появлении подобных ошибок попытаться восстановить загрузчик операционки.

Выполнить это можно довольно просто. Необходимо обзавестись загрузочным накопителем или диском восстановления с операционкой такой же разрядности, которая инсталлирована на компьютер. Стоит отметить, что подобный накопитель можно создать на другом компьютере.

Далее необходимо выполнить загрузку ПК с этого накопителя. Если применяется инсталляционный образ системы, тогда необходим перейти в среду восстановления. Для этого необходимо на экране указания языка кликнуть «Восстановление системы».

Здесь требуется указать «Поиск и устранение неисправностей». В следующем окне необходимо нажать «Дополнительные параметры». После этого требуется нажать «Восстановление при загрузке». Затем требуется выбрать версию операционки.

После этого запустится автоматический поиск проблем с загрузчиком и его восстановление. Эта функция функционирует отлично и в большинстве случаев вмешательство пользователя не требуется.

Если это не принесет желаемого результата, и ошибка опять высветится на черном экране, при этом загрузка должна выполняться с необходимого накопителя, стоит попытаться реанимировать загрузчик в ручном режиме.

Кроме того, проблемы с загрузчиком могут возникать после выключения одного из винчестеров от ПК. При этом загрузчик должен располагаться на этом накопителе, а операционка на другом. В таком случае необходимо потупить определенным образом.

Первым делом необходимо в начале диска с операционкой отвести немного места под FAT32 для UEFI или NTFS для Legacy. Выполнить это можно с использованием бесплатного образа MiniTool Bootable Partition Manager. После этого необходимо провести восстановление загрузчика в ручном режиме с использованием bcdboot.exe

Ошибка запуска «десятки» из-за проблем с винчестером или SSD

Если никакие манипуляции по реанимированию загрузчика не помогут устранить эти ошибки в «десятке», в таком случае на них могут влиять неисправности с винчестером или утерянные файлы.

Если есть предположения, что что-то из этого произошло, а на это могут влиять сбои питания, дефекты винчестера и др., в таком случае необходимо провести несколько манипуляций.

Первым делом необходимо переподключить винчестер или твердотельный накопитель. Для этого требуется отсоединить SATA шлейфы и шнуры питания от материнки и винчестера. Также можно отключить и остальные провода.

Затем требуется загрузиться в среде восстановления, и применяя командную строку, требуется просканировать винчестер на ошибки. Кроме того, есть возможность сбросить систему со стороннего накопителя. Также есть вариант устранения ошибки путем установки операционки с нуля, при этом выполняя форматирование.

Вот, в принципе, и все возможные причины появления проблем и методы их устранения. Очень хорошо, будет, если устранить проблему получиться простым отключением накопителей и восстановлением загрузчика. Если это не помогло, тогда необходимо переустановить операционку.

Всем известно, что операционная система в основном находится ​​на жестком диске или на SSD. И когда люди видят эту ошибку на экране, первая мысль которая возникает в голове о том, что неисправен или поврежден именно жесткий диск. В большинстве случаев это так и есть, хотя бывают и исключения. Возможно повреждение загрузочного тома вашей операционной системы;

И после этих двух возможных причин, то приходит к возможности вашего жесткого диска, чтобы он мог немного стать неисправным, и я думаю, вы тоже это исправите;

Normal boot sequence

Normally computer boots as shown below (Windows 7 boot sequence is shown as example):

  1. BIOS loads 1st sector from HDD (Master Boot Record), verifies 55 AA signature and transfers control to Master Boot Record.
  2. Master Boot Record scans partition table for active partition, then it loads 1st sector from active partition, verifies 55 AA signature, and transfers control to Boot Sector.
  3. Boot Sector loads 15 additional sectors from the beginning of disk (Volume Boot Record) and transfers control to first additional sector of VBR.
  4. Volume Boot Record loads BOOTMGR file from root directory of boot partition into the memory and transfers control to it.
  5. BOOTMGR loads BootBCD registry hive and displays boot menu. BOOTMGR is able to run memory test and set safe mode boot flag per explicit user request. But normally, it loads winload.exe when computer boots normally (cold startup) or winresume.exe (when computer resumes from hibernation).
  6. Winload.exe opens SYSTEM registry hive, gets list of drivers, loads NTOSKRNL.exe, loads drivers (*.SYS files) and transfers control to NTOSKRNL.exe.
  7. Winresume.exe loads memory dump from hiberfil.sys and transfers control to it.

Like this post? Please share to your friends:
  • Windows is activated with a digital license что это
  • Windows iphone устройство не опознано windows 10
  • Windows ip over usb pc service что это
  • Windows invalid locale name en us utf 8
  • Windows intune endpoint protection что это