Основы операционной системы, которые должны знать все пользователи
Содержание:
Понятие
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске.
Операционные системы нужны, если:
- вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев операционная система отвечает на неё реализацией файловой системы. Современные системы, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции;
- различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция — тысяч. Чтобы не программировать их каждый раз заново, операционные системы предоставляют системные библиотеки часто используемых подпрограмм (функций);
- между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;
- необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам);
- оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды — оболочка и наборы утилит — они могут являться частью операционной системы.
Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:
- использующие файловые системы (с универсальным механизмом доступа к данным),
- многопользовательские (с разделением полномочий),
- многозадачные (с разделением времени).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой операционной системе. В составе операционной системы различают три группы компонентов:
- ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
- системные библиотеки;
- оболочка с утилитами.
Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.
В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Что такое Операционная Система?
Операционная система (ОС) – самое важное программное обеспечение, которое работает на компьютере. Она управляет компьютерной памятью, процессами и всем прикладным программным обеспечением (программами) и оборудованием
Она также позволяет вам общаться с компьютером, не зная, «компьютерного языка». Без операционной системы вы не сможете использовать компьютер по назначению.
Загрузка операционной системы.
Вы, наверное, слышали фразу загрузить компьютер, но знаете ли вы, что это значит? Загрузка — это процесс, который происходит, когда вы нажимаете кнопку питания, чтобы включить компьютер. Во время этого процесса (который может занять некоторое время), компьютер делает несколько вещей:
- Выполняет тесты, чтобы убедиться, что все работает правильно.
- Проверяет наличие нового оборудования.
- Запускает операционную систему.
Когда операционная система запущена, она управляет всем программным и аппаратным обеспечением на компьютере. В процессе работы компьютера, множество различных программ, работают одновременно, и все они должны иметь доступ к ресурсам компьютера (процессору, оперативной памяти, жёсткому диску). ОС координат всё это, чтобы убедиться, что каждая программа получает, что ей нужно. Без ОС, программное обеспечение не может общаться с оборудованием, а компьютер в таком случае бесполезен.
Виды операционных систем
Припомните, какие ОС Вы знаете? Самая популярная операционная система – “windows”, а еще что есть? Полагаю, что недлинный список известным Вам «библиотекарей» на этом и заканчивается. Ничего страшного, большинство ответит также. Возможно, более продвинутые вспомнят еще и “Linux” или старый добрый “Macintosh”, а владельцы ноутбуков не забудут заявить о существовании ОС “Ubuntu”, установочный диск с которой иногда входит в комплектацию некоторых марок.
Рассмотрим две самые популярные операционные системы. Начнем, пожалуй, с менее популярной, но не менее качественной. Словом, обо всем по порядку.
Если уж вспомнить несколько ОС Вам под силу, то назвать несколько крупных корпораций, ведущих разработку в сфере компьютерной техники и программного обеспечения, сможете наверняка. Наиболее известны из них две. Это “Microsoft” и “Apple”. Припомните, какую ОС предлагает клиентам первая? А вторая? На первый вопрос ответят без труда почти все. Но вот то, что “Apple” придумала и совершенствует до сих пор Операционку “Macintosh”, знают те немногие, кому это необходимо по работе.
Явилась на свет “Mac OS’ в 1984 году. И это была первая система, интерфейс которой был графическим. Скажу, что до этого операционные системы управлялись при помощи командной строки. То есть, чтобы запустить какую-то программу, необходимо было задать соответствующую текстовую команду. Очень неудобно, скажете Вы. Все верно, но учтите, это было на самой заре развития компьютерного обеспечения.
Трудно переоценить прорыв, который совершила компания “Apple”. Его можно сравнить с изобретением колеса для машиностроения или компаса для навигации.
Теперь всеми программами можно было управлять посредством специальных изображений — иконок и ярлыков. Это существенно облегчило пользование компьютером. Кстати, интересный факт. Компьютерная мышка была создана как раз для пользования данной ОС.
Современный “Macintosh” также очень популярен. Но использовать его могут лишь владельцы продукции “Apple”.
В чем же привлекательность “Mac OS” и преимущество ее перед конкурентами? Раз уж ОС разработана именно для компьютеров “Apple”, то на этой технике работает она безотказно. Вот, к примеру, фото рабочего стола, где запущено сразу около 200 приложений. Впечатляет?
Система не имеет реестра, что снимает с повестки дня уйму проблем, способных привести к необходимости переустановки. Ах, Вы не знаете, что такое реестр? Говоря простым языком, это специальный список программ и прочих приложений, которые Вы устанавливаете на компьютер. Чем их больше, тем сложнее ОС запускать их и работать с ними. Многие удаляют приложения очень простым, но неправильным образом. Просто перемещают папку в «корзину». Но в реестре удаленная таким образом программа остается. И это плохо. Реестр необходимо постоянно чистить. Краткий экскурс закончен, вернемся к нашим баранам.
Специалисты отмечают удобство интерфейса “Mac OS”, характеризуя его словами «ничего лишнего». Установка программ проходит гораздо легче (ввиду отсутствия реестра, как уже упоминалось). Защита этой операционной системы также на высоте. Она мало подвержена вирусам, взломам и прочим «неприятностям» в жизни компьютера. Невероятно, но для “OS Mac” нет ни одного официального антивирусного приложения.
Вы спросите меня, а почему же она не так популярна, как операционная система “Windows”? Все упирается в цену. Компьютеры “Apple” очень мощные, а значит и дорогие. Компания не разменивается на создание средних машин, популярных на постсоветском пространстве. Это не значит, что у нас нельзя приобрести такую технику. Вот только стоить она будет на порядок выше. А деньги — это главный аргумент для большинства, увы.
Немало важно и то, что любая ОС «заточена» под определенный вид действий. Не исключение и эта программа
«Макинтош» хорошо справляется с мультимедийными программами, а вот с офисными не очень. Да и софт (полезные программы) для этой системы не слишком-то легко найти.
Ссылки
В Викисловаре есть статья «операционная система»
- Операционная система в каталоге ссылок Open Directory Project (dmoz).
- Обзор различных операционных систем
- Отставнов М. Е. Свободное программное обеспечение в школе. Свободное ПО для школы (2003).(недоступная ссылка — история) Проверено 16 апреля 2010.
Для улучшения этой статьи желательно?: |
Операционные системы (история • список)
Free /Open source
Unix-подобные: Linux • BSD • Minix • GNU • Plan 9 • Не Unix-подобные: ReactOS • FreeDOS • Haiku • osFree • KolibriOS • Syllable • AROS •
Proprietary
Unix-подобные: Apple MacOS X • HP-UX • IBM AIX • QNX • SCO OpenServer • Solaris • Tru64 • Не Unix-подобные: MS Windows • Встраиваемые: BlackBerry OS • Apple iOS • PSP OS • Symbian OS • MS Windows (Embedded • Phone)
Аспекты операционных систем (история • список)
Ядро
Гибридное • Микро • Модульное • Монолитное • Нано • Экзо • Драйвер • Пространство пользователя • Область пользователя
Управлениепроцессами
Режимы (супервизора • реальный • защищённый) • Прерывание • Кольца защиты • Переключение контекста • Многозадачность (вытесняющая • кооперативная • мультипрограммирование) • Процесс • Управление процессом • Планировщик задач • Многопоточность
Управлениепамятью
Защита памяти • Сегментная адресация памяти • Страничная память • Менеджер виртуальной памяти • Ошибка сегментации • Общая ошибка защиты
Прочее
Загрузчик ОС • API • VFS • Компьютерная сеть • GUI • Слой аппаратных абстракций (HAL)
У этого термина существуют и другие значения, см. Операционная система (значения). Запрос «OS» перенаправляется сюда; см. также другие значения.
В данной статье имеется список источников или внешних ссылок, но источники отдельных утверждений остаются неясными из-за отсутствия сносок. Утверждения, не подкреплённые источниками, могут быть поставлены под сомнение и удалены. Вы можете улучшить статью, внеся более точные указания на источники. |
Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами (драйверами) — с одной стороны — и прикладными программами с другой.
Разработчикам программного обеспечения операционная система позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций (см.: интерфейс программирования приложений).
В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Windows, UNIX и UNIX-подобные системы
> Существующие операционные системы Основная статья: Список операционных систем > См. также
- Операционное окружение
- Аппаратная платформа компьютера
- Сетевая операционная система
> Примечания
- Свежая версия ISO/IEC 9945 принята Международной организацией по стандартизации (ISO) в 2003 году.
В Викисловаре есть статья «операционная система»
- Выбор операционной системы для сервера
- Операционная система в каталоге ссылок Open Directory Project (dmoz)
- Обзор различных операционных систем.
- Отставнов М. Е. Свободное программное обеспечение в школе (недоступная ссылка). Свободное ПО для школы (2003). Проверено 16 апреля 2010. Архивировано 6 июля 2008 года.
- Операционная система (Operating system) по ГОСТ 15971-90
Для серверов или рабочих станций | Unix-подобные |
---|
Не Unix-подобные
Встраиваемые
Другие
Понятие
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске.
Операционные системы нужны:
- если нужен универсальный механизм сохранения данных;
- для предоставления системным библиотекам часто используемых подпрограмм;
- для распределения полномочий;
- необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере;
- для управления процессами выполнения отдельных программ.
Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:
- использующие файловые системы (с универсальным механизмом доступа к данным),
- многопользовательские (с разделением полномочий),
- многозадачные (с разделением времени).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов в самой операционной системе. В составе операционной системы различают три группы компонентов:
- ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
- системные библиотеки;
- оболочка с утилитами.
Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.
В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Фаза 3: Няшный Си
На этот раз мы будем писать на сях прогу, которая будет делать тоже, что и . Для того, чтоб иметь возможность компилировать няшную сишечку под малинку нам нужен кросс-компилятор под .
Установка кросс-компилятора
Нам нужно установить GNU-тулчейн для под архитектуру (компилятор gcc и его компанию вроде objcopy).
Под macOS
Для начала стоит установить менеджер пакетов homebrew. Если уже установлен, то эту часть можно пропустить.
- Установите инструменты Xcode для командной строки. Появится диалоговое окно. Когда появится — нажмите «Установить», «Продолжить» или что там обычно.
- Запустите скрипт установки Homebrew. Оный проведет вас через остальную часть процесса установки.
Теперь установим тулчейн aarch64-none-elf используя homebrew.
Проверим, всё ли правильно установлено:
Под Linux
- Загрузим и распакуем aarch64-none-elf-linux-x64.tar.gz. После этого переместим в :
- Добавим к переменной окружения . Как именно — это зависит от вашего конкретного диструбутива Linux. В большинстве случаев следует добавить в следующее:
- Проверяем, всё ли нормально. В качетве вывода мы должны получить версию gcc и всё такое.
Можно собрать самому из исходников, если такое желание возникнет. Подробнее вот тут.
Теперь немного о железе
Взаимодействие подавляющего большинства современных аппаратных устройств с ПО осуществляется через отображение его в память Memory-mapped I/O. Суть такова: с устройствами можно общаться так, будто это просто некая часть памяти. При этом предоставляется спецификация о том, что будет происходить при записи или чтении определённых адресов в памяти. Адреса обычно разделяются на кусочки по 32 или 64 бита, которые называют регистрами. Регистры могут быть доступны только для чтения из них, для записи или для того и другого сразу.
Как мы узнаем, какие регистры и для чего использовать, и где в памяти они находятся? Производители различных устройств пишут документацию на эти самые устройства. Обычно их зовут даташитами (data sheet), мануалами (device manual), ну или просто документацией. Нет какого либо общего широко распространённого формата для документирования устройств. Иногда документация может быть недостаточной или её может не быть вообще. Умение читать и понимать аппаратную документацию это вполне себе полезный скилл и в некотором роде даже искусство.
Интерфейс GPIO в памяти
Документацию на многие периферийные устройства, которые есть у Rasbperry Pi, можно найти в документе BCM2837 ARM Peripherals Manual. Про GPIO можно почитать на 89 странице.
Для нашей задачи нам достаточно следующих регистров:
имя | адрес | описание | размер | чтение/запись |
---|---|---|---|---|
GPFSEL1 | 0x7E200004 | GPIO Function Select 1 | 32 бита | и то и другое |
GPSET0 | 0x7E20001C | GPIO Pin Output Set 0 | 32 бита | только запись |
GPCLR0 | 0x7E200028 | GPIO Pin Output Clear 0 | 32 бита | только запись |
Тащемто это непосредственно скопировано прямо из документации со страницы 90.
Теперь почитайте документацию для регистра на страницах 91 и 92. Мы записываем в этот регистр для настройки пинов в качестве выходных или входных. Какое должно быть значение в каждом поле регистра для настройки вывода №16 GPIO, чтоб он стал выходом?
Теперь опять читаем документацию на странице 95. Про регистры и . Мы записываем в регистр для включения контакта. А в для выключения. Какое значение нам требуется записать в эти регистры для включения/выключения вывода 16?
Написание кода
В каталоге репы есть заготовка кода для построения двоичного файла для малинки. Пока обойдёмся без объяснения того, зачем нужны , и . Вместо этого сосредоточимся на . В нём вы обнаружите, что уже указаны адреса всех трёх необходимых нам регистров в верхней части. Кроме этого там есть парочка функций, которыми можно создать временную задержку. Задача состоит в том, чтоб дополнить функцию так, чтобы вывод №16 GPIO был настроен как выход, а затем то включался, то выключался для мигания светодиодом.
Когда код будет готов — его следует протестировать. Для начала скомпилируйте его, запустив , находясь в директории . Если всё хорошо и нет ошибок, то создастся файлик . Переименовываем его в , копируем на microSD-карточку и запускаем это всё на малинке. Если уже есть работающий — можно переходить к следующей фазе.
Представление о файлах и папках в операционной системе
В операционной системе используются понятия файл и папка.
Файл – это поименованная область дискового пространства. Файл состоит из имени и типа (расширения). Имя файла присваивает пользователь, а тип файла присваивает программа, в которой файл создан. Каждый файл имеет значок (зависит от типа файла), по которому можно определить визуально, какой программой был создан файл.
Папка (каталог) – объект файловой системы, упрощающий организацию файлов в операционной системе. Папка имеет имя и содержит информацию о подкаталогах и файлах. Папка имеет жёлтенький значок в виде бумажной папки.
Для работы с файлами и папками в ОС есть встроенные инструменты, менеджеры файлов. Windows Explorer (Проводник) – в Windows и Finder (Искатель) – macOS.
Как открыть Windows Explorer (проводник) на PC:
Щёлкните значок Windows Explorer (проводник) на панели задач либо дважды нажмите любую папку на вашем рабочем столе. Перед вами будет открыто окно проводника.
Как открыть Finder (Mac):
Щёлкните значок Finder (искатель) в Док панели или дважды щёлкните левой кнопкой мышки по любой папке на рабочем столе. Откроется окно Finder.
Базовая навигация
Используете вы Windows Explorer (на PC) или Finder (на Mac), базовая навигация у них похожа. Если вы видите, файл, который хотите открыть или запустить, подведите на него курсор и дважды кликните по нему левой кнопкой мышки (быстрые и короткие нажатия на кнопку). В противном случае можете использовать Панель навигации на левой стороне окна, чтобы выбрать другую папку и найти нужный файл.
Удаление файлов
Удаление в Windows и macOS проходит через Корзину (или Мусорный бак), чтобы предотвратить случайное удаление файлов, сначала они попадают в корзину, а уже потом могут быть удалены навсегда. Файлы, находящиеся в корзине можно восстановить. Также нужно помнить, что в корзину не попадают удаляемые файлы больших размеров (например, фильмы) и файлы, удаляемые с внешних носителей (флешки, USB накопители).
Если вы уверены, что хотите, навсегда удалить файл, вам нужно будет очистить корзину.
Удаление файла на PC:
Способ № 1: Нажмите и удерживайте левую кнопку мышки на удаляемом файле, перетащите файл на значок Корзины, который находится на рабочем столе.
Способ № 2: Нажмите правую кнопку на выбранном файле и выберите пункт «Удалить».
Способ № 3: Выберите файл (навести на него курсор и кликнут левой кнопкой мышки) и нажать клавишу DEL.
Чтобы очистить корзину, щёлкните правой кнопкой мышки на значок Корзина и выберите пункт меню «Очистить корзину». Все файлы в корзине будут безвозвратно удалены.
Удаления файла на компьютере Mac:
Нажмите и перетащите файл на значок Мусорного бака или корзины, который расположен в Док панели. Вы также можете использовать второй и третий способы, описанные выше.
Очистка мусорного бака проходит точно так же, как в Windows.
На некоторых компьютерах Mac, щелчок правой кнопкой мышки может быть отключён по умолчанию. Если вы не можете вызвать контекстно-зависимое меню правой кнопкой мышки, вы можете просто нажать и удерживать значок «Корзина», пока не появится параметр «Очистить корзину».
Открытие файла и запуск программы
Двойной клик (щелчок) левой кнопкой мышки на файл, автоматически открывает его в приложении (программе), в которой он был создан, или она определена для просмотра этого типа файлов.
То есть если вы открываете документ, набранный в текстовом редакторе MS Word, по умолчанию откроется именно эта программа. Если у вас несколько похожих программ, и не определена приоритетная, операционная система предложит сделать выбор.
Как открыть приложение (программу) на PC:
Щёлкните кнопку «Пуск» и выберите требуемое приложение. Если вы не видите его, можете нажать «Все программы» чтобы увидеть полный список. Для удобства и быстрого доступа, часто используемых приложений можно добавить ярлык на панель задач или на рабочий стол.
В Windows 8, нет меню «Пуск», так что вы обычно будете открывать приложения через «Начальный экран». Если вы уже обновили свою операционную систему до Windows 10, тогда сможете получить доступ к программам традиционным способом.
Как открыть приложение на Mac:
Щёлкните по значку приложения на Док панели. Если вы не видите его, нажмите значок Лупа в верхнем правом углу экрана и введите имя приложения.
Если вы используете OS X Лев или Горный Лев, можете нажать на значок Launchpad (Ракета, стартовая платформа) в Док панели и выбрать приложение.
Что такое операционная система?
Но существуют и другие устройства, которые операционная система наделяет несколькими важными способностями:
- Позволяет выполнять различные задачи
- Обеспечивает взаимодействие пользователя с устройством на более сложном уровне
- Поддерживает в порядке изменения, вносимые пользователем
Операционными системами обладают все настольные компьютеры. Наиболее распространены операционные системы семейства Windows, разработанные корпорацией Microsoft. Apple предустанавливает на свои компьютеры собственную операционную систему, о которой речь шла выше. Кроме того, существует огромное семейство UNIX-систем. История их разработки полна выдающимися личностями, инновационными корпорациями и примерами сотрудничества во имя достижения совместной цели. На свете существуют сотни различных операционных систем, ориентированных на выполнение узкоспециальных задач. В их числе операционные системы для больших ЭВМ (мэйнфреймов), роботов, промышленного оборудования и систем реального времени.
Каждое устройство, обладающее операционной системой, обычно позволяет производить изменения в процессе работы. И для этого совсем не нужно переставлять местами микросхемы. Пользователь программно отдает команды, которые затем сообщают аппаратной части устройства, как себя вести в изменившихся условиях.
Для пользователя настольного компьютера это означает возможность ставить обновления безопасности, системные заплатки, дополнительные приложения и даже менять операционную систему. А компьютер при этом остается прежним. Иными словами, вы можете поменять поведение своего компьютера, ничего не меняя в его аппаратной составляющей. Это же касается и современных мобильных телефонов. Вне зависимости от того, на каком устройстве установлена операционная система, она берет на себя контроль над каждой выполняемой им задачей и управление его системными ресурсами.
Виды Операционных систем
Операционные системы предварительно устанавливаются на любой компьютер, который вы покупаете. Большинство людей используют ту операционную систему, которая уже была предустановлена при покупке компьютера, но при желании они могут обновить или установить другую.
Существуют три наиболее популярных операционных систем для компьютеров: Microsoft Windows, Apple Mac Os X и Linux.
Современные операционные системы используют Графический Интерфейс Пользователя (ГИП, по англ. GUI — Grafical user interface). GUI позволяет использовать мышь, клавиатуру и джойстик для управления экранными объектами (иконки, кнопки, значки, меню), представленные пользователю на дисплее, в виде сочетании графики и текста. Т.е. все четко и ясно показано на экране компьютера в виде графических изображений, что позволяет легко работать на компьютере с помощью мыши, клавиатуры и т.п.
GUI каждой операционной системы имеет свой внешний вид, поэтому если вы вдруг переключитесь на другую операционную систему, то на первый взгляд и ощупь незнакомая операционная система может показаться вам непривычным и неудобным. Тем не менее все они разработаны так, чтобы быть максимально простым в использовании.
Когда еще не было графического интерфейса GUI, компьютеры имели интерфейс командной строки. Это означает что пользователь должен был ввести каждый раз команду в компьютер, чтобы отобразить в экране только один текст.
Эволюция и основные идеи
Предшественником операционных систем следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).
В 1950—1960-х годах сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы.
Пакетный режим
Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём система может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.
Разделение времени и многозадачность
Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.
Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.
Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме.
Разделение полномочий
Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности изменения исполняемой программы или данных одной программы в памяти компьютера другой программой (намеренно или по ошибке), а также изменения самой системы прикладной программой.
Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).
Реальный масштаб времени
Основная статья: Операционная система реального времени
Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.
Включение функции реального масштаба времени позволило создавать решения, одновременно обслуживающие производственные процессы и решающие другие задачи (в пакетном режиме и/или в режиме разделения времени).
Файловые системы и структуры
Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).
Файловая система — способ хранения данных на внешних запоминающих устройствах.
> Существующие операционные системы Основная статья: Список операционных систем