Что такое свободное программное обеспечение? Что такое СПО (свободное программное обеспечение) Обзор современных ОС. Классификация

Компьютеры - наши неотъемлемые спутники жизни вот уже второй десяток лет. С их помощью люди развлекаются и работают, общаются с друзьями по всему миру. К сожалению, далеко не все пользователи представляют себе принципы работы с компьютером.

В частности, они редко задумываются о важности СПО. Это Что подразумевается под этим понятием и в чем важность этих программ? Раскрытию этого вопроса и посвящена данная статья. Кроме того, нами будет рассмотрена существующая на сегодняшний день классификация системного программного обеспечения.

Это необходимо знать даже рядовым пользователям, так как при прочтении каких-то информационных статей они частенько не могут понять сути там написанного. Происходит это как раз-таки из-за незнания общей терминологии. Нужно отметить, что ее искажением нередко грешат даже специализированные ресурсы.

Введение в тему

Исторически сложилось, что все используемые нами программы подразделяются на два класса:

  • Системные приложения (СПО - это основа любой операционной системы).
  • Прикладные программы.

Имеется еще класс глубоко специализированного прикладного ПО, но в повседневной жизни с ним встречаются только техники и разработчики.

К относятся офисные приложения, программы для создания и редактирования изображений, а также прочие средства, с которыми каждый из нас имеет дело ежедневно. Нетрудно догадаться, что этот класс является самым распространенным и многочисленным.

Что же входит в понятие СПО? Это программы, предназначенные для созданные для взаимодействия пользователя и компьютера (DE - графические оболочки), а также специализированные системы сбора и обработки информации. Последние используются (в том числе) на борту самолетов и боевых машин.

Драйверы и прочее

Очень часто выделяют системные библиотеки и драйверы устройств, которые по своему назначению ни в чем не отличаются от самого СПО. Это означает, что отдельно их рассматривать не имеет смысла.

Таким образом, системным программным обеспечением (System Software) можно называть комплекс программ и интерфейсов, которые служат для управления и взаимодействия компьютера с человеком. Главное их назначение - перевод машинных средств отображения и анализа в более привычные всем нам текстовые или графические формы. Состав СПО (в отличие от прикладных утилит) практически никак не зависит от конкретных задач, решаемых пользователем на компьютере.

Он может проектировать на нем дома, а может целый день сидеть в социальных сетях. В каждом случае программное обеспечение компьютера различается кардинально, в то время как состав системных приложений никаких изменений не претерпевает.

Для чего нужно системное ПО

А сейчас подробнее разберемся с назначением программ такого типа. Итак, их основные функции:

  • Они создают среду, в которой работают прикладные утилиты (ОС).
  • Обеспечивают упрощение и автоматизацию разработки новых приложений.
  • Максимизируют точность и результативность взаимодействия между компьютерами в локальных и глобальных сетях.
  • Диагностируют (и ремонтируют) различные сбои программного характера.
  • Ответственны за выполнение вспомогательных операций (копирование, архивирование, передачу данных).

Соответственно, ни один компьютер без СПО работать не может в принципе, так как даже самая примитивная операционная система - тоже комплекс специальных приложений. Обслуживанием этих программ могут заниматься только квалифицированные пользователи, а разработкой - только лучшие программисты, которые в ряде случаев должны знать язык машинного программирования (таких специалистов в мире вообще единицы). Словом, создать свою ОС в гордом одиночестве у вас точно не получится.

Базовые знания и навыки

Несмотря на сложность такого рода программ, даже рядовые пользователи должны представлять себе сущность их работы, так как от этого зависит результативность их взаимодействия с компьютером. К примеру, не зная о принципах работы программ, контролирующих запись и считывание информации с поверхности жесткого диска, вы не сможете форматировать винчестер, исходя из типа тех данных, которые намереваетесь там хранить.

Как мы уже и говорили, их применение носит системный характер, который не меняется практически никогда. А потому к разработке СПО предъявляются особенно жесткие требования.

Классификация системного программного обеспечения

Традиционно в этом классе выделяют следующие разновидности программ:

  • Управляющие компоненты.
  • Компоненты анализа, обработки и передачи информации.

Как несложно понять, управляющие программы синхронизируют основные процессы, позволяя корректно функционировать всем устройствам компьютера. Их основные функции следующие:

  • Непосредственное управление всеми вычислительными мощностями системы.
  • Работа с данными, необходимыми для ее функционирования.

Чаще всего эти утилиты постоянно находятся в оперативной памяти компьютера. Относятся к резидентным средствам, составляющим ядро всей ОС. Если управляющие программы, которые необходимы для выполнения какой-то важной операции, загружаются в память непосредственно перед проведением работы, то они называются транзитными (transitive). В любом случае сегодня подобные утилиты поставляются исключительно в составе как самой операционной системы, так и в виде библиотек драйверов.

В отличие от них программы для обработки информации запускаются отдельно. Чаще всего они поставляются в составе инсталляционных пакетов прикладных приложений. Кстати, installer, к примеру) также относится к системному программному обеспечению.

Другой вариант классификации

Очень часто специалисты говорят, что программное обеспечение компьютера должно подразделяться на базовое и сервисное. К базовому относятся те программы, которые обеспечивают само функционирование компьютера. Соответственно, к системному программному обеспечению относятся:

  • Сами операционные системы и драйвера в их составе.
  • Графические оболочки (DE) и прочие среды для выполнения программ.
  • Файловые менеджеры.

ОС как комплекс СПО

Продолжаем рассматривать системное программное обеспечение. Операционные системы являются его неотъемлемой частью.

Вообще, сама ОС может быть представлена как комплекс системных программ, которые отвечают за получение, обработку, использование информации и управление всеми системными устройствами. С одной стороны, ОС выступает в роли «прокладки» между пользователем и его компьютером, с другой стороны, отвечает за как можно более эффективное использование как программной, так и аппаратной начинки последнего.

В литературе ОС называется также базовое системное программное обеспечение. Почему принята такая терминология, мы рассмотрим ниже.

Управление файлами - важнейшая функция СПО

Файловые менеджеры предназначены для более удобного доступа к физическим данным на диске, для отображения их в графическом представлении. Таким образом, они позволяют использовать только логическое имя файла, а не его непосредственные координаты на жестком диске.

Важно! Файловые системы и файловые менеджеры сами по себе не существуют, так как их разрабатывали под конкретные операционные системы и для решения определенных задач. Таким образом, некоторое количество специалистов сходится во мнении, что к системному программному обеспечению относятся и эти приложения.

Но есть несколько фактов, которые предопределяют отношение к такого рода программам с точки зрения самостоятельных средств управления информацией:

  • Многие операционные системы (причем уже давно и практически все) могут одновременно (!) работать практически со всеми файловыми системами.
  • Некоторые примитивные (но все же могут вообще обходиться без подобных приложений.

Что такое сервисное СПО

К этой категории относятся программы, которые значительно расширяют возможности программы СПО, делая ее более удобной для конечного пользователя. Их также можно классифицировать, причем пунктов получится немало:

  • Драйверы устройств, которые не закладываются в состав ОС на этапе ее создания.
  • Программы для самодиагностики компьютера, которые избавляют пользователя от необходимости самому находить причину ошибок и сбоев.
  • Как ни странно, но антивирусное ПО также подходит под определение «сервисного». Отметим, что так было далеко не всегда.
  • Приложения для обслуживания жестких дисков позволяют копировать и архивировать информацию, безвозвратно удалять или восстанавливать данные, оптимизировать процесс записи файлов на диск.
  • Встроенные программы архивации, позволяющие значительно уменьшить занимаемое информацией пространство.
  • Утилиты для управления сетевыми ресурсами и самой сетью.

Частенько этот класс программ называют системными утилитами. Сразу отметим, что антивирусные программы так не называют. Сегодня широко известны средства от Symantec, Touch Stone, а также других крупных компаний, которые поставляют программное обеспечение. для некоторых случаев мы рассмотрели, но остаются нераскрытыми некоторые вопросы.

СПО для работы с сетевыми протоколами

Как можно понять из названия, эти системные приложения ответственны за доступ к Сети. Отметим, что все нижеизложенное более относится к тем системам, которые предназначены для выполнения каких-то специфических действий (файл-сервер, почтовый сервер). Чтобы обновить программное обеспечение такого порядка, нередко приходится разрабатывать новые версии операционных систем.

Ключом к пониманию работы всего алгоритма является специальная программа-сервер, которая принимает запросы из сети и сама же отсылает ответы на них. Утилиты, которые предназначены для отправки запросов, называются клиентами. Отметим, что запрос посылается в виде стандартизированного формата, который чаще называют протоколом. Ответ также высылается в виде файла определенного формата, который содержит всю необходимую информацию (пакет).

Кстати, IE и Firefox, Opera и Google Chrome - тоже клиенты, работа которых основана на изложенном только что принципе.

и выполнения программ

Эти программы относятся к специфическим средствам, но общее представление о них также необходимо, так как без этого невозможно понять принципы работы ОС и компьютера в целом. Они нужны не только для создания, но также для отладки и запуска приложений.

Специалисты говорят, что для данного случая в системное программное обеспечение входят:

  • Средства для набора и редактирования текста.
  • Транслятор или интерпретатор (для простейших языков).
  • Редактор связей, также называемый компоновщиком.
  • Отладчики.
  • Полные прикладные библиотеки для выполнения программы.

Отметим, что создается приложение (за редчайшими исключениями) под какую-то определённую ОС. Но системные средства, которые предназначены для их разработки, могут работать в совершенно иной системе (для этого и нужны отдельные системные библиотеки). Это очень важно, так как не ограничивает самих разработчиков в выборе предпочитаемой системы для работы.

Что такое трансляторы

Так как это определение понятно далеко не всем, рассмотрим данный вопрос несколько подробнее.

Это важнейшее понятие обозначает программу, которая переводит язык программирования, который понятен людям, на машинный язык. Конечно, машинный язык может быть понят и человеком, но таких специалистов во всем мире единицы. Сама программа, написанная на каком-либо языке программирования, называется исходным модулем. Объектным модулем называется исходная информация, скомпилированная для дальнейшего ее использования машиной. В состав данного модуля входит текст программы, уже переведенный на машинный язык, а также прочая информация, необходимая для ее корректной работы и отладки.

Все приложения такого класса делятся на компиляторы и интерпретаторы. Первые сразу же переводят исходный модуль в машинный текст. Интерпретатор же не только выполняет переноску, но и тут же пробует протестировать программу. Исходя из этого, у него есть один громадный недостаток: медленное выполнение программы. Именно поэтому используются такие средства только в среде самых простых и примитивных языков, которые применяют для обучения основам программирования.

Компоновщик, или редактор связей, занимается обработкой объектных модулей в загрузочные элементы. Каждый из них уже может быть перемещен в оперативную память и выполнен.

Отладчик и прочие компоненты

Отладчик выполняет важнейшую функцию, так как позволяет контролировать процесс выполнения программы, попутно выискивая ошибки в ней. В его базовый набор функций входят:

  • Возможность пошагового выполнения загруженного объектного модуля, с постоянным выведением результатов.
  • Остановка в заданных разработчиком точках.
  • Если есть такая необходимость, отладчик может полностью остановить программу в заранее заданной точке.
  • Отображение всех используемых переменных.

Выводы

Итак, подведем итоги. Получается, что в системное программное обеспечение входят следующие компоненты:

  • Непосредственно ОС (операционные системы).
  • Графические оболочки (DE) и среды выполнения программ.
  • Файловые менеджеры и прочие средства управления файлами.
  • Средства для разработчиков.
  • Все сетевые утилиты.
  • Некоторые прикладные программы.

Вот мы и рассмотрели состав системного программного обеспечения.

Свободное программное обеспечение (СПО) — программное обеспечение, распространяемое на условиях свободного лицензионного договора, на основании которого пользователь получает право использовать программу в любых, не запрещенных законом целях; получать доступ к исходным текстам (кодам) программы как в целях её изучения и адаптации, так и в целях переработки, распространять программу (бесплатно или за плату, по своему усмотрению), вносить изменения в программу (перерабатывать) и распространять экземпляры изменённой (переработанной) программы с учетом возможных требований наследования лицензии.

Программное обеспечение с открытым кодом имеет ряд преимуществ перед проприетарным ПО.

Во-первых, это дешевизна и антикоррупционность. СПО не требует лицензионных выплат за каждый установленный экземпляр программы. Государство может провести открытый конкурс, однократно заплатить фирме-разработчику за поставку программного обеспечения и затем тиражировать его без ограничений. Таким образом, для обычных пользователей оно будет практически бесплатным.

Во-вторых, СПО более безопасно. Многие проприетарные приложения от известных производителей содержат недокументированные функции, что является потенциальной угрозой. Доступ к исходным кодам программы дает возможность контролировать этот аспект.

В-третьих, СПО легко адаптируется: большое количество доступных свободных приложений позволяет приспосабливать их под конкретные нужды пользователей и создавать на их основе новые необходимые программы.

В-четвертых, использование СПО учитывает национальные интересы. Несмотря на то, что создание свободных программ неотделимо от мирового сообщества разработчиков, сервисные услуги по их адаптации, внедрению, поддержке и развитию оказывают, как правило, национальные фирмы, что более выгодно государству и обществу.

Цели

Повышение независимости государственных организаций от иностранных поставщиков проприетарного ПО, расширение возможности контроля и самостоятельного развития программных решений, получение экономических преимуществ от внедрения и использования решений на базе СПО.

Задачи

Использование СПО позволяет решать следующие задачи:

  • обеспечение импортозамещения проприетарных компонентов информационных систем, снижение зависимости от монополистов;
  • стимулирование развития отечественной отрасли разработки программ для ЭВМ;
  • расширение возможности участия отечественных разработчиков в выполнении работ и оказании услуг для государственных и муниципальных нужд, обеспечивая дополнительные инвестиции в развитие отечественного производителя;
  • обеспечение высокого уровня технологической независимости;
  • уменьшение числа нарушений, связанных с правовой защитой программ для ЭВМ.

Текущий статус

Осуществляется поэтапная реализация плана перехода федеральных органов исполнительной власти и федеральных бюджетных учреждений на использование СПО в период 2011-2015 годов. Поэтапное внедрение СПО связано со спецификой стандартизированных решений и сложностью переноса данных из ранее использовавшихся информационных систем органов государственной власти в автоматизированные информационные системы на базе СПО.

В третьем квартале 2015 года планируется подготовка проекта распоряжения Правительства Российской Федерации об утверждении плана поэтапного внедрения СПО на следующий плановый период.


Преимущества свободного программного обеспечения (СПО, OSS). Почему ведущие мировые корпорации выбирают СПО.

Почти незаметно в течение последних пары лет в России началась технологическая революция в области программного обеспечения. Все больше государственных предприятий и частных компаний открывают для себя OSS (Open Source Software), в России более известное как СПО (Свободное Программное Обеспечение) . И все чаще эта аббревиатура звучит в контексте борьбы с контрафактным программным обеспечением, а также снижением расходов бюджета IT .

Что же скрывается за аббревиатурой СПО? В переводе на обычный человеческий язык это означает, что, помимо коммерческих программ, для использования которых необходимо приобретать дорогостоящие лицензии, существуют бесплатные аналоги популярнейших программ, которые можно свободно скачать из Интернета и установить на свой компьютер, абсолютно легально и не платя лицензионных отчислений. Другими словами, установка СПО на предприятиях позволяет полностью устранить как экономические, так и репутационные риски, связанные с использованием контрафактного программного обеспечения на предприятии. Это очень актуально для современного бизнеса, учитывая все увеличивающееся количество уголовных дел и крупнейшие штрафы, связанные с нарушениями в сфере лицензирования на предприятиях.

На текущий момент СПО предлагает широчайший выбор качественного программного обеспечения, начиная от операционных систем и офисных программ и заканчивая профессиональными программами для обработки аудио, фото и видеоматериалов . Многие транснациональные корпорации, крупнейшие международные компании, а также государственные учреждения и правительственные организации во всем мире широко используют СПО в своей повседневной деятельности, что позволяет им экономить миллиарды долларов ежегодно. Судите сами: Google, IBM, BMW, Volvo, Unilever, Continental Airlines, Starwood Hotels, Yandex, Приватбанк и еще огромнейший список коммерческих компаний и банков используют СПО.

Помимо своей стоимости, использование СПО обусловлено таким важным фактором, как безопасность. На текущий момент для Свободных Операционных Систем не существует вирусов и эти системы выдерживают нагрузки в разы больше, нежели повсеместно распространенная система Windows, что затрудняет вывод из строя таких систем хакерами.

Также применение СПО позволяет разорвать бесконечный цикл обновления компьютерного железа. Все новые версии программ требуют все более мощных компьютеров для оптимальной работы. СПО же предъявляет в разы меньшие системные требования для компьютерного железа, нежели современные коммерческие альтернативы, и может вполне успешно использоваться на устаревших компьютерах пятнадцатилетней давности.

Конечно, мы все живем в реальном мире, в котором не бывает идеальных вещей и решений, и СПО в этом вопросе тоже не исключение. Основным недостатком СПО для бизнеса является засилье Windows-ориентированных программ и, соответственно, отсутствие опыта работы с аналогами популярных пакетов у пользователей. По остальным параметрам СПО вполне успешно конкурирует с коммерческими решениями.

Сегодня СПО является одним из самых динамически развивающихся секторов IT-индустрии. На текущий момент современный мир уже не мыслим без использования СПО: порядка 85% информационных ресурсов сети Интернет работает под управлением СПО. Вполне возможно, что вы используете СПО прямо сейчас и сами того не подозревая: например, операционная система мобильного телефона (Android), компьютер вашего автомобиля, даже некоторые продвинутые модели холодильников - все эти предметы для своего функционирования используют отдельные модули СПО.

Если вы заинтересованы в защите и развитии своего бизнеса, то наступило время пристальнее присмотреться уже сегодня к завтрашним технологиям!
Многие предприятия и государственные органы уже сейчас могли бы экономить колоссальные ресурсы вследствие перевода на СПО своих рабочих мест и серверов, но, к сожалению, в нашей стране пока очень мало специалистов, работающих с альтернативным ПО. Да и стоимость их работы обычно выше стоимости услуг классических системных администраторов Windows. Доверять же процесс перевода на СПО своего бизнеса в руки непрофессионалов не согласится ни один здравомыслящий руководитель, и до недавнего времени это было одной из главных причин малой распространенности СПО в провинции. Но ситуация понемногу меняется.

Поэтому если вы думаете о сокращении расходов на бюджет IT-отдела либо переживаете за защищенность вашей информации и баз данных, хотите значительно снизить затраты и минимизировать риски, то СПО - это однозначно ваш выбор!

    Понятие системного программного обеспечения и прикладного программного обеспечения. Отличие СПО и ППО. Кольцевая схема вычислительной системы.

Систе́мное програ́ммное обеспе́чение - это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой - приложения пользователя.

Прикладное программное обеспечение - программа, предназначенная для выполнения определенных пользовательских задач и рассчитанная на непосредственное взаимодействие с пользователем. В большинстве операционных систем прикладные программы не могут обращаться к ресурсам компьютера напрямую, а взаимодействуют с оборудованием посредством операционной системы.

В отличие от ППО, СПО не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д.

    Основное СПО и СПО сервиса. Примеры.

Основное (базовое) СПО поставляется вместе с компьютером и обеспечивает его работоспособность. В состав Базового СПО входят

    BIOS – «базовая система ввода-вывода» - реализованная в виде микропрограмм часть системного программного обеспечения, которая предназначается для предоставления операционной системе API для доступа к аппаратуре компьютера и подключенным к нему устройствам.

    Операционная система – это комплекс системных и служебных программных средств, обеспечивающих управление работой компьютера и его взаимодействие с пользователем.

    Операционная оболочка – интерпретатор команд ОС, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).

    Сетевые программные средства.

Сервисное СПО – это программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.

Это набор сервисных, дополнительно устанавливаемых программ, которые можно классифицировать по функциональному признаку следующим образом:

    Драйверы – это специальные программы, обеспечивающие взаимодействие ОС с аппаратными устройствами.

    Программы диагностики работоспособности компьютера позволяют проверить конфигурацию ПК, выявить дефекты дисков и предотвратить потерю данных, хранящихся на дисках.

    Антивирусные программы – это программы, для обнаружения, удаления и защиты от компьютерных вирусов.

    Программы обслуживания дисков , обеспечивающие проверку качества поверхности магнитного диска, контроль сохранности файловой системы на логическом и физической уровнях, сжатие дисков, создание страховых копий дисков, резервирование данных на внешних носителях и др.

    Программы архивирования данных , которые обеспечивают процесс сжатия информации в файлах с целью уменьшения объема памяти для её хранения.

    Программы обслуживания сети .

    Понятие операционной системы. Функции ОС.

ОС – совокупность программных средств, обеспечивающая управление аппаратной частью компьютера и прикладными программами, а так же их взаимодействие между собой и пользователем.

Функции :

    Управление работой каждого блока ПК и их взаимодействием.

    Управление выполнением программ.

    Организация хранения информации во внешней памяти.

    Взаимодействие пользователя с компьютером, то есть поддержка интерфейса пользователя.

    Обзор современных ОС. Классификация.

Операционные системы различаются особенностями реализации алгоритмов управления ресурсами компьютера, областями использования.

По способу управления различают ОС:

    Неграфические ОС (командные) предполагают ввод пользователем команд с клавиатуры в поле командной строки. (MS DOS)

    Графические ОС (объектно-ориентированные) где весь экран доступен для управления, основное средство управления - мышь. (Windows)

По числу одновременно выполняемых задач ОС делятся на:

    Однозадачные - способны выполнять в одно и то же время не более одной задачи. (MS DOS)

    Многозадачные - позволяют запустить одновременно несколько программ, которые будут работать параллельно. (Windows, OS/2, UNIX)

По числу одновременно работающих пользователей на ЭВМ ОС делятся на:

    Однопользовательские – предназначенные для обслуживания одного клиента. (MS DOS)

    Многопользовательские – рассчитаны на работу с группой пользователей одновременно (Windows, UNIX). В многопользовательских ОС каждый пользователь настраивает для себя интерфейс пользователя, т.е. может создать собственные наборы ярлыков, группы программ, задать индивидуальную цветовую схему, переместить в удобное место панель задач и др. В многопользовательских ОС существуют средства защиты информации каждого пользователя от несанкционированного доступа других пользователей.

    Понятие ресурса вычислительной системы. Виды ресурсов ВС.

Ресурс – всякий объект, который может распределяться внутри системы.

Вычислительная система (ВС) – это взаимосвязанная совокупность аппаратных средств вычислительной техники и программного обеспечения, предназначенная для обработки информации.

Вычислительная система обладает четырьмя ресурсами:

    Информация (данные и программы).

    Процессор.

  1. Внешние устройства.

    Функции управления ресурсами.

Функции управления:

    Отслеживание состояния.

    Решение о выделении ресурса.

    Выделение ресурса.

    Освобождение ресурса.

    Понятие процесса. Управление процессами. Способы диспетчеризации процессов.

Процесс – часть задания, которая выполняется на отдельном устройстве.

Существуют 2 вида процессов:

    Процессы вычислений – быстрые процессы, развиваются на процессоре.

    Процессы ввода-вывода – медленные процессы, развиваются на внешних устройствах.

Функции управления :

1. Отслеживание состояния занятости процессора каким-либо процессом (какое время и в каком режиме);

2. Решение о выделении времени процессора какому-либо процессу на основе какой-либо стратегии;

3. Выделение процессорного времени;

4. Освобождение процессора от процесса.

Диспетчеризация – задача динамического кратковременного планирования (тактика).

Способы (диспетчеризации): обычно создаются очереди процессов:

    FCFS – прямая очередь.

2) SJN – Для каждого задания должны быть определены потребности во времени процессора. Только одна очередь – очередь процессов, готовых к выполнению, т.е. те задания, которые были заблокированы по вв/выв, снова помещаются в очередь наравне с новыми.

3) SRT -следующее задание требует меньше времени.

Здесь используется разница между временем, требуемым и временем уже полученным. Если используется однопользовательская система, но с мультипрограммированием, желательно, чтобы фоновые задания получали меньше времени, чем активные.

    RR - карусель с квантами. Существует одна очередь, если все задания имеют одинаковый приоритет. Если приоритет разный, то будет организация нескольких очередей.

    Управление памятью.

Существует 7 основных стратегий распределения ОП:

    Одиночное распределение

Идея: вся доступная память выделяется одному заданию (процессу).

Область, не занятая ОС будет выделена заданию пользователя; если объем доступной памяти больше объема задания, то появится фрагмент.

    Распределение разделами

Идея: Разделить область доступных адресов ОП на куски – разделы. Каждый раздел содержит адресное пространство только одного задания целиком.

Различают статическое и динамическое распределение.

Статическое – выделяется раздел, а потом поступает задание.

Динамическое – сначала поступает задание, а потом выделяется раздел.

    Выделение перемещаемыми разделами

Идея: Выделять для выполнения задания разделы и перемещать их для того, чтобы освободить требуемый объем ОП и получить смежное пространство адресов для размещения очередного задания.

    Страничное выделение

Идея: Разбить адресное пространство задания и физической ОП на куски одинакового постоянного размера, которые называются страницами и блоками соответственно.

    Страничное выделение по запросу

Идея: Размещать в ОП только те страницы, которые необходимы в данный момент, а все остальные подгружать в ОП из внешней памяти по запросу.

    Сегментное распределение

Идея: Разбить адресное пространство задания на логически законченные куски переменного размера, называемые сегментами. ОП будет выделяться под сегмент.

Преимущества

Недостатки

1. Отсутствие фрагментации

1. Возможно явление «пробуксовки»

2. Реализация ВП, но сегмент должен загружаться целиком

2. Существует ограничение на размер сегмента (он должен быть меньше доступной ОП)

3. Совместное использование сегментов

5. Динамическое расширение сегментов

6. Управляемый доступ к сегменту

    Странично-сегментное распределение

Идея: Адресное пространство задания разбивается на логически законченные сегменты, а сегменты разбиваются на куски фиксированного размера – страницы. Страницы получают блоки физической памяти.

    Устройства. Виды устройств. Драйверы устройств.

Устройство - искусственный объект, имеющий внутреннюю структуру, созданный для выполнения определённых функций.

Устройства ввода: клавиатура, мышь, микрофоны, сканеры, графические планшеты.

Устройства вывода: мониторы, колонки, принтеры, плоттеры, виртуальные манипуляторы.

Драйвер устройства – программа ОС для управления работой периферийных устройств: дисководами, дисплеем, клавиатурой, мышью, принтером.

Функции драйвера устройств:

    Прием и обработка запроса, который поступает к данному периферийному устройству.

    Преобразование запроса о необходимости связи с этим устройством в серию команд управления им, с учетом всех деталей конструкции и особенностей его работы.

    Обработка сигнала прерывания, который поступает от соответствующего этому драйверу периферийного устройства.

    Понятие виртуальности. Понятие логического диска.

Виртуальное устройство – моделирование одного физического устройства в несколько логических.

Достоинства и недостатки:

+: можно использовать этот режим для устройств, не работающих по схеме разделения, количество обслуживаемых процессов не ограничено

–: дополнительная схема управления.

Логический диск или том - часть долговременной памяти компьютера, рассматриваемая как единое целое для удобства работы. Термин «логический диск» используется в противоположность «физическому диску», под которым рассматривается память одного конкретного дискового носителя.

Для операционной системы не имеет значения, где располагаются данные - на лазерном диске, в разделе жёсткого диска, или во флеш-памяти. Для унификации представляемых участков долговременной памяти вводится понятие логического диска.

В таблице определяется, в каком каталоге (папке) находится тот или иной файл. Благодаря этому при переносе файла из одной папки в другую в пределах одного тома, не осуществляется перенос данных из одной части физического диска на другую, а просто меняется запись в таблице размещения файлов. Если же файл переносится с одного логического диска на другой (даже если оба логических диска расположены на одном физическом диске), обязательно будет происходить физический перенос данных (копирование с дальнейшим удалением оригинала в случае успешного завершения).

    Понятие файловой системы. Способы реализации (примеры).

Файловая система – набор соглашений, определяющих организацию данных на носителе информации.

Реализация файловой системы связана с такими вопросами, как поддержка понятия логического блока диска, связывания имени файла и блоков его данных, проблемами разделения файлов и проблемами управления дискового пространства.

Наиболее распространенные способы выделения дискового пространства: непрерывное выделение, организация связного списка и система с индексными узлами.

Файловая система часто реализуется в виде слоеной модульной структуры. Нижние слои имеют дело с оборудованием, а верхние с символическими именами и логическими свойствами файлов.

Файловая система определяет :

    Как хранятся файлы и каталоги на диске.

    Какие сведения о файлах и каталогах хранятся.

    Как можно узнать, какие участки диска свободны, а какие – нет.

    Формат каталогов и другой служебной информации на диске.

    Трансляторы. Функции. Варианты построения.

Транслятор – это программа, которая переводит входную программу на исходном (входном) языке в эквивалентную ей выходную программу на результирующем (выходном) языке.

Функции:

    Трансляция мнемонических кодов операций в их эквиваленты на машинном языке.

    Присваивание символьным именам соответствующие им машинные адреса.

В качестве входной информации используются исходный текст, написанный на ассемблере, и служебная таблица ассемблера. На выходе получаем объектный код программы.

Варианты построения:

Недостаток – трудно реализовать ссылки вперед. Для реализации таких ссылок необходимо размещать сегмент данных в самом начале программы, то есть сначала определение имен, а затем их использование. Существует два типа таких ассемблеров:

а) Ассемблер записывает объектную программу непосредственно в оперативную память для немедленного использования.

б) Ассемблер создает объектную программу, которая будет использоваться позднее.

    Компиляторы. Функции. Отличие от трансляторов. Варианты построения.

Компилятор – программа, преобразующая исходный текст на языке высокого уровня в объектный код.

Функции :

    Просмотр исходного текста, распознавание и классификация различных лексем (лексический анализ).

    Разбор каждого предложения как некоторой конструкции языка (синтаксический анализ).

    Генерация объектного кода.

Компиляция – поиск соответствия конструкций входного потока структурам, определенным грамматикой и генерация соответствующего кода для каждого предложения.

Отличие от трансляторов – в качестве конструкций языка используются более сложные составные конструкции, описанные на множестве простых конструкций.