Что такое операционная система и для чего она нужна
Операционная система — что это такое, функции
Операционная система является неотъемлемой частью практически любого сложного компьютерного устройства. Мы видим ее на компьютерах, на смартфонах и даже на телевизорах.
ОС открывает множество возможностей для устройства, на котором она используется. Поэтому довольно важно знать, что она из себя представляет, на что способна и ее назначение.
Прошлый материал был посвящен тому, как сделать значок мой компьютер на рабочем столе Windows 10. Сейчас мы подробно разберем, что такое операционная система, дадим ей определение и рассмотрим зачем она нужна.
Что такое операционная система
Операционная система (ОС, OS) — это целый комплекс программного обеспечения, позволяющее управлять ресурсами устройства, на которое она установлена. Так, ОС полностью управляет всей начинкой/железом компьютера, ноутбука или, к примеру, смартфона. Она позволяет пользователю взаимодействовать с устройством и обеспечивает эффективное распределение вычислительных ресурсов между процессами.
ОС предоставляет разработчикам программного обеспечения простой интерфейс для создания программ, который значительно упрощает разработку. Важно отметить, что программы пишутся исключительно под отдельную OS. Подробно мы уже рассматривали это в материале — программа, что это.
В большинстве устройств именно операционная система является основной частью системного программного обеспечения. И, в зависимости от самой ОС, может предоставлять пользователю разный функционал. А чаще всего, к примеру, Windows позволяет пользователю самому устанавливать программное обеспечение и по желанию расширять возможности/функционал своего компьютера или ноутбука.
На данный момент самыми распространенными являются Windows и Unix, подобные системы, тот же Linux, Mac OS, Android, IOS и другие.
Интересно! Типы ОС мы подробно рассмотрели в материале — виды операционных систем. Там вы найдете всю нужную информацию с иллюстрированными картинками.
Стоит отметить, что не во всех устройствах используются ОС. К примеру, в простой технике она просто не нужна. Это те же магнитолы, простые приставки, кухонная техника. Т.е. в той, где по сути выполняется одна простая программа при включении.
А вот, если уже нужно выполнение нескольких разных программ, единый механизм хранения данных, вариативность и графический интерфейс, то ОС уже необходима.
Ядром операционной системы называется самая важная ее часть, которая управляет выполнением процессов и всеми ресурсами компьютера/устройства. Оно предоставляет запускаемым процессам доступ к этим ресурсам и координирует их работу.
Назначение операционной системы
Выделим два главных назначения, зачем она вообще нужна на компьютере, смартфоне или другом сложном компьютерном устройстве.
1. Управление всей начинкой/железом устройства. Обеспечивает его работу, взаимосвязь, контролирует все процессы.
2. Позволяет пользователю взаимодействовать с устройством на понятном ему языке. В зависимости от устройства, тип взаимодействия может отличаться. Современные OS обладают графической оболочкой и предоставляют управление разными способами.
Благодаря ОС у нас есть возможность вообще пользоваться различными девайсами и компьютерами, устанавливать на них программы и приложения.
Функции операционной системы
Функции ОС зависят от того, какие возможности вложили в нее разработчики и от установленного железа в устройстве/компьютере. Но есть самые основные, присущие всем ОС:
Также есть и множество дополнительных функций, которые уже зависят от типа ОС. К примеру, многопользовательский режим, сетевые операции или режим защиты.
Немного истории появления операционных систем
С появлением первых компьютеров, операторы оборудования для выполнения определенных операций вводили команды/код на машинном языке. Это были довольно длинные и сложные строчки кода, которые приходилось каждый раз вводить вручную.
Чтобы минимизировать их и упростить обращение с ПК, разрабатывались специальные служебные программы и библиотеки к ним. Так, у операторов появилась возможность избавиться от многократного ввода одних и тех же длинных строчек кода, за счет запуска этих программ. Это были 1 940-е года, именно эти служебные программы и принято считать предшественниками нынешних операционных систем.
Нужен был полноценный комплекс программного обеспечения, который позволял пользователю управлять компьютером максимально просто и значительно увеличивал бы эффективность работы. Так, уже в 1 950 годах были сформированы идеи, которые будут определять функционал будущих ОС. Это:
Первые ОС, типа MS-DOS не обладали графическим интерфейсом и использовались в большинстве своем только узким кругом лиц. С появлением же первой Windows в 1 985 году все изменилось, ею было удобно пользоваться, она была с графическим интерфейсом. Именно тогда компьютеры и стали набирать популярность.
Интересно! Первой самой популярной операционной системой в мире стала Windows 95. А сейчас это место принадлежит Windows 10.
В заключение
Эта была основная информация по этой теме, которую необходимо знать. С развитием технологий, они будут меняться и улучшаться, но одно ясно точно — эта часть IT индустрии не исчезнет никогда.
Операционная система — зачем она нужна на компьютере
После первого запуска компьютера ваше знакомство начинается с программным обеспечением. И первое, что вы видите на экране – это операционная система, её загрузка и приветствие, которая открывают перед вами рабочий стол. Существует много операционных систем, мы рассмотрим самые популярные и распространённые, которые вы можете встретить на стационарных и портативных компьютерах и мобильных устройствах.
Что такое Операционная Система?
Операционная система (ОС) – самое важное программное обеспечение, которое работает на компьютере. Она управляет компьютерной памятью, процессами и всем прикладным программным обеспечением (программами) и оборудованием. Она также позволяет вам общаться с компьютером, не зная, «компьютерного языка». Без операционной системы вы не сможете использовать компьютер по назначению.
Загрузка операционной системы.
Вы, наверное, слышали фразу загрузить компьютер, но знаете ли вы, что это значит? Загрузка — это процесс, который происходит, когда вы нажимаете кнопку питания, чтобы включить компьютер. Во время этого процесса (который может занять некоторое время), компьютер делает несколько вещей:
Когда операционная система запущена, она управляет всем программным и аппаратным обеспечением на компьютере. В процессе работы компьютера, множество различных программ, работают одновременно, и все они должны иметь доступ к ресурсам компьютера (процессору, оперативной памяти, жёсткому диску). ОС координат всё это, чтобы убедиться, что каждая программа получает, что ей нужно. Без ОС, программное обеспечение не может общаться с оборудованием, а компьютер в таком случае бесполезен.
Типы операционных систем
Сегодня новые компьютеры идут с предустановленной операционной системой. Большинство людей используют ту операционную систему, которая поставляется с компьютером, но её можно модернизировать или даже переустановить на другую. Тут достаточно знать базовые основы работы с ОС, и вы сможете работать за любым компьютером.
Рассмотрим три наиболее распространённые ОС для персональных компьютеров Microsoft Windows, Apple macOS, и Linux.
Современные операционные системы используют Графический Интерфейс Пользователя, или GUI, который позволяет использовать мышь, наводить указатель на значки, кнопки, меню и всё это наглядно отображаются на экране с помощью комбинации графики и текста.
У каждого GUI свои стили, даже версии ОС отличаются стилем и оформлением. Но, это никак не затрудняет работу на компьютере, наоборот, только делает её проще.
Если вернутся немного в прошлое, то перед графическим интерфейсом, компьютеры имели интерфейс командной строки — это означало, что пользователь должен был вводить команды в командной строке, а компьютер отображал это в виде текста на чёрном экране. Тогда это было фантастикой, а сегодня покажется обычному пользователю медленным и неудобным.
Microsoft Windows
Корпорация Microsoft создала операционную систему Windows в середине 1980-х годов. На протяжении многих лет, было много разных версий этой ОС. Современные ПК работают на 10 версии ОС, но можно встретить компьютеры, которые работают на более ранних версиях, даже на Windows XP. Windows поставляется предустановленные копии на большинство новых компьютеров, что помогло сделать её наиболее популярной операционной системой в мире.
Если вы покупаете новый компьютер или обновление до новой версии Windows, вы можете выбрать одну из нескольких версий Windows, таких как Домашняя (Home), Профессиональный (Professional), и Максимальная (Ultimate), которые в свою очередь также могут подразделяться на базовые и расширенные.
Apple macOS
macOS — это линейка операционных систем, созданных компанией Apple Inc. Она поставляется с предустановленной на все новые компьютеры Macintosh. Все последние версии известны как macOS и номер, версия системы. Каждая версия имеет кодовые имена Mountain Lion Горный Лев (2012 г.), Lion Лев (2011 г.), и Snow Leopard Снежный Барс (2009 г.). Apple также предлагает ОС под названием OS X Server, которая предназначена для работы на серверах.
По статистике доля macOS на рынке операционных систем составляет — 7.5% а начиная с января 2013 года – и того меньше. А вот процент пользователей операционной системы Windows (свыше 90%). Одна из причин этого заключается в том, что компьютеры Apple стоят дороже и не имеют такой совместимости, как компьютеры с ОС Windows, с другими программными продуктами. В нашей стране это наиболее актуальная причина. Однако, многие люди, попробовав в работе компьютеры Apple, предпочитают именно эти их и эту операционную систему.
Linux
Linux (произносится Линукс) — семейство open source операционных систем, что означает открытый программный код, они могут быть изменены и доработаны, а распространяются бесплатно с готовым набором программ для пользования. Это очень отличается от закрытого программного обеспечения, такого как Windows и macOS, которое могут изменить только в компании разработчика. Очевидно, что преимущества Linux, в том, что она бесплатна и есть много разных дистрибутивов* (или версии). Каждый дистрибутив имеет разные стили, и самым популярным из них относятся к Ubuntu, Mint, и Fedora.
Дистрибутив – это набор, комплекс программ собранный для выполнения определённых задач пользователя, объединены в единую систему установки и обновления.
Linux носит своё название в честь Линус Торвальдс (Linus Torvalds), который создал ядро Linux в 1991 году. Ядро — это компьютерный код, который образует центральную часть операционной системы.
И снова прибегнем к статистике, доля Linux менее 1% на рынке операционных систем. Однако не стоит забывать, что операционные системы на базе Linux для серверов являются лидерами среди конкурентов.
Мы поговорили о наиболее распространённых операционных системах, которые предназначены для настольных компьютеров и ноутбуков. А теперь немного поговорим о мобильных версиях ОС.
Операционные системы для мобильных устройств
Мобильные устройства такие, как смартфоны, планшетные компьютеры и mp3-плееры отличаются от настольных и портативных компьютеров не только технической частью, но и программной. На них устанавливают и операционными системами, которые предназначены специально для мобильных устройств. Примеры мобильных операционных систем: Apple iOS, Google Android и Windows Phone.
Операционные системы для мобильных устройств выполняют те же задачи, что и компьютерные, только графический интерфейс выглядит иначе. Здесь всё сделано для удобной работы на маленьких дисплеях. Работают жесты и множество других хитростей для удобной и комфортной работы.
И хотя ОС самая важная программа на компьютере или мобильном устройстве, её работу не замечают до тех пор, пока устройство не начинает тормозить, зависать и так далее. Тогда первым делом вспоминают об «операционке», так как именно она регулирует рабочие процессы в устройстве.
Друзья, поддержите нас! Поделитесь статьёй в социальных сетях:
Зачем нужна операционная система? Плюсы и минусы 3-х основных ОСей
При использовании современных гаджетов часто можно услышать вопрос об операционной системе, многие люди даже не задумываются что же это такое. Все знают, что на их компьютерах находится ОС, но при объяснении этого понятия часто возникают проблемы. Данная статья поможет разобраться в этом вопросе.
Что такое Операционная Система
Операционная система — это комплект программ, управляющий памятью и процессами компьютера, смартфона или другого устройства и являющийся главной его частью.
ОС выглядит как рабочий стол с визуальным интерфейсом. Благодаря этому пользователи играют в игры, пишут документы и работают, ищут информацию в интернете. Операционная система нужна для того, чтобы решать много разных задач.
Как работает ОС
Когда происходит нажатие кнопки включения компьютера, операционная система загружается. В это время компьютером выполняются такие функции:
Какие задачи выполняет современная ОС
Функции ОС
Какие операционные системы существуют
Microsoft Windows
Это первая операционная система, имеющая интерфейс, к которому привык современный пользователь. Windows была выпущена в 1985 году. До этого существовал MS DOS, имеющий вид оболочки, в которую вводятся команды.
Выглядело это вот так.
А вот так выглядела первая версия Windows.
На данный момент новейшей версией является Windows 10
Преимущества Windows
Недостатки
Linux
Эту ОС выпустили в 1991 году. Попытки конкуренции с Windows оказались неудачными, популярность эта операционная система так и не завоевала.
Плюсы
Минусы
Apple Mac OS X
Эту ОС поддерживает только техника Apple, она не совместима с устройствами других производителей.
Достоинства
Недостатки
ОС для мобильных устройств
Все ОС, о которых говорилось выше разработаны специально для настольных компьютеров и ноутбуков. Телефоны, смартфоны и планшеты имеют свои операционные системы. Они не такие функциональные, но хорошо справляются с основными задачами. Например, можно скачивать и пользоваться приложениями, смотреть фильмы, работать с информацией в интернете и даже создать документ.
В настоящее время существуют:
Автор, специалист в сфере IT и новых технологий.
Получил высшее образование по специальности Фундаментальная информатика и информационные технологии в Московском государственном университете имени М.В. Ломоносова. После этого стал экспертом в известном интернет-издании. Спустя время, решил попробовать писать статьи самостоятельно. Ведет популярный блог на Ютубе и делится интересной информацией из мира технологий.
Что такое операционная система и как она работает?¶
Цель конспекта — последовательно рассмотреть и объяснить принципы устройства и функционирования операционной системы, её основных компонентов и абстракций.
Введение¶
Операционные системы окружают нас повсюду – это основное программное обеспечение персональных компьютеров, серверов, мобильных устройств, сетевых устройств (роутеры, коммутаторы) и даже современных автомобилей (борт-компьютер), телевизоров и прочего. Перечислять можно очень долго, ведь они требуются практически в каждой компьютерной системе.
Любой компьютер представляет собой связанную совокупность: процессора, памяти и устройств ввода-вывода.
Рис. 1. Общее представление архитектуры компьютера
Например, процессор умеет выполнять только четыре базовых типа инструкции:
Получается, что непосредственное создание и управление сложными процессами (приложениями) на аппаратуре становится крайне неэффективным и неудобным. То есть, например, создать и запустить на исполнение программу-браузер исключительно с помощью данных инструкций становится крайне сложной задачей. Особенно при условии, что помимо этого процесса (браузера) существуют и другие процессы, которые также пользуются ресурсами вычислительной машины.
Возникает вопрос — Как заставить всё это слаженно и эффективно работать, сделав пользование компьютером удобным как для обычного человека, так и для прикладного программиста?
Чтобы ответить на этот вопрос более последовательно, немного заглянем туда, откуда всё начиналось.
Немного истории¶
На заре компьютерной эпохи, первые компьютеры представляли собой огромные блоки (занимавшие большие комнаты), в которых размещались основные его компоненты: процессор, память и устройства ввода-вывода. И всего можно было выделить два состояния, в котором, в реальном времени находится компьютерная система:
Важная идея! Так как вычисления производятся быстрее, чем непосредственный ввод-вывод данных, разработчикам пришла идея о том, что к ресурсам можно допускать не одного пользователя (процесс), а множество, предоставляя им способ независимо друг от друга загружать (ввод) и получать (вывод) данные через отдельные терминалы, чтобы более эффективно использовать ресурсы компьютера и вычислительные модули не простаивали в ожидании ввода/вывода.
Далее, термины: процесс, приложение идут как синонимы термину пользователь ресурсов.
Зачем нужна Операционная Система?¶
Существует три ключевых элемента операционной системы:
Фунции ОС¶
Основные абстракции ОС¶
Положение ОС в многоуровневой иерархии организации компьютера¶
Современный компьютер можно представить в виде иерархии уровней (от двух и более), где на каждом уровне выделяются свои абстракции и набор возможных функций.
Рис. 2. Основные уровни устройства ПК
Операционная система является одним из таких уровней и представляет собой интерфейс («прослойку») между пользователем ресурсов компьютера и самими ресурсами, управляющий взаимодействиями как между пользователь-ресурс, так и пользователь-пользователь, устройство-устройство.
В целом, общей схемой это можно отобразить так:
Рис. 3. Место ОС в компьютерной системе
Интерфейс — набор правил и средств взаимодействия двух систем. Иными словами способ взаимодействия.
Kernel space — адресное пространство ядра ОС, в котором процессы имеют привилегированный доступ к ресурсам компьютера и другим процессам.
User space — адресное пространство, отведённое для пользовательских процессов (приложений), то есть не имеющих привилегированный доступ к ресурсам.
Как операционная система загружается в компьютер?¶
Процесс загрузки операционной системы и вообще компьютера имеет несколько этапов, основные из которых:
Что делает ядро ОС?¶
Ядро ОС – центральная часть операционной системы. По сути, это и есть ОС.
Это реакционный механизм, то есть его работа заключается исключительно в реакции на какие-либо события для их последующей обработки.
Процессорное время измеряется в тиках или секундах. Часто бывает полезно измерение процессорного времени в процентах от мощности процессора, которое называется загрузкой процессора.
Прерывания¶
Эта часть больше относится непосредственно к аппаратной части, но этот механизм стоит освятить, так как именно это основной аппаратный механизм реализации ОС.
Прерывание – сигнал остановки последовательного выполнения программы, для обработки запроса или реакции на событие.
Чтобы получить код обработки прерывания, в памяти расположена специальная таблица обработчиков прерываний, в которой для каждого типа прерывания содержится указатель на тот участок памяти, где расположен соответствующий код обработки данного прерывания.
Инициализация данной таблицы первично осуществялется BIOS’ом в соответствии с архитектурой процессора. После, её инициализирует операционная система для дополнения этой таблицы какими-либо своими прерываниями.
Как приложения взаимодействуют с ОС?¶
Взаимодействие процессов с ОС осуществляется с помощью системных вызовов.
Механизм системных вызовов — это интерфейс, который предоставляет ядро ОС (kernel space) пользовательским процессам (user space).
Системный вызов – программное прерывание, обращение пользовательского процесса к ядру операционной системы для выполнения какой-либо операции.
Например, чтобы выполнить обычное действие, с точки зрения прикладного программиста, – вывод строки в консоль, необходимо загрузить исполнимый код в оперативную память и передать его процессору. С помощью системных вызовов, запускающий процесс (уже запущенный процесс, из которого вызывается новый процесс — одни процессы порождают другие) обращается к соответствующим сервисам ОС и передаёт им управление для выполнения этих функций.
То есть с помощью системных вызовов выполняются те рутинные действия, которые раньше осуществлялись вручную, — загрузка кода программы в память, передача его на исполнение процессору и прочее.
Схема организации ОС расширяется добавлением интерфейса для взаимодействия приложений с ядром ОС — механизмом системных вызовов:
Рис 4. Интерфейс системных вызовов
Как оборудование взаимодействует с ОС?¶
Оборудование взаимодействует с ОС с помощью аппаратных прерываний. И одна из функций ОС — абстрагирование оборудования.
Что это значит?¶
Рис 5. Интерфейс драйверов
Сервисы ОС¶
Функции ОС заключены в её сервисах (модулях). Реализация организации которых зависит от архитектуры ядра. Рассмотрим на примере монолитного ядра:
Рис 6. Основные компоненты ОС
Основные¶
Как говорилось в части о загрузке ОС, реализация планировщика осуществляется с помощью прерывания по таймеру — каждый квант времени происходит прерывание, которое передаёт управление ОС и она анализирует состояние всех процессов и что с каким процессом сделать: запустить, приостановить, завершить или изменить приоритет.
Дополнительные¶
Основные абстракции¶
Процесс¶
Компьютерная программа сама по себе — лишь пассивная последовательность инструкций. В то время как процесс — непосредственное выполнение этих инструкций.
В рамках ОС, это абстракция, которая предоставляет иллюзию персональной машины. То есть то, что данный исполнимый код полностью владеет всеми вычислительными ресурсами машины.
Состояние (контекст) процесса¶
Изнутри, процесс можно условно разделена на четыре части: Stack, Heap (кучу), Text (код) и данные (Data).
Рис 7. Сегменты памяти процесса
Состояния исполнения¶
Когда процесс выполняется, он проходит через разные состояния. Эти этапы могут различаться в разных операционных системах.
Общая картина выглядит так:
Рис 8. Состояния исполнения процесса
Информация о процессе¶
Рис 9. Process Control Block
Информацию о процессах в целом, ОС хранит в специальной таблице процессов.
Поток¶
Процесс может делиться на потоки (threads). Они обеспечивают параллелизм, то есть одновременное исполнение нескольких потоков инструкций, на уровне программы.
Поток выполнения (нить, thread) — последовательность исполнения инструкций. Ход исполнения программы**.
Процесс является контейнером ресурсов (адресное пространство, процессорное время и тд), а поток – последовательность инструкций, которые исполняются внутри этого контейнера.
Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса.
Рис 10. Многопоточный процесс
Потоки, существующие в рамках одного процесса, в его адресном пространстве, могут совместно использовать ресурсы процесса, например такие как память или файл. Тогда как процессы не разделяют этих ресурсов, так как каждый существует в своём адресном пространстве.
Также поток называют легковесный процесс.
Сегодня потоки широко применяются в работе серверов и многопроцессорных устройств с общей памятью.
Рассмотрим на примере утилиты htop.
Рис 11. Вывод утилиты мониторинга процессов htop
PID — Process ID; Уникальное число идентификатор для каждого процесса
TGID — Tread Group ID; Индентификатор группы потоков
Чем хороши потоки¶
Это очень широкое и многогранное понятие. Но если выделить наиболее общее, то получится, что файл — это универсальный системный интерфейс для обращения к тем или иным данным.
А файловая система — это система имён. То есть возможность выделять те или иные объекты данных и присваивать им имена, а также выделять иерархию.
По другому, файл и файловую систему можно также представить как структуру данных и связи между этими структурами.
Реализация многозадачности¶
Осуществляется при помощи следующих механизмов:
Переключение контекста¶
Контекст процесса — это состояние регистров, при его выполнении на процессоре.
Но происходит прерывание и «процесс 1» снимается с выполнения на процессоре, чтобы вместо него выполнялся «процесс 2». Следовательно, нужно заполнить регистры уже теми данными, что относятся к «процессу 2».
Однако, «процесс 1» ещё не выполнился полностью, и для дальшейнего исполнения ему нужны те данные, что хранились в регистрах при прерываний, то есть необходим его контекст. Операционная система должна обеспечивать подобные смены контекстов без потери данных.
В целом, смена контекста происходит между состояниями «Готов», «Ожидает» и «Исполняется».
Критические секции и блокировки¶
Одна из основных проблем с которыми может столкнуться такая система с вытесняющей многозадачностью — порядок доступа процессов к их общим ресурсам.
Возникают, так называемые, критические секции – участки исполняемого кода программы, в которых производится доступ к общему ресурсу (данным или устройству), который не должен быть одновременно использован более чем одним потоком выполнения.
Рис 12. Критические секции в потоках процесса
Может возникнуть такая ситуация, когда один поток, «потребитель», начинает использовать данные, которые должен подготовить другой поток, «производитель», но этот производитель ещё не закончил их подготовку и снялся с исполнения. Таким образом, «потребитель» использует некорректные данные, что с высокой долей вероятности приведёт к ошибке.
Данная проблема решается с помощью механизма блокировок – когда поток, получивший доступ к ресурсу, блокирует его, не давая другим потокам пользоваться этим захваченным ресурсом до разблокировки. То есть, если один поток хочет захватить (заблокировать) ресурс, а он уже занят другим потоком, то первый будет ожидать пока этот другой поток-владелец сам не освободит этот ресурс.
Все эти механизмы обеспечиваются операционной системой
Чтобы лучше это понять, можно обратиться к аналогии с туалетом — им может пользоваться только один человек. Если другой хочет им воспользоваться, то ему нужно дождаться когда его освободит уже им пользующийся.
Рис 13. Аналогия пробки на перекрёстке с Deadlock
Deadlock — ситуация, при которой несколько потоков находятся в состоянии ожидания ресурсов, занятых друг другом, и ни один из них не может продолжать свое выполнение.
Пример Deadlock’a на псевдокоде¶
Шаг | Поток 1 | Поток 2 |
---|---|---|
0 | Хочет захватить A и B, начинает с A | Хочет захватить A и B, начинает с B |
1 | lock(A) — Захват А | lock(B) — Захват B |
2 | lock(B) — Ожидает освобождения ресурса B | lock(A) — Ожидает освобождения ресурса A |
… | DEADLOCK –> Далее код не выполнится, так как произошел Deadlock в коде выше | |
n | unlock(A) — освобждение A | unlock(B) — освобждение B |
n+1 | unlock(B) — освобждение B | unlock(A) — освобждение A |
Схематично, Deadlock можно изобразить так:
Адреса и управление памятью¶
Тема адресации очень сложна, поэтому здесь я лишь проведу краткий обзор общей технологии.
Чтобы отобразить логический адрес в физический, существует специальный аппаратный механизм.
Начав с базовой архитектуры и небольшой истории развития компьютера, мы разобрали причины появления такого комплекса программ как операционная система и выделили главную её цель – обеспечение согласованного доступа к ресурсам компьютера множеству пользователям этих ресурсов, а также управление как самими ресурсами, так и пользователями.
Основные механизмы (сервисы)¶
Рассмотрели основные механизмы реализации этой цели: Scheduler (планировщик), Inter Process Communication (межпроцессное взаимодействие), Memory manager (управление памятью) и другие.
Абстракции¶
Ряд абстракций, которые вводит ОС: Process (процесс), Thread (поток исполнения), File (файл).
Заключение¶
Ух, и вот наконец-то я закончил писать этот материал. Надеюсь, вам было интересно и полезно.
Если вы хотите как-то дополнить материал, дать критику по его содержанию или структуре – пожалуйста, пишите в Issue данного репозитория поднимая ту или иную тему для обсуждения и доработки.
Также, вы можете сделать Fork данного репозитория и после внести свои дополнения с помощью Pull Request. Спасибо за внимание!