С чем работает операционная система компьютера
Операционная система — зачем она нужна на компьютере
После первого запуска компьютера ваше знакомство начинается с программным обеспечением. И первое, что вы видите на экране – это операционная система, её загрузка и приветствие, которая открывают перед вами рабочий стол. Существует много операционных систем, мы рассмотрим самые популярные и распространённые, которые вы можете встретить на стационарных и портативных компьютерах и мобильных устройствах.
Что такое Операционная Система?
Операционная система (ОС) – самое важное программное обеспечение, которое работает на компьютере. Она управляет компьютерной памятью, процессами и всем прикладным программным обеспечением (программами) и оборудованием. Она также позволяет вам общаться с компьютером, не зная, «компьютерного языка». Без операционной системы вы не сможете использовать компьютер по назначению.
Загрузка операционной системы.
Вы, наверное, слышали фразу загрузить компьютер, но знаете ли вы, что это значит? Загрузка — это процесс, который происходит, когда вы нажимаете кнопку питания, чтобы включить компьютер. Во время этого процесса (который может занять некоторое время), компьютер делает несколько вещей:
Когда операционная система запущена, она управляет всем программным и аппаратным обеспечением на компьютере. В процессе работы компьютера, множество различных программ, работают одновременно, и все они должны иметь доступ к ресурсам компьютера (процессору, оперативной памяти, жёсткому диску). ОС координат всё это, чтобы убедиться, что каждая программа получает, что ей нужно. Без ОС, программное обеспечение не может общаться с оборудованием, а компьютер в таком случае бесполезен.
Типы операционных систем
Сегодня новые компьютеры идут с предустановленной операционной системой. Большинство людей используют ту операционную систему, которая поставляется с компьютером, но её можно модернизировать или даже переустановить на другую. Тут достаточно знать базовые основы работы с ОС, и вы сможете работать за любым компьютером.
Рассмотрим три наиболее распространённые ОС для персональных компьютеров 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 и новых технологий.
Получил высшее образование по специальности Фундаментальная информатика и информационные технологии в Московском государственном университете имени М.В. Ломоносова. После этого стал экспертом в известном интернет-издании. Спустя время, решил попробовать писать статьи самостоятельно. Ведет популярный блог на Ютубе и делится интересной информацией из мира технологий.
Разбираемся, как работают операционные системы
Linux, Windows, Mac OS? Зачем они нужны? Понимание того, как работают операционные системы, поможет создавать качественные приложения.
Есть несколько причин, почему программистам стоит знать, как работают операционные системы. Одна из них – чтобы понимать, как работают программы. Представьте: вы пишете код, который кажется рабочим, но программа тормозит. Что делать? Можно попробовать разобраться с ограничениями операционной системы, но вы ведь не умеете!
Если стремитесь построить карьеру программиста, стоит понять, как работают операционные системы. Например, можно изучить курс «Введение в операционные системы» от Georgia Tech. В нем рассказывается, как работают ОС: механизмы работы, параллельное программирование (потоки и синхронизация), взаимодействие между процессами, распределённые ОС.
Осветим 10 наиболее важных принципов, о которых говорилось в курсе Udacity, и разберемся, как же работают операционные системы.
Что такое операционная система
Это первое, о чем нужно задуматься, если вы решили разобраться, как работают операционные системы. ОС представляют собой набор программного обеспечения. Это ПО управляет компьютерным оборудованием и предоставляет техническую базу для программ. А ещё они управляют вычислительными ресурсами и обеспечивают защиту. Главное, что у них есть, – это доступ к управлению компонентами компьютера.
Файловая система, планировщик и драйверы – всё это основные инструменты работы ОС.
Существует три ключевых элемента операционной системы:
Кроме того, есть два основных принципа проектирования операционных систем:
Теперь подробнее разберём глобальные концепции, которые помогут сформировать понимание того, как работают операционные системы.
Процессы и управление
Процесс – не что иное, как исполнение программы. Так как программа записана в виде последовательности действий в текстовый файл, процессом она становится только при запуске.
Загруженная в память программа может быть условно разделена на четыре части: стек, кучу, контекст и данные.
Когда процесс выполняется, он проходит через разные состояния. Эти этапы могут различаться в разных операционных системах.
Общая картина выглядит так:
Немного терпения: мы уже близки к пониманию того, как работают операционные системы 😉
Блок управления процессов (Process Control Block) – это структура данных, поддерживаемая операционной системой для каждого процесса. PCB имеет идентификатор PID. Именно PCB хранит всю информацию, необходимую для отслеживания процесса.
Потоки и параллелизм
Поток (нить, thread) – это ход исполнения программы. Он также имеет свой program counter, переменные, стек.
Потоки одной программы могут работать с одними данными, а взаимодействовать между собой через код.
Поток – это легковесный процесс. Вместе они обеспечивают производительность приложений и ОС за счет параллелизма на уровне программы.
Каждый поток относится к какому-то процессу и не может существовать без него. Сегодня потоки широко применяются в работе серверов и многопроцессорных устройств с общей памятью.
Потоки имеют два уровня реализации:
В первом случае ядро управления потоками ничего не знает о существовании потоков вообще. А библиотека потоков просто содержит код для создания и уничтожения потоков, а также передачи сообщений и данных между ними для планирования выполнения потоков и сохранения (восстановления) контекстов потоков.
Во втором случае ядро выполняет создание потоков, а ещё планирование и управление в пространстве ядра. Заметим, что потоки ядра обычно медленнее, чем потоки пользователей.
Планирование
Планировщик – это часть менеджера процессов, которая ответственна за переключение между процессами и выбор очереди по какой-либо стратегии.
ОС поддерживает все блоки управления процессом (PCB) в очередях планирования процесса:
ОС может использовать разные методы реализации для управления очередями (FIFO, Round Robin, Priority). Планировщик ОС определяет, когда и как перемещать процессы между готовыми и запущенными очередями (могут иметь только одну запись на ядро процессора в системе). На приведенной выше диаграмме он был объединен с процессором.
Модели состояния делятся на активные и неактивные:
Переключение контекста – это механизм сохранения (в PCB) и восстановления контекста процессора с ранее запущенного промежутка времени. При использовании этого метода, коммутатор контекста позволяет использовать один процессор для нескольких действий одновременно. Кстати, контекстное переключение является неотъемлемой частью многозадачной операционной системы.
Когда планировщик переключает процессор с одного процесса на другой, состояние из текущего запущенного процесса сохраняется в блоке управления. Затем состояние для следующего процесса загружается из своего PCB в регистры процессора. Только потом второй процесс может быть запущен.
При переключении следующая информация сохраняется для последующего использования: счетчик программы, информация планировщика, значение регистра базы и лимита, используемый в настоящее время регистр, измененное состояние, информация о состоянии ввода и вывода, учетная информация.
Управление памятью
Ещё одна важная часть – та, что отвечает за все операции по управлению первичной памятью. Существует менеджер памяти, который обрабатывает все запросы на получение памяти и высвобождение. Он же следит за каждым участком памяти, независимо от того, занят он или свободен. И он же решает, какой процесс и когда получит этот ресурс.
Адресное пространство процесса – набор логических адресов, к которым программа обращается в коде. Например, если используется 32-битная адресация, то допустимые значения варьируются от 0 до 0x7fffffff, то есть 2 Гб виртуальной памяти.
Операционная система заботится о том, чтобы сопоставить логические адреса с физическими во время выделения памяти программе. Нужно также знать, что существует три типа адресов, используемых в программе до и после выделения памяти:
Виртуальные и физические адреса одинаковы как в процессе загрузки, так и во время компиляции. Но они начинают различаться во время исполнения.
Набор всех логических адресов, которые создала программа, называется логическим адресным пространством. Набор всех физических адресов, соответствующих этим логическим адресам, называется физическим адресным пространством.
Хотите разобраться подробнее в том, как работают операционные системы? Посмотрите соответствующие книги в нашем Телеграм-канале.
Межпроцессорное взаимодействие
Существует два типа процессов: независимые и взаимодействующие. На независимые не оказывается влияние процессов сторонних, в отличие от взаимодействующих.
Можно подумать, что процессы, которые работают независимо, выполняются эффективнее, но зачастую это не так. Использование кооперации может повысить скорость вычислений, удобство и модульность программ.
Межпроцессная коммуникация (IPC) – это механизм, который позволяет процессам взаимодействовать друг с другом и синхронизировать действия. Связь между этими процессами может рассматриваться как сотрудничество.
Процессы могут взаимодействовать двумя способами: через общую память или через передачу сообщений.
Метод использования общей памяти
Допустим, есть два процесса: исполнитель (производитель) и потребитель. Один производит некоторый товар, а второй его потребляет. Эти два процесса имеют общее пространство или ячейку памяти, известную как «буфер». Там хранится элемент, созданный исполнителем, оттуда же потребитель получает этот элемент.
Однако у этих версий есть как минимум две значимые проблемы: первая известна как проблема безграничного буфера: исполнитель может продолжать создавать элементы без ограничений на размер буфера. Вторая заключается в том, что исполнитель, заполнив буфер, переходит в режим ожидания.
В задаче с ограниченным буфером у исполнителя и потребителя будет общая память. Если общее количество произведенных товаров равно размеру буфера, то исполнитель будет ждать их потребления.
Аналогично потребитель сначала проверит наличие товара, и если ни один элемент не будет доступен, придётся ждать его освобождения.
Метод анализа сообщений
С помощью этого метода процессы взаимодействуют друг с другом без использования общей памяти. Допустим, есть два процесса, p1 и p2, которые хотят взаимодействовать друг с другом. Они работают следующим образом:
Размер сообщения может быть фиксированным или переменным. Проектировщикам ОС проще работать с сообщениями фиксированного размера, а программистам – переменного. Стандартное сообщение состоит из двух частей – заголовка и тела.
Управление вводом и выводом
Одной из важнейших задач операционной системы является управление различными устройствами ввода и вывода вроде мыши, клавиатуры, дисководов, etc.
Система ввода и вывода принимает запрос приложения на ввод или вывод данных, а затем отправляет его на соответствующее физическое устройство. После возвращает приложению полученный ответ. Устройства ввода и вывода можно разделить на две категории:
ЦПУ должен иметь способ передачи информации на устройство ввода-вывода и обратно. И есть три способа сделать это:
Особые, неуниверсальные инструкции процессора, внедренные специально для контроля устройств ввода-вывода. Они позволяют отправлять данные на устройство и считывать их оттуда.
Когда используется ввод-вывод с отображением памяти, одно и то же адресное пространство разделяется памятью и устройствами ввода-вывода. Устройство подключается непосредственно к ячейкам памяти так, чтобы можно было передавать блок данных без применения ЦПУ.
Медленные устройства, такие как клавиатуры, генерируют прерывания ЦПУ после передачи каждого байта. Если бы быстрые устройства работали похожим образом, то ОС бы тратила большую часть времени впустую, на обработку этих прерываний. Поэтому для снижения нагрузки обычно используется прямой доступ к памяти (DMA).
Это означает, что ЦПУ предоставляет модулю ввода и вывода полномочия для чтения или записи в память. Сам модуль управляет обменом данными между основной памятью и устройством ввода-вывода. ЦПУ участвует в начале и конце передачи, а прерывается только после полной передачи блока.
Организация прямого доступа к памяти требует специального оборудования, называемого контроллером DMA (DMAC). Он управляет передачей данных и доступом к системной шине. Контроллеры запрограммированы с указателями источника и места назначения, счетчиками для отслеживания количества переданных байтов и прочими настройками.
Виртуализация
Технология, которая позволяет создавать несколько сред или выделенных ресурсов из единой физической аппаратной системы называется виртуализация
Программное обеспечение, гипервизор, напрямую подключается к этой аппаратной системе и позволяет разбить ее на отдельные, безопасные среды – виртуальные машины. По идее, гипервизор должен аппаратные ресурсы между виртуальными машинами так, чтобы процессы выполнялись быстрее.
Физическая машина с гипервизором называется хостом, а виртуальные машины, которые используют ресурсы данного хоста – гостями. Для них ангаром ресурсов являются процессор, память, хранилище. Для получения доступа к этим ресурсам операторы управляют виртуальными экземплярами.
В идеале, все связанные виртуальные машины управляются с помощью единой веб-консоли управления виртуализацией. Она нужна, чтобы ускорять работу. Виртуализация позволяет определить, сколько вычислительной мощности и памяти выделять виртуальным машинам. Кроме того, так как виртуальные машины технически не связаны между собой, это повышает безопасность сред.
Проще говоря, виртуализация создает дополнительные мощности для выполнения процессов.
Типы виртуализации
Система файловой дистрибуции
Распределенная файловая система – это клиентское или клиент-серверное приложение, которое позволяет получать и обрабатывать данные. Они хранятся на сервере, как если бы они находились на персональном компьютере. Когда пользователь запрашивает файл, сервер отправляет ему копию запрашиваемого файла, который кэшируется на компьютере пользователя во время обработки данных, а затем возвращается на сервер.
Бывает так, что за одними и теми же данными одновременно обращаются сразу несколько пользователей. Для этих целей сервер должен иметь механизм организации обновлений, чтобы клиент всегда получал самую актуальную версию данных. Распределенные файловые системы обычно используют репликацию файлов или баз данных для защиты от сбоев.
Сетевая файловая система Sun Microsystems (NFS), Novell NetWare, распределенная файловая система Microsoft и DFS от IBM являются примерами распределенных файловых систем.
Распределенная общая память
Распределенная общая память (DSM) – это компонент управления ресурсами распределенной операционной системы. В DSM доступ к данным осуществляется из общего пространства, аналогично способу доступа к виртуальной памяти. Данные перемещаются между дополнительной и основной памятью, а также между разными узлами. Изменения прав собственности происходят, когда данные перемещаются с одного узла на другой.
Преимущества распределенной общей памяти:
Облачные вычисления
Всё больше процессов переходит в облако. По сути, облачные вычисления – это своего рода аутсорсинг компьютерных программ. Используя облачные вычисления, пользователи могут получать доступ к программному обеспечению и приложениям из любого места. Это означает, что им не нужно беспокоиться о таких вещах, как хранение данных и питание компьютера.
Традиционные бизнес-приложения всегда были очень сложными, дорогими в обслуживании – нужна команда экспертов для установки, настройки, тестирования, запуска, защиты и обновления. Это одна из причин, почему стартапы проигрывают корпорациям.
Используя облачные вычисления, вы передаёте ответственность за аппаратное и программное обеспечение опытным специалистам, таким как Salesforce и AWS. Вы платите только за то, что вам нужно, апгрейд платежного плана производится автоматически по мере ваших потребностей, а масштабирование системы протекает без особых сложностей.
Приложения на базе облачных вычислений могут работать эффективнее, дольше и стоить дешевле. Уже сейчас компании используют облачные приложения для множества приложений, таких как управление отношениями с клиентами (CRM), HR, учет и так далее.
Итоги
В заключение хочется ещё раз вернуться к тому, зачем вообще разбираться в том как работают операционные системы. Операционная система – это «мозг», который управляет входными, обрабатываемыми и выходными данными. Все остальные компоненты также взаимодействуют с операционной системой. Понимание того, как работают операционные системы, прояснит некоторые детали и в других компьютерных науках, ведь взаимодействие с ними организуется именно средствами ОС.
Разобрались, как работают операционные системы? Вот ещё несколько интересных статей на тему:
Источник: Как работают операционные системы: 10 концептов, которые нужно знать разработчикам on Medium.