Операционная система с разделением времени
Разделение времени в многозадачных операционных системах позволяет запускать более одного процесса одновременно. При разделении времени мы определяем время – квант времени. Производительность будет продолжаться в течение всего процесса, а затем в течение того же периода будут выполняться другие методы. Он будет выполнен снова в следующем цикле, но будет длиться только в течение этого периода, прежде чем будет запущен следующий процесс. Так оно и есть. Операционные системы с разделением времени имеют следующие преимущества:
- Чтобы система работала бесперебойно, каждой задаче есть свое время.
- Он работает как единая система, причем каждая задача разделяет процессор в зависимости от времени.
- Quantum – это время, необходимое для выполнения каждой задачи.
- По прошествии определенного времени ОС переключается на новую задачу.
- Это гарантирует, что каждая задача получает одинаковое время для выполнения.
Распределенная операционная система
Распределенные операционные системы имеют несколько систем, каждый ЦП, основную память, вторичную память и ресурсы. Эти системы совместно используют коммуникационную сеть. Каждое соединение – это независимая система, которая принимает пользовательские задачи. Затем он распространяется по сети, чтобы ускорить процесс выполнения. Распределенные операционные системы имеют следующие преимущества:
- Разделив задачу на части, несколько систем могут справиться с рабочей нагрузкой.
- Любой отказ одной системы в сети не влияет на другие.
- Масштабируемость высокая. Устойчивость к изменениям нагрузки высокая.
Операционная система реального времени
Для данных в реальном времени более подходящей считается операционная система реального времени. Процесс должен начаться, как только поступят данные, без задержек в буфере. Операционная система реального времени основана на прерываниях часов. Если у вас есть много запросов, которые нужно быстро обработать, вам следует использовать операционную систему реального времени. Операционные системы реального времени имеют следующие преимущества:
- Максимально используйте ресурсы и устройства.
- В системах почти не возникает ошибок.
Сетевая операционная система
Среди важнейших типов операционных систем – сетевая операционная система. Как правило, он работает в системе и позволяет управлять данными, пользователями, группами, безопасностью, приложениями и другими сетевыми функциями. Он позволяет пользователям обмениваться файлами и принтерами между компьютерами, подключенными к сети, например локальной сети, частной сети или другой сети. Сетевые операционные системы имеют следующие преимущества:
- Когда на сервере хранится большая часть данных, это может снизить накладные расходы на всех клиентских устройствах.
- Обновление системы – простой процесс.
Удаленный доступ к серверам делает работу с ними более управляемой.
В чем разница между прошивкой и ОС?
Прошивка — это всего лишь небольшая часть программного обеспечения, предназначенного для работы только с абсолютными основами.
Когда компьютер загружается, он загружает прошивку UEFI с материнской платы. Эта прошивка — это низкоуровневое программное обеспечение, которое быстро инициализирует аппаратное обеспечение вашего компьютера.
Затем он загружает вашу операционную систему с твердотельного накопителя вашего компьютера или жесткого диска. (Этот твердотельный накопитель или жесткий диск имеет собственную встроенную прошивку, которая управляет хранением данных на физических секторах внутри накопителя.)
Не так то просто провести раздел между прошивкой и операционной системой. Например, операционную систему для iPhone и iPads от Apple, называемую iOS, часто называют «прошивкой». Операционная система PlayStation 4 официально называется прошивкой.
Эти операционные системы, которые взаимодействуют с несколькими аппаратными устройствами, предоставляют услуги программам и распределяют ресурсы между приложениями. Тем не менее, очень простая прошивка, которая работает на пульте дистанционного управления телевизором, например, обычно не называется операционной системой.
Средний человек не должен точно понимать, что такое операционная система. Возможно, будет полезно узнать, какую операционную систему вам лучше использовать, и какое программное и аппаратное обеспечение совместимо с вашим устройством.
Какой операционной, интересно знать, системой, пользуетесь вы?
Классификация операционной системы
Операционные системы позволяют другой программе взаимодействовать с оборудованием и запускаться на компьютере. Он содержит системное программное обеспечение или основные файлы, необходимые вашему компьютеру для работы и загрузки. Кроме того, операционные системы обеспечивают базовые функции настольных компьютеров, планшетов и смартфонов.
Многопользовательская ОС
ОС, поддерживающая нескольких пользователей, позволяет пользователям использовать одну и ту же систему одновременно на нескольких терминалах ввода-вывода или по сети. Например, Windows, Linux и Mac.
Многопроцессорная ОС
Многие процессы могут выполняться одновременно в многопроцессорной операционной системе. Используется более одного процессора. Скорость обработки будет выше, но стоимость будет высокой. Реализация сложна. Многопроцессорность поддерживается Unix, 64-битной Windows и серверными версиями Windows.
Мультипрограммная ОС
Мультипрограммирование означает возможность одновременного запуска нескольких программ. Однако многопроцессорность может быть задействована или не задействована. Благодаря разделению ЦП на сегменты с малым временем выполнения несколько программ выполняются одна за другой в однопроцессорной системе.
Многозадачная ОС
Несколько задач могут выполняться одновременно в многозадачной системе, но выполняются одна за другой посредством разделения времени на одном процессоре. Многозадачные ОС бывают двух типов:
- Предимперативная многозадачность
- Кооперативная многозадачность
Многопоточность
Процессы можно разделить на потоки, которые выполняются в многопоточной ОС. Для описания запущенных программ мы используем термины процессы и потоки. Однако это увеличивает сложность.
Пакетная обработка
Пакетная обработка включает в себя набор компонентов системы, в котором все необходимые входные данные доступны в начале процесса.
Онлайн-обработка
Система индивидуальной обработки – это та, в которой каждая задача обрабатывается индивидуально после того, как пользователь ее предоставил.
Операции со структурой файла
К наиболее важным операциям с файловой структурой относятся:
- для навигации по файловой структуре;
- Запускать программы и открывать документы;
- Создать папку;
- Скопируйте файлы и папки;
- Перемещение файлов и папок;
- Удалять файлы и папки;
- Переименовать файлы и папки;
- Создавайте ярлыки.
Все операции с файлами и
папками можно выполнять в системе окон папок, которая поставляется с компьютера
\Мой. Диски, представленные в окне папок, могут быть открыты, а затем на них
можно осуществлять поиск всех необходимых файлов и папок. Вы можете копировать
и перемещать файлы и папки из одной папки в другую, перетаскивая их значки из
одного окна папки в другую папку. Для удаления элементов можно перетащить их на
значок мусорной корзины или использовать контекстное меню, открывающееся при
щелчке элемента правой кнопкой мыши. Чтобы создать ссылку на монодокумент в
папке, воспользуйтесь специальной функцией перетаскивания или командой →
Создать ярлык из контекстного меню.
Есть несколько замечаний, которые следует учитывать при таком подходе к операциям с файловой структурой:
- Обычно на экране есть только одно окно папок. При открытии окна вложенной папки, его окно заменяет предыдущее. Нецелесообразно выполнять операции перетаскивания между окнами. Чтобы открыть каждую папку в отдельном окне, необходимо установить следующий флажок: Пуск → Настройка → Свойства папки → Настройка → Открыть каждую папку в отдельном окне.
- При перетаскивании значков объектов между папками на одном диске объекты перемещаются автоматически. Если вы хотите скопировать, вы можете использовать специальное перетаскивание.
- При перетаскивании значков объектов между папками, принадлежащими разным дискам, объекты копируются автоматически. Если вы хотите переместить объекты, можно воспользоваться функцией перетаскивания.
Работа с файловой системой в
окнах папок не очень удобна, но для этого есть более мощный инструмент —
Проводник. Проводник — это утилита, которая относится к категории файловых
менеджеров. Он предназначен для навигации по файловой
структуре компьютера и его обслуживанию .
Проводник глубоко интегрирован в Windows. На самом деле, мы работаем с ним,
даже когда не видим его: Вызов контекстного меню, перетаскивание объектов из
одного окна в другое. Но вы можете работать непосредственно с Проводником: Пуск
→ Программы → Проводник. Окно Проводника очень похоже на окна папок, но имеет
не одну рабочую область, а две: окно папок и окно содержимого.
В левой части Проводника
можно перемещаться по файловой структуре. Папки могут быть расширены и
минимизированы, скрыты или закрыты. Если папка имеет подпапки, то на левой
панели рядом с папкой отображается узел, помеченный знаком «+».
Щелчок по узлу расширяет папку, и иконка узла меняется на «-«. Папка
сворачивается таким же образом. Чтобы открыть папку, щелкните по ее значку.
Содержимое открытой папки отображается на правой панели. Вы не можете закрыть
папку щелчком по ней — она автоматически закроется при открытии другой папки.
Дважды щелкните значок программы или документа в правой панели Проводника, чтобы запустить программы и открыть документы. Если элемент, вам нужно будет перейти в левую панель и открыть папку, в которой он находится.
Чтобы создать папки, сначала
откройте папку, которая создаст их в левой панели проводника. Затем нужно
перейти на правую панель, щелкнуть правой кнопкой мыши на панели без значков и
выбрать из контекстного меню: → Создать папку. На правой панели появится иконка
папки с названием «Новая папка». Имя выделено, в этом состоянии его
можно редактировать.
Чтобы скопировать и
переместить файлы и папки, необходимо развернуть исходную папку так, чтобы в
правой панели был виден нужный вам элемент. Затем вы должны найти папку
назначения в левой панели, но вы не должны ее открывать
Далее нужно осторожно
перетащить элемент в нужную папку на левой панели. Если и исходная и конечная
папки принадлежат одному и тому же диску, вы можете перетащить их и, если они
разные, скопировать
Для выполнения обратной операции необходимо создать
специальную копию.
Файлы и папки можно удалять с помощью строки
меню: Файл → Удалить; можно воспользоваться кнопкой панели инструментов или
выбрать команду из контекстного меню. Лучше всего нажать клавишу DELETE на
клавиатуре.
Сначала вы можете создать
ярлык для объекта, перетащив объект в нужную папку на левой панели; когда
кнопка отпущена, на экране появляется меню, в котором необходимо выбрать пункт
Создать ярлык. Во-вторых, вы можете запустить Мастер ярлыков, щелкнув правой
кнопкой мыши на окне папки, в которой был создан объектный ярлык, и следуя его
инструкциям.
Apple macOS
macOS — это линейка операционных систем, созданных компанией Apple Inc. Она поставляется с предустановленной на все новые компьютеры Macintosh. Все последние версии известны как macOS и номер, версия системы. Каждая версия имеет кодовые имена Mountain Lion Горный Лев (2012 г.), Lion Лев (2011 г.), и Snow Leopard Снежный Барс (2009 г.). Apple также предлагает ОС под названием OS X Server, которая предназначена для работы на серверах.
(интерфейс macOS)
По статистике доля macOS на рынке операционных систем составляет — 7.5% а начиная с января 2013 года – и того меньше. А вот процент пользователей операционной системы Windows (свыше 90%). Одна из причин этого заключается в том, что компьютеры Apple стоят дороже и не имеют такой совместимости, как компьютеры с ОС Windows, с другими программными продуктами. В нашей стране это наиболее актуальная причина. Однако, многие люди, попробовав в работе компьютеры Apple, предпочитают именно эти их и эту операционную систему.
Windows – это не только домашняя операционная система
В дополнение к общим пользовательским версиям операционных систем Windows для ПК, Microsoft выпустила серверные версии, мобильные и встроенные версии своей операционной системы. Система Windows Server имеет конкурентный административный пакет, включает в себя услуги по обновлению, сервер хранения, веб-сервер, медиа сервер и ещё более внушительную функциональность чем может показаться новичку.Это пакет предназначен в первую очередь для корпоративного использования, организациям которым необходимо администрирование локальной сети и интеграция в неё различных типов компьютеров в своих целях.Windows Mobile является серией операционных систем предназначенных для КПК и подобных смартфону персональных устройств.
С каждым днём Microsoft Windows выпускает нововведения и обновления безопасности. Многим пользователи вполне устраивает возможность работы в этом логически построенном семействе операционных систем Windows. К тому же, самая последняя версия Windows 10 со слов Microsoft будет новым скачком в мире технологий.
Вперёд
Выбор подходящей операционной системы для компьютера
Чтобы определиться с конкретной ОС необходимо знать задачи, которые она должна будет выполнять. В этом смысле можно выделить несколько целей взаимодействия с ПК:
Игры
Если вы собираетесь использовать свое устройство для игр, то лучше всего подойдет именно Windows. Данная ОС может запускать большинство современных игр и приложений. Отличный вариант для проведения времени в шутерах, стратегиях, квестах и т.д. В данной операционной системе наиболее актуальными магазинами игр будут: Steam, Оrigin, Battle. Net. Также при желании можно подключить к компьютеру игровую приставку.
Программирование
В этой сфере самым оптимальным решением для вас станет LInux. В этой ОС очень удобно работать с интернетом, дизайном и утилитами, которые помогают осуществлять качественное программирование. В Linux существует огромное количество конфигураций, что позволит вам настроить OС под свои задачи. Кроме того, вы можете установить интерфейс, который будет внешне похож на Mac, Windows и др. Еще одним огромным плюсом этой операционной системы является то, что практически все приложения на нее являются абсолютно бесплатными.
Выбор подходящей операционной системы для компьютера
Работа с медиаконтентом
Для работы с видео/аудио редакторами лучше всего подходит MacOS. Данная система сможет обеспечить высококачественную обработку звука, отличную скорость рендеринга видео и плавность выполнения задач. В особенности это касается iMAC или MacPRO. Кроме того, эта ОС выпускается с уже установленными программами для работы с медиаконтентом.
Теперь вы обладаете базовыми знаниями о видах операционных систем. С каждым годом технологический прогресс идет все дальше и дальше, а это значит, что ОС также будут идти в ногу со временем.
Функции операционной системы
Среди функций самыми важными являются следующие:
- расширение BIOS. BIOS или базовая система ввода-вывода, это небольшая программа, набор функций, которые хранятся в микросхеме памяти на материнской плате компьютера. BIOS реализует самые базовые функции – вывод изображений на экран монитора, чтение и запись на жесткий диск, взаимодействие с портами ввода-вывода. Основная задача BIOS – выполнить после запуска компьютера POST-тест на проверку всех систем, найти на жестком диске загрузчик ОС и запустить его. Далее загружается ОС и берет на себя все функции взаимодействия с аппаратным обеспечением;
- ОС позволяет запускать прикладные программы. Прикладные программы в своем множестве пользуются функциями ОС для выполнения возложенных задач. Они обращаются к функциям, реализуемым ОС для отображения на экране своего окна, для отрисовки кнопок, меню и т.п.;
- ОС реализует работу с памятью. Современные компьютеры обладают огромными объемами оперативной памяти. Реализация доступа к нужным ячейкам памяти осуществляется посредством ОС;
- ОС позволяет подключать и работать с периферийными устройствами. Принтер, сканер, мышь, клавиатура, джойстик и прочие устройства регистрируются в операционной системе, а та позволяет прикладным программам пользоваться этими устройствами. Взаимодействие с устройствами осуществляется посредством специальных программ-драйверов. Для каждой ОС для каждого устройства существуют свои драйверы;
- ОС осуществляет диалог с пользователем. С помощью графического и/или текстового интерфейса ОС получает от пользователя команды на выполнение тех или иных действий, и в ответ на эти действия предлагает пользователю, опять-таки в текстовом или графическом виде, некий ответ;
- многозадачные ОС позволяют запускать несколько программ или задач одновременно. Например, можно редактировать текст в текстовом редакторе, одновременно прослушивая музыку с компакт-диска. Либо смотреть серию сериала в то время, пока на жесткий диск из Интернета загружается новая серия;
- операционная система является менеджером ресурсов. ОС распределяет процессорное время между выполняемыми программами, выделяет ресурсы приложениям и периферийным устройствам;
- ОС выполняет защитные функции. Благодаря встроенным возможностям, операционные системы реализуют минимум антивирусной защиты, позволяя предотвратить вредоносный код.
2.1 История возникновения
Microsoft Corporation— самая крупная мировая корпорация производящая программное обеспечение для абсолютно любой вычислительной техники — от ПК заканчивая мобильными телефонами и тд. По мимо ПО компания выпускает так же различные периферийные устройства для ПК такие как клавиатуры, мыши и т.д. Головной офис корпорации расположен в г. Редмонд (Redmond) (пригород Сиэтла), штат Вашингтон.
Официально история корпорации звучит так: «Все началось еще в ХХ веке, в далеком 1975 году, когда Пол Ален и Билл Гейтс, увидев опубликованную 1 января 1975 г. в журнале «Popular Electronics» статью о новом персональном компьютере Altair 8800, придумали и создали для него интерпретатор языка Basic. Спустя месяц, 1 февраля 1975 года, было подписано лицензионное соглашение с компанией Micro Instrumentation and Telemetry Systems (MITS), производителем этого ПК, об использовании Basic в составе ПО для Altair. В том же году Билл Гейтс обращаясь в письме к своему коллеге Алену предложил назвать их компанию – Micro-Soft ( через дефис). Первый доход за год у новой компании со штатом сотрудников всего 3 составил $16 005. Можно сравнить это с 2000 г., в котором доход компании составил 25,3 млрд. долларов, из которых чистая прибыль – более 7,3 млрд.
Самое интересное – это то, что самая первая ОС данной компании была вовсе не MS-DOS, a Xenix OS (кстати, это была ОС из семейства UNIX), ЕЕ анонсировали 25 августа 1980 года. А ОС MS-DOS 1.0 выпустилина год позже, 12 августа 1981 года. В компании приняли решение разработать MS-DOS после встречи с сотрудниками IBM, которые приехали летом 1980 г. в Microsoft. там они рассказали о пк, который корпорация IBM, планирует создать. На данной встрече представители корпорации IBM прояувили желание купить такие продукты Microsoft, как Basic, Fortran, Cobol и, возможно, еще что-то. По окончании первых переговоров IBM попросила Microsoft разработать для нового ПК еще и операционную систему. Так начали совместную работу над проектом IBM PC, которая в конце концов изменил мир до неузнаваемости. По итогам встречи, прошедшей в сентябре 1980 г., решили разработать ОС, которая должна была содержать около 30 тысяч строк кода. шаблоном создания MS-DOS стала 16-разрядная операционная система SCP-DOS, которую разработал Тим Паттерсон в компании Seattle Computer Products. Тима и трех его коллег топ-менеджеров пригласили работать в Microsoft. Он принимает участие в создании новой ОС MS-DOS v1.0. Перваю версию MS-DOS поставилина IBM PC вместе с Microsoft Basic, Microsoft Cobol, Microsoft Fortran и некоторыми другими программами Microsoft. Всего было выпущено 12 версий MS-DOS: 1.0 (1.1) -2.0-3.0-3.3-4.0 (4.01)-5.0-6.0(6.2, 6.21,6.22). У Всех версий были свои отличительные черты. Так, MS-DOS 2.0 была заточена на совместимость с приложениями, которые разработали для других операционных систем
В MS-DOS 3.0 все внимание уделили сетевым возможностям и работе с дисками больших объемов (больше 1 Гб), в MS-DOS 5.0 была реализована поддержка расширенной памяти (больше 640 кб). MS-DOS 6.0 (и ее подверсии) собрала в себе все, что было создано
Данная ОС стала последней в семействе MS-DOS. На этой системе в Microsoft закончилась эпоха MS-DOS. Первые идеи о построении операционной системы, отличающейся от привычной текстовой MS-DOS и имеющей новый графический интерфейс, были высказаны Биллом Гейтсом в конце 1982 г. Толчком к этому послужи; целый ряд причин: работа над графическими модулями для Basic, реализация графического интерфейса в компьютерах, выпускаемых компанией Xerox, a также работы, проводимые в институте Карнеги-Меллона.
Перваю версию Microsoft Windows показали на выставке Comdex 10 ноября 1983 г., тогда ее позиционировали как графическое расширение для MS-DOS. Даже известные Microsoft Windows 3.x и Microsoft Windows for Workgroups 3.x не были операционными системами в чистом виде, а были всего лишь надстройками или расширениями MS-DOS. Основные нововведения, которые реализовали в Microsoft Windows, было появление графического интерфейса пользователя и возможность использования наряду с клавиатурой еще одно периферийное устройство – графический манипулятор «мышь». Без «мыши»сейчас не возможно представить ни один компьютер.
За несколько лет, с момента первого появления Windows 3.1, она стала эталоном ОС для ПК. Microsoft Windows 3.1 (и впоследствии Windows for Workgroups 3.11) предустанавливали примерно на 80% всех персональных компьютеров,которые выпускались на тот момент. А на прикладные программы для Microsoft Windows приходилось 60% продаж программного обеспечения».
Слайд 31 Иерархическая структура подчиненности папок Объект первого уровня — Рабочий cmол. На втором
уровне располагаются объекты, размещенные на Рабочем столе.(Мой компьютер. Мои документы и Корзина). Эти папки являются системными и немного отличаются от других папок (например, их нельзя Удалять или перемещать). Однако они, как и другие папки, служат хранилищами объектов Windows. Папка Мой компьютер предоставляет доступ ко всем папкам и файлам на компьютере. В ней находятся системные папки дисковых устройств, а также папки Принтеры, Панель управления и др. В папке Мои документы хранятся документы пользователя. Папка Корзина предназначена для хранения удаленных файлов и папок, с тем чтобы при желании их можно было восстановить. После очистки этой папки ранее помещение в нее объекты восстановлению не подлежат.
Функции операционной системы
Операционная система имеет множество функций
- Управление процессом
- Управление памятью
- Файловая система;
- Управление вводом и выводом.
Управление процессом
Он создан для создания иллюзии, что на компьютере одновременно выполняется больше процессов, чем установлено процессоров. Переключение между несколькими процессами настолько быстрое, что пользователю кажется, что он делает это одновременно.
Управление памятьюПри заказе из операционной системы пользовательские процессы должны иметь безопасный доступ к системной памяти. Виртуальная память служит трем целям:
- Убедитесь, что у каждого процесса есть уникальное адресное пространство;
- Обеспечение защиты памяти для предотвращения использования адресов памяти процессами;
Разрешить приложению использовать больше памяти, чем доступно физически.
Управление вводом и выводом
Операционная система компьютера позволяет нам легко добавлять дополнительное оборудование и настраивать его. Мы можем подключить к компьютеру принтер, внешний жесткий диск, сканер и USB-накопители.
Файловая система
Операционные системы эффективно обрабатывают файлы и передают их по мере необходимости. Операционная система предоставляет важные функции для управления объектами файловой системы, составляющими файловую систему.
Управление вторичным хранилищем
Для запуска программы и данных, к которым она обращается, данные должны присутствовать в основной памяти или в основном хранилище. Компьютерная система должна предоставлять вторичное хранилище для резервного копирования основной памяти, потому что основная память слишком мала, и данные теряются при отключении питания.
СвязьПрограмме может потребоваться обмен информацией с другой программой. Компьютерная сеть может соединять процессы, выполняющиеся в разных системах, или процессы, выполняющиеся на одном компьютере. Совместное использование памяти или обмен сообщениями могут использоваться для общения.
Обнаружение ошибок
Операционная система постоянно думает об ошибках. Аппаратные средства ЦП и памяти, устройства ввода-вывода и пользовательская программа могут вызвать ошибку. Как правило, правильный и последовательный опыт вычислений зависит от хорошо спроектированной ОС, которая правильно реагирует на каждый тип ошибки.
Распределение ресурсов
Когда несколько пользователей вошли в систему или одновременно выполняются различные задания, ресурсы должны быть общими. Многочисленные подпрограммы планируют задания, выделяя плоттеры, модемы и другие периферийные устройства.
Бухгалтерский учет
Нам нужно знать, какие пользователи какие типы системных ресурсов используют. Полезны бухгалтерские записи или просто статистика использования.
Защита
Владельцы информации, хранящейся в многопользовательских компьютерных системах, могут захотеть контролировать использование этой информации. Параллельное выполнение нескольких несвязанных процессов не должно мешать друг другу или самой операционной системе. В частности, защита означает обеспечение контроля всех системных ресурсов.
Основные абстракции¶
Процесс — совокупность инструкций и данных, что находятся в оперативной памяти и обрабатываются процессором. Другими словами — исполнение программы в целом (не путать с потоком исполнения).
Примечание
Компьютерная программа сама по себе — лишь пассивная последовательность инструкций. В то время как процесс — непосредственное выполнение этих инструкций.
В рамках ОС, это абстракция, которая предоставляет иллюзию персональной машины. То есть то, что данный исполнимый код полностью владеет всеми вычислительными ресурсами машины.
Состояние (контекст) процесса
- С внешней стороны, процесс можно описать следующим:
-
-
- Состояние
-
- Состояние памяти
- Содержимое регистров процессора
- Адрестное пространство — у каждого процесса своё.
- Состояние исполнения — то, исполняется ли этот процесс на процессоре в данный момент или ожидает чего-либо.
- CPU — величина использовния процессорного времени.
-
Изнутри, процесс можно условно разделена на четыре части: Stack, Heap (кучу), Text (код) и данные (Data).
Рис 7. Сегменты памяти процесса
Состояния исполнения
Когда процесс выполняется, он проходит через разные состояния. Эти этапы могут различаться в разных операционных системах.
Общая картина выглядит так:
Рис 8. Состояния исполнения процесса
Примечание
- Новый: начальное состояние при создании процесса.
- Готов: процесс ожидает исполнения на процессоре. В течение работы процессор может переключаться между процессами, переводя одни в режим готовности, другие – в режим исполнения.
- Исполнение: непосредственное выполнение инструкций на процессоре.
- Ожидает: процесс переходит в состояние ожидания. Например, ждёт ввода данных или получения доступа к файлу.
- Завершен: как только процесс завершится, он перейдёт в это состояние и будет ожидать удаления.
Информация о процессе
Вся информация о процессе содержится в специальной структуре данных, поддерживаемой операционной системой для каждого процесса – PCB (Process Control Block) — Блок управления процессов.
Рис 9. Process Control Block
Примечание
- Process ID: идентификатор каждого из процессов в ОС.
- State: текущее состояние процесса.
- Privileges: разрешения доступа к системным ресурсам.
- Pointer: указатель на родительский процесс.
- Priority: приоритет процесса и другая информация, которая требуется для планирования процесса.
- Program Counter: указатель на адрес следующей команды, которая должна быть выполнена.
- CPU registers: регистры процессора, необходимые для состояния исполнения.
- Accounting Information: уровень нагрузки на процессор, статистика и другие данные.
- I/O Information: список ресурсов, использующих чтение и запись.
Информацию о процессах в целом, ОС хранит в специальной таблице процессов.
Процесс может делиться на потоки (threads). Они обеспечивают параллелизм, то есть одновременное исполнение нескольких потоков инструкций, на уровне программы.
Поток выполнения (нить, thread) — последовательность исполнения инструкций. Ход исполнения программы**.
Процесс является контейнером ресурсов (адресное пространство, процессорное время и тд), а поток – последовательность инструкций, которые исполняются внутри этого контейнера.
Примечание
Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса.
Рис 10. Многопоточный процесс
Потоки, существующие в рамках одного процесса, в его адресном пространстве, могут совместно использовать ресурсы процесса, например такие как память или файл. Тогда как процессы не разделяют этих ресурсов, так как каждый существует в своём адресном пространстве.
Также поток называют легковесный процесс.
Сегодня потоки широко применяются в работе серверов и многопроцессорных устройств с общей памятью.
Рассмотрим на примере утилиты htop.
Рис 11. Вывод утилиты мониторинга процессов htop
Примечание
PID — Process ID; Уникальное число идентификатор для каждого процесса
TGID — Tread Group ID; Индентификатор группы потоков
На скриншоте, процесс 2881 имеет множество потоков, отношение которых к нему можно определить по тому, что TGID у этих потоков имеет значение PIDа этого процесса — 2881. Таким образом, один процесс разбивается на множество потоков, в которых инструкции исполняются параллельно.
Реализация многозадачности¶
Осуществляется при помощи следующих механизмов:
-
- Прерывание таймера
-
- Переключение контекста
- План блокировок, при наличии нескольких CPU
- Освобождение ресурсов при завершении процесса
Контекст процесса — это состояние регистров, при его выполнении на процессоре.
Следовательно, переключение контекста — это смена контекста одного процесса, на контекст другого, без потери данных сменяемого процесса — то есть, чтобы его потом можно было восстановить с того момента, где он был переключён.
Примечание
Например, у нас на процессоре в данный момент времени выполняется «процесс 1» — в регистрах хранятся данные, которые относятся к этому процессу.
Но происходит прерывание и «процесс 1» снимается с выполнения на процессоре, чтобы вместо него выполнялся «процесс 2». Следовательно, нужно заполнить регистры уже теми данными, что относятся к «процессу 2».
Однако, «процесс 1» ещё не выполнился полностью, и для дальшейнего исполнения ему нужны те данные, что хранились в регистрах при прерываний, то есть необходим его контекст. Операционная система должна обеспечивать подобные смены контекстов без потери данных.
- При переключений контекста возникает три важных вопроса:
-
- Как?
- Когда?
- Между кем и кем?
Как?
В целом, смена контекста происходит между состояниями «Готов», «Ожидает» и «Исполняется».
Одна из основных проблем с которыми может столкнуться такая система с вытесняющей многозадачностью — порядок доступа процессов к их общим ресурсам.
Возникают, так называемые, критические секции – участки исполняемого кода программы, в которых производится доступ к общему ресурсу (данным или устройству), который не должен быть одновременно использован более чем одним потоком выполнения.
Рис 12. Критические секции в потоках процесса
Может возникнуть такая ситуация, когда один поток, «потребитель», начинает использовать данные, которые должен подготовить другой поток, «производитель», но этот производитель ещё не закончил их подготовку и снялся с исполнения. Таким образом, «потребитель» использует некорректные данные, что с высокой долей вероятности приведёт к ошибке.
Данная проблема решается с помощью механизма блокировок – когда поток, получивший доступ к ресурсу, блокирует его, не давая другим потокам пользоваться этим захваченным ресурсом до разблокировки. То есть, если один поток хочет захватить (заблокировать) ресурс, а он уже занят другим потоком, то первый будет ожидать пока этот другой поток-владелец сам не освободит этот ресурс.
Примечание
Все эти механизмы обеспечиваются операционной системой
Чтобы лучше это понять, можно обратиться к аналогии с туалетом — им может пользоваться только один человек. Если другой хочет им воспользоваться, то ему нужно дождаться когда его освободит уже им пользующийся.
Microsoft Windows
Компания Microsoft создала операционную систему Windows в середине 1980-х годов. За последующие годы были выпущены много версий Windows, но наиболее популярными из них являются Windows 10 (выпущен в 2015 году), Windows 8 (2012), Windows 7 (2009), Windows Vista (2007), и Windows XP (2001). Windows поставляется предустановленной на большинстве новых компьютерах, и является самой популярной операционной системой в мире.
Если вы хотите обновить ваш Windows до последней версии, вы можете выбрать один из нескольких выпусков Windows, таких как Home Premium, Professional, и Ultimate. Но сначала изучите их, чтобы решить, какой выпуск подходит именно вам.
Рекомендуем изучить наши уроки по Windows 8, Windows 7, и Windows 10 для получения дополнительной информации. А также ознакомьтесь со списком лучших программ для ОС Windows.