«Введение в системный анализ и моделирование»
В. М. Казиев
↑ | Оглавление | ||
← | Глава 1.1, «Предмет системного анализа» | Глава 2.1, «Цель, задача, структура, система, системность» | → |
1.2 Системные ресурсы общества
Имеются следующие основные типы ресурсов в природе и в обществе:
- Вещество — наиболее хорошо изученный ресурс, который в основном, представлен таблицей Д. И. Менделеева достаточно полно и пополняется не так часто. Вещество выступает как отражение постоянства материи в природе, как мера однородности материи.
- Энергия — не полностью изученный тип ресурсов, например, мы не владеем управляемой термоядерной реакцией. Энергия выступает как отражение изменчивости материи, переходов из одного вида в другой, как мера необратимости материи.
- Информация — мало изученный тип ресурсов. Информация выступает как отражение порядка, структурированности материи, как мера порядка, самоорганизации материи (и социума). Сейчас это понятие мы будем понимать как некоторые сообщения; ниже этому понятию мы посвятим более детальное обсуждение.
- Человек — выступает как носитель интеллекта высшего уровня и является в экономическом, социальном, гуманитарном смысле важнейшим и уникальным ресурсом общества, выступает как мера разума, интеллекта и целенаправленного действия, мера социального начала, высшей формы отражения материи (сознания).
- Организация (или организованность) выступает как форма ресурсов в социуме, группе которая определяет его структуру, включая институты человеческого общества и его надстройки, выступает как мера упорядоченности ресурсов. Организация системы связана с наличием некоторых причинно-следственных связей в этой системе. Организация системы может иметь различные формы, например, биологическую, информационную, экологическую, экономическую, социальную, временную, пространственную и она определяется причинно-следственными связями в материи и социуме.
- Пространство — мера протяженности материи (события), распределения её (его) в окружающей среде.
- Время — мера обратимости (необратимости) материи, событий. Время неразрывно связано с изменениями действительности.
Можно говорить о различных полях, в которые «помещен» любой человек: материальном, энергетическом, информационном, социальном, их пространственных и временных характеристиках.
Пример. Рассмотрим простую задачу — пойти утром на занятия в вуз. Эта часто решаемая студентом задача имеет все аспекты:
- материальный, физический аспект — студенту необходимо переместить некоторую массу, например, учебников и тетрадей на нужное расстояние;
- энергетический аспект — студенту необходимо иметь и затратить нужное количество энергии на перемещение;
- информационный аспект — необходима информация о маршруте движения и месторасположении вуза и нужно обрабатывать по пути своего движения информацию;
- человеческий аспект — перемещение, в частности, переезд на автобусе невозможен без человека, например, без водителя автобуса;
- организационный аспект — необходимы подходящие транспортные сети и маршруты, остановки и т.д.;
- пространственный аспект — перемещение на определённое расстояние;
- временной аспект — на данное перемещение будет затрачено время (за которое произойдут соответствующие необратимые изменения в среде, в отношениях, в связях).
Все типы ресурсов тесно связаны и сплетены. Более того, они невозможны друг без друга, актуализация одного из них ведет к актуализации другого.
Пример. При сжигании дров в печке выделяется тепловая энергия, тепловая энергия используется для приготовления пищи, пища используется для получения биологической энергии организма, биологическая энергия используется для получения информации (например, решения некоторой задачи), перемещения во времени и в пространстве. Человек и во время сна расходует свою биологическую энергию на поддержание информационных процессов в организме; более того, сон — продукт таких процессов.
Социальная организация и активность людей совершенствуют информационные ресурсы, процессы в обществе, последние, в свою очередь, совершенствуют производственные отношения.
Если классическое естествознание объясняет мир исходя из движения, взаимопревращений вещества и энергии, то сейчас реальный мир, объективная реальность могут быть объяснены лишь с учётом сопутствующих системных, особенно, системно-информационных процессов.
↑ | Оглавление | ||
← | Глава 1.1, «Предмет системного анализа» | Глава 2.1, «Цель, задача, структура, система, системность» | → |
Категории
Некоторые ресурсы, особенно память и пространство для хранения, имеют понятие «местоположение», и можно отличить непрерывные выделения от несмежных выделений. Например, выделение 1 ГБ памяти в одном блоке по сравнению с выделением его в 1024 блоках размером 1 МБ каждый. Последнее называется фрагментацией и часто сильно влияет на производительность, поэтому непрерывное свободное пространство является подкатегорией общего ресурса пространства хранения.
Также можно отличить сжимаемые ресурсы от несжимаемых . Сжимаемые ресурсы, как правило, пропускные, такие как ЦП и пропускная способность сети, можно безболезненно регулировать: пользователь будет замедлен пропорционально регулированию, но в остальном будет работать нормально. Другие ресурсы, как правило, хранилища, такие как память, нельзя регулировать, не вызывая сбоя (если процесс не может выделить достаточно памяти, он обычно не может работать) или серьезного снижения производительности, например, из-за перегрузки (если рабочий набор не помещается в памяти и требует частого перелистывания страниц, прогресс значительно замедлится). Различие не всегда резкое; как уже упоминалось, система подкачки может позволять сжатие основной памяти (первичного хранилища) (путем подкачки на жесткий диск (вторичное хранилище)), а некоторые системы допускают сбрасываемую память для кешей , которая сжимается без катастрофического воздействия на производительность. Электроэнергия в некоторой степени сжимаема: без питания (или без достаточного напряжения) электрическое устройство не может работать, остановится или выйдет из строя, но некоторые устройства, особенно мобильные телефоны, могут допускать ухудшение работы при пониженном энергопотреблении или могут позволить устройству должна быть приостановлена, но не прекращена, с гораздо меньшим энергопотреблением.
Используем диспетчер оборудования
- Когда откроется окно диспетчера, следует раскрыть список системных устройств и внимательно просмотреть его. Элементов может быть много, но следует остановиться на тех названиях, которые содержат слово «chipset». Рядом будет указан производитель (например, Intel).
- Вызываете контекстное меню на каждом из пунктов (поочередно), кликаете по команде «Обновить драйвера» и выбираете автоматический поиск, как показано на скрине:
Если будет найдена новая версия драйвера, то система предложит установить его. Когда обновление не требуется, то появится такое окно (только с наименованием Вашего устройства):
С этим способом разобрались. Ничего сложного в нем нет, согласитесь? При возникновении вопросов – пишите комментарии после данной статьи.
Создание процесса соответствия критериям (Process Matching Criteria)
Теперь, когда менеджер системных ресурсов Windows System Resource Manager установлен и запущен, давайте начнем с создания некоторого процесса соответствия критерию (process matching criteria). Создание процесса соответствия критерию (process matching criteria) позволяет вам описать приложения или процесс таким образом, что ему можно назначить ресурсы.
На первом этапе необходимо указать приложение, для которого вы хотите создать процесс соответствия критерию (process matching criteria). После этого щелкните правой кнопкой мыши на контейнере Process Matching Criteria и выберите команду New Process Matching Criteria (создать процесс) и контекстного меню. После этого Windows загрузит диалоговое окно New Process Matching Criteria.
После появления этого окна первое, о чем вас спросят – это название критерия (criterion name). Вы можете задать в этом поле любое название, которое вам нравиться, но я рекомендую использовать название, которое описывает процесс, который вы хотите определить.
Теперь вы должны указать процесс, службу или приложение, которое вы хотите определить. Для этого нажмите на кнопку Add (добавить). Появиться диалоговое окно Add Rule (добавить правило). То что вы будете делать дальше зависит от того, что именно вам нужно. Например, если вы хотите вручную определить приложение, то просто введите путь к приложению и имя файла в поле Include Files или Command Lines.
Также у вас есть возможность выбора приложения, процесса или службы, или даже пул приложений IIS application pool из списка
Если вы посмотрите на Рисунок C, то вы обратите внимание на выпадающий список со словом Application. Вы можете использовать этот выпадающий список для выбора приложения, запущенного процесса (running process), зарегистрированной службы (registered service), или пула приложений IIS application pool. После того, как вы сделаете свой выбор, нажмите на кнопку Select (выбрать) и вы увидите список параметров, из которых вы можете выбрать
Если вы выберите параметр Application (приложение), то Windows просто отобразит содержимое жесткого диска, а не список приложений. Далее вам необходимо выбрать приложение, которое вы хотите определить
После того, как вы сделаете свой выбор, нажмите на кнопку Select (выбрать) и вы увидите список параметров, из которых вы можете выбрать. Если вы выберите параметр Application (приложение), то Windows просто отобразит содержимое жесткого диска, а не список приложений. Далее вам необходимо выбрать приложение, которое вы хотите определить.
Рисунок 3: На этом рисунке я определил в качестве приложения Notepad (Блокнот)
Перед тем, как я продолжу, я хочу немного поговорить о свойствах, изображенных на рисунке C
Если вы повнимательней посмотрите на эти свойства, то вы обратите внимание, что есть небольшое пространство для более чем одного файла или командной строчки. Причина этого заключается в том, что вы описываете приложение. Иногда, для приложений необходимо несколько исполняемых файлов
При определении приложения, вы можете задать несколько файлов или даже набор приложений, процессов, служб или даже пула приложений IIS application pools
Иногда, для приложений необходимо несколько исполняемых файлов. При определении приложения, вы можете задать несколько файлов или даже набор приложений, процессов, служб или даже пула приложений IIS application pools.
Если вы посмотрите на нижнюю часть окна свойств, изображенного на рисунке C, то увидите, что есть поле, которое вы можете использовать для исключения файлов или командных строк. Случайно, вы можете оказаться в ситуации, в которой определяемое приложение имеет общий исполняемый код с других приложением. Если такое случилось, то вы можете установить ограничения для общего кода. Опция Exclude Files or Command Lines предоставляет вам возможность исключения компонентов из описания приложения.
Нажмите на кнопку OK и вы вернетесь в диалоговое окно New Process Matching Criteria. Как вы можете увидеть из рисунка 4, приложение, которое мы определили добавилось в список Files or Command Lines. Нажмите на кнопку OK еще раз и приложение, которое вы только что определили появится в списке в контейнере Process Matching Criteria, как показано на рисунке 5.
Рисунок 4: Приложение, которое мы определили было добавлено в список Files or Command Lines list
Рисунок 5: Приложение, которое мы только что определили, теперь присутствует в списке в контейнере Process Matching Criteria
Использование комплектного диска
Зачастую, вместе с материнской платой поставляется диск с программным обеспечением. На нём могут быть записаны драйвера интегрированного видеоадаптера, звукового контроллера, USB-портов и, собственно, чипсета. Некоторые разработчики «железа» предлагают еще и утилиты, которые работают в фоновом режиме и самостоятельно следят за выходом обнов. Как только это происходит, Вам предлагают скачать и установить пак. Увы, не все предоставляют такую возможность.
Вот и подошла к концу моя увлекательная и полезная инструкция. Уверен, что она обязательно поможет Вам решить поставленные задачи. Не советую торопиться и делать всё опрометчиво, не обдумав. Если что-то непонятно, лучше задайте вопрос мне или любому другому специалисту. Не забывайте делать резервные копии и создавать точки для последующего восстановления системы, если что-то пойдет не по плану.
Системные ресурсы
Системными ресурсами называются коммуникационные каналы, адреса и сигналы, используемые узлами компьютера для обмена данными с помощью шин. Обычно под системными ресурсами подразумевают следующее:
- адреса памяти;
- каналы запросов прерываний (IRQ);
- каналы прямого доступа к памяти (DMA);
- адреса портов вводавывода.
В приведенном списке порядок размещения системных ресурсов соответствует уменьшению вероятности возникновения из-за них конфликтных ситуаций в компьютере. Наиболее распространенные проблемы связаны с ресурсами памяти; иногда разобраться в них и устранить причины их возникновения довольно сложно. Более подробно эти проблемы рассматриваются в главе 6. В настоящей главе речь пойдет о других видах перечисленных выше ресурсов.
Исторически сложилось так, что конфликты запросов к прерываниям IRQ всегда вызывали больше проблем, чем использование каналов прямого доступа к памяти (DMA). Это связано преимущественно с тем, что практически все платы расширения используют прерывания, а каналы DMA в основном требуют только платы, поддерживающие устаревший стандарт ISA. К тому же каналов прямого доступа к памяти более чем достаточно. Порты вводавывода также используются всеми устройствами, взаимодействующими с шинами. Однако количество портов ограничено только 64 Кбайт памяти; это значит, что в данном вопросе есть где разгуляться. Для обеспечения индивидуализации всех устройств нужно гарантировать, что каждый конкретный системный ресурс используется не более чем одной платой или устройством; в большинстве случаев системные ресурсы не могут использоваться совместно.
Все эти ресурсы необходимы для различных компонентов компьютера. Платы адаптеров используют ресурсы для взаимодействия со всей системой и для выполнения специфических функций. Каждой плате адаптера нужен свой набор ресурсов. Так, последовательным портам для работы необходимы каналы IRQ и уникальные адреса портов ввода-вывода, а аудиоустройствам требуется еще хотя бы один канал DMA. Большинством сетевых плат используются блок памяти емкостью 16 Кбайт, канал IRQ и адрес порта ввода-вывода.
По мере установки дополнительных плат в компьютере растет вероятность конфликтов, связанных с использованием ресурсов. Конфликт возникает при установке двух или более плат, каждой из которых требуется одна и та же линия IRQ или адрес порта ввода-вывода. Иногда в таких ситуациях на помощь приходит функция автоматического конфигурирования Plug and Play. Эта технология позволяет “развести” разные устройства на разные ресурсы. В некоторых старых платах расширения имеются перемычки или переключатели, установив которые, можно изменить предусмотренную по умолчанию конфигурацию потребления ресурсов. Некоторые карты адаптеров сопровождаются программным обеспечением, позволяющим сконфигурировать их настройки. Также настройка ресурсов отдельных устройств может быть выполнена в диспетчере устройств операционных систем семейства Windows 9x и более поздних версий. Даже если автоматическая настройка отработала неправильно, всегда можно применить логический подход и вручную назначить разные ресурсы конфликтующим устройствам. Главное здесь — знать правила игры.
К счастью, все современные системы с поддержкой ACPI и все новые шины типов PCI и PCI-Express редко сталкиваются с проблемами конфигурирования этих ресурсов. Практически всегда конфигурирование выполняется автоматически и без проблем.
Системный ресурс — это любая используемая часть компьютера, которая может управляться и назначаться операционной системой, так что все аппаратное и программное обеспечение на компьютере может работать вместе, как задумано.
Системные ресурсы могут использоваться пользователями, такими как вы, при открытии программ и приложений, а также службами, которые обычно автоматически запускаются вашей операционной системой.
Вы можете исчерпать системные ресурсы или даже полностью исчерпать системные ресурсы, так как они ограничены. Ограниченный доступ к любому конкретному системному ресурсу снижает производительность и обычно приводит к некоторой ошибке.
Системный ресурс иногда называют аппаратным ресурсом, компьютерным ресурсом или просто ресурсом. Ресурсы не имеют ничего общего с унифицированным указателем ресурса (URL) .
Ошибки системных ресурсов
Программы предполагаемый «вернуть» память, как только вы закроете их. Если этого не произойдет, что более распространено, чем вы думаете, эти ресурсы не будут доступны другим процессам и программам. Эта ситуация часто называется утечка памяти, или утечка ресурсов.
Если вам повезет, эта ситуация приведет к тому, что Windows предложит вам, что на компьютере недостаточно системных ресурсов, часто с ошибкой, подобной одной из следующих:
- «Недостаточно памяти или системных ресурсов»
- «Недостаточно памяти»
- «Недостаточно системных ресурсов для завершения запрошенной услуги»
- «Система опасно мало ресурсов»
- «На вашем компьютере недостаточно памяти»
Если вам не так повезло, вы просто заметите более медленный компьютер или, что еще хуже, сообщения об ошибках, которые не имеют особого смысла.
Ошибки системных ресурсов
Программы должны «возвращать» память, когда вы их закрываете. Если этого не произойдет, что более распространено, чем вы думаете, эти ресурсы не будут доступны другим процессам и программам. Эту ситуацию часто называют утечкой памяти или утечкой ресурсов.
Если вам повезет, эта ситуация приведет к тому, что Windows предложит вам, что на компьютере недостаточно системных ресурсов, часто с ошибкой, подобной одной из следующих:
- «Недостаточно памяти или системных ресурсов»
- «Недостаточно памяти»
- «Недостаточно системных ресурсов для завершения запрошенной услуги»
- «Система опасно мало ресурсов»
- «На вашем компьютере недостаточно памяти»
Если по какой-либо причине перезапуск невозможен, вы всегда можете попытаться отследить нарушающую программу самостоятельно. Лучший способ сделать это из диспетчера задач — открыть его, отсортировать по использованию памяти и принудительно завершить те задачи, которые занимают ресурсы вашей системы.
Если ошибки системных ресурсов появляются часто, особенно если они связаны со случайными программами и фоновыми службами, возможно, необходимо заменить один или несколько модулей ОЗУ.
Тест памяти подтвердит это так или иначе. Если один из этих тестов является положительным для проблемы, единственным решением является замена вашей оперативной памяти . К сожалению, они не подлежат ремонту.
Другая возможная причина повторяющихся ошибок системных ресурсов, даже если вы часто выключаете компьютер, может заключаться в том, что фоновые службы запускаются автоматически без вашего ведома. Эти программы запускаются при первом включении Windows. Вы можете увидеть, какие они, и отключить их, на вкладке « Автозагрузка » в диспетчере задач.
Вкладка « Запуск » диспетчера задач недоступна в более старых версиях Windows. Если вы не видите эту область диспетчера задач в своей версии Windows, откройте вместо нее утилиту настройки системы. Вы можете сделать это через MSconfig команду в диалоговом окне Выполнить или командную строку .
Программа Excel
Ошибка в Excel «Недостаточно системных ресурсов»: страшно представить, сколько людей столкнулись с этой проблемой, и сколько было потеряно информации из-за такого сбоя. Данная программа является наиболее подверженной данной ошибке, так как имеет в своих функциях огромное количество вычислительных операций.
Excel – это универсальный и многофункциональный калькулятор, который проводит до миллиона операций, если используется по назначению. Поэтому во время работы с данной программой ресурсы компьютера используются либо в полную силу, либо распределяются, либо вообще не используются. Такое «жонглирование» порой и приводит к сбою. Ведь не бывает идеальных программных структур, которые бы до последнего бита информации все выполняли так, как нужно.
Поэтому ошибка в программе Excel («Недостаточно системных ресурсов») не должна вас пугать, так как это вполне обыденная ситуация. Главное, как можно чаще сохраняйте свой прогресс и изменения, чтобы не потерять их в случае сбоя. И старайтесь не делать все одновременно, так как необходим план действий и порядок их выполнения, а если реализовывать задачи методом простой примерки и без знания формул и команд, то программа сама по себе будет выдавать сбой.
А как же насчет того, что может возникнуть ошибка в Excel 2010 «Недостаточно системных ресурсов»? Microsoft утверждали, что эта программа не имеет погрешностей, и способна избегать таких неурядиц. А вот об этом мы поговорим в конце статьи, так как именно там будет раскрыто решение данной проблемы.
Сервисы ОС¶
Функции ОС заключены в её сервисах (модулях). Реализация организации которых зависит от архитектуры ядра. Рассмотрим на примере монолитного ядра:
Рис 6. Основные компоненты ОС
-
- Управление процессами (Process scheduler — планировщик)
-
- Запуск (помещение на процессор, выделение процессорного времени)
- Приостановка (заморозка)
- Завершение
- Изменение приоритета
Примечание
Как говорилось , реализация планировщика осуществляется с помощью прерывания по таймеру — каждый квант времени происходит прерывание, которое передаёт управление ОС и она анализирует состояние всех процессов и что с каким процессом сделать: запустить, приостановить, завершить или изменить приоритет.
-
- Межпроцессное взаимодействие (IPC — Inter Process Communication)
-
- Общая память для нескольких процессов (shared memory)
- Способы обмена данными через те или иные механизмы (file, pipe, signals)
- Сетевое взаимодействие
- Механизмы предотвращения коллизий и синхронизации (семафоры, мьютексы)
-
- Управление памятью (Memory manager)
-
- Динамическое выделение памяти (Memory allocation)
- Создание иллюзии уникальности адресного пространства для каждого процесса
- Механизм виртуальной памяти
Больше информации о системных ресурсах
Windows автоматически назначает системные ресурсы аппаратным устройствам, если устройства поддерживают технологию Plug and Play. Почти все устройства и, конечно, все общедоступные компьютерные устройства, доступные сегодня, совместимы с Plug and Play.
Системные ресурсы обычно не могут использоваться более чем одним оборудованием. Основным исключением являются IRQ, которые в определенных ситуациях могут использоваться несколькими устройствами.
Операционные системы Windows Server могут использовать диспетчер системных ресурсов Windows для управления системными ресурсами для приложений и пользователей.
«Системные ресурсы» могут также относиться к программному обеспечению, установленному на ваших компьютерах, таким как программы, обновления, шрифты и многое другое. Если эти вещи удалены, Windows может показать ошибку, объясняющую, что ресурс не был найден и не может быть открыт.
-
Как оптимизировать карту памяти на телефоне
-
Как переделать файл в dll
-
Как рассчитать время работы ибп
-
Закрыли компьютерные клубы на коронавирус
- Файл не существует или поврежден xiaomi диктофон
Структура сетевой операционной системы
Сетевая операционная система составляет основу любой вычислительной сети. Каждый компьютер в сети автономен, поэтому под сетевой операционной системой в широком смысле понимается совокупность операционных систем отдельных компьютеров, взаимодействующих с целью обмена сообщениями и разделения ресурсов по единым правилам – протоколам. В узком смысле сетевая ОС – это операционная система отдельного компьютера, обеспечивающая ему возможность работать в сети.
Рис. 1 Структура сетевой ОС
В соответствии со структурой, приведенной на рис. 1, в сетевой операционной системе отдельной машины можно выделить несколько частей.
- Средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между процессами, планирования и диспетчеризации процессов, управления процессорами, управления периферийными устройствами и другие функции управления ресурсами локальных ОС.
- Средства предоставления собственных ресурсов и услуг в общее пользование – серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам.
- Средства запроса доступа к удаленным ресурсам и услугам – клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложе-ния выполнение локальных и удаленных запросов неразличимо.
- Коммуникационные средства ОС, с помощью которых происходит обмен сооб-щениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор мар-шрута передачи сообщения по сети, надежность передачи и т.п., т. е. является средством транспортировки сообщений.
Реализация многозадачности¶
Осуществляется при помощи следующих механизмов:
-
- Прерывание таймера
-
- Переключение контекста
- План блокировок, при наличии нескольких CPU
- Освобождение ресурсов при завершении процесса
Контекст процесса — это состояние регистров, при его выполнении на процессоре.
Следовательно, переключение контекста — это смена контекста одного процесса, на контекст другого, без потери данных сменяемого процесса — то есть, чтобы его потом можно было восстановить с того момента, где он был переключён.
Примечание
Например, у нас на процессоре в данный момент времени выполняется «процесс 1» — в регистрах хранятся данные, которые относятся к этому процессу.
Но происходит прерывание и «процесс 1» снимается с выполнения на процессоре, чтобы вместо него выполнялся «процесс 2». Следовательно, нужно заполнить регистры уже теми данными, что относятся к «процессу 2».
Однако, «процесс 1» ещё не выполнился полностью, и для дальшейнего исполнения ему нужны те данные, что хранились в регистрах при прерываний, то есть необходим его контекст. Операционная система должна обеспечивать подобные смены контекстов без потери данных.
- При переключений контекста возникает три важных вопроса:
-
- Как?
- Когда?
- Между кем и кем?
Как?
В целом, смена контекста происходит между состояниями «Готов», «Ожидает» и «Исполняется».
Одна из основных проблем с которыми может столкнуться такая система с вытесняющей многозадачностью — порядок доступа процессов к их общим ресурсам.
Возникают, так называемые, критические секции – участки исполняемого кода программы, в которых производится доступ к общему ресурсу (данным или устройству), который не должен быть одновременно использован более чем одним потоком выполнения.
Рис 12. Критические секции в потоках процесса
Может возникнуть такая ситуация, когда один поток, «потребитель», начинает использовать данные, которые должен подготовить другой поток, «производитель», но этот производитель ещё не закончил их подготовку и снялся с исполнения. Таким образом, «потребитель» использует некорректные данные, что с высокой долей вероятности приведёт к ошибке.
Данная проблема решается с помощью механизма блокировок – когда поток, получивший доступ к ресурсу, блокирует его, не давая другим потокам пользоваться этим захваченным ресурсом до разблокировки. То есть, если один поток хочет захватить (заблокировать) ресурс, а он уже занят другим потоком, то первый будет ожидать пока этот другой поток-владелец сам не освободит этот ресурс.
Примечание
Все эти механизмы обеспечиваются операционной системой
Чтобы лучше это понять, можно обратиться к аналогии с туалетом — им может пользоваться только один человек. Если другой хочет им воспользоваться, то ему нужно дождаться когда его освободит уже им пользующийся.
Операционная система
ОС — совокупность ПО, которое управляет железом и ресурсами ЭВМ, а также разворачивает специальную среду для запуска и работы приложений клиентской части. Иными словами, она «оживляет» компьютер, поскольку без нее невозможно играть в игры, слушать музыку, смотреть фильмы, работать с документами. Основные задачи, которые выполняют современные ОС:
- Управление работой программного обеспечения.
- Распределение RAM между процессами.
- Обработка ввода-вывода.
- Осуществление доступа к файловой системе и таблице разделов.
- Обработка системных сообщений от устройств (прерываний — IRQ).
- Управление железом компьютера при помощи драйверов.
- Разворачивание интерфейса пользователя.
- Режим многозадачности.
- Консольные режимы для нескольких пользователей.
- Режим для нескольких клиентов.
- Настройку аппаратных и программных средств.
- Определение конфигурационной особенности для каждого ПК.
- Возможность установки дополнительного программного обеспечения.
- Безопасность.
Это основные критерии, которым должна удовлетворять каждая ОС. Для выбора последней нужно ознакомиться с основными видами и характеристиками.
Виды и характеристики
Для работы на персональном компьютере можно использовать несколько видов ОС, основные характеристики которых существенно отличаются между собой. Они условно могут делиться на 3 группы:
- LINUX.
- Windows.
- MAC OS.
Первая платформа является оптимальным решением для любых ПК и портативных устройств, поскольку отличается не только функциональностью, но и высокими требованиями к безопасности. Для нее практически не пишется опасное вредоносное ПО, данные пользователя надежно защищены. Кроме того, освоить ее довольно просто, поскольку существует множество модификаций с понятным интерфейсом. Для входа в систему предусмотрен пароль, который невозможно обойти.
В ОС существует возможность входа по паролю, однако его довольно легко взломать. Распространенной ошибкой новичков при инсталляции Windows является отсутствие пароля на аккаунте администратора, который просто не указывают. В результате этого злоумышленник может получить доступ ко всем данным пользователя, войдя в админскую учетную запись.
MAC-системы превосходят Linux-платформы по степени надежности и обеспечивают отличную защиту информации пользователя. Однако они обладают существенным недостатком — установить их можно только на устройства компании «APPLE».
Следует отметить, что MAC и LINUX имеют UNIX-ядро, т. е. структуру файловой системы, конфигурацию и модульные процедуры выполнения запросов. Этот подход к архитектуре позволяет существенно увеличить скорость работы, достигнуть высокого уровня безопасности, а также правильно управлять ресурсами при выполнении нескольких процессов.
Драйвера и многозадачность
Драйвер — специальная программа, предназначенная для выполнения взаимосвязи железа с операционной системой. Он необходим для корректной работы последней и инсталлируется при установке. Однако иногда его следует устанавливать вручную, поскольку система не всегда может найти и загрузить подходящее ПО для конкретного устройства. Эта проблема чаще всего происходит в Windows, поскольку UNIX-системы всегда «находят» подходящие драйвера (стабильные и свежие версии).
Следует отметить, что только OC UNIX-платформ обладают многозадачностью. Хотя в некоторых источниках указано, что Windows способна правильно распределять ресурсы при вычислительном процессе. Последнее — ошибочное утверждение, поскольку работа программ выполняется по одному экземпляру с последующим переключением между вычислительными потоками. IT-специалисты называют Windows — ОС с ложной многозадачностью.
Как приложения взаимодействуют с ОС?¶
Взаимодействие процессов с ОС осуществляется с помощью системных вызовов.
Примечание
Механизм системных вызовов — это интерфейс, который предоставляет ядро ОС (kernel space) пользовательским процессам (user space).
Системный вызов – программное прерывание, обращение пользовательского процесса к ядру операционной системы для выполнения какой-либо операции.
Например, чтобы выполнить обычное действие, с точки зрения прикладного программиста, – вывод строки в консоль, необходимо загрузить исполнимый код в оперативную память и передать его процессору. С помощью системных вызовов, запускающий процесс (уже запущенный процесс, из которого вызывается новый процесс — одни процессы порождают другие) обращается к соответствующим сервисам ОС и передаёт им управление для выполнения этих функций.
То есть с помощью системных вызовов выполняются те рутинные действия, которые раньше осуществлялись вручную, — загрузка кода программы в память, передача его на исполнение процессору и прочее.
Схема организации ОС расширяется добавлением интерфейса для взаимодействия приложений с ядром ОС — механизмом системных вызовов: