Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Понятие системного программного обеспечения. Место системного программного обеспечения в структуре Вычислительной системы




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

Структура вычислительной системы:

  1. Аппаратура
  2. Управление физическими устройствами
  3. Управление логическими устройствами
  4. Интерфейсные оболочки и операционные среды
  5. Системы программирования
  6. Прикладные программы

Подробно:

2. Выполняет программные, которые ориентированы на взаимодействие с аппаратным уровнем, понимания языка аппаратных средств

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

4. Для удобства взаимодействия с ОС могут использоваться дополнительный инте5рфейсные оболочки. Назначение: расширить возможности по управлению ОС или изменить встроенную систему возможностей

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

6. Прикладные ПО:

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

Вычислительная система — это программно-аппаратный комплекс, который предоставляет услуги пользователю.

Структуру вычислительной системы можно представить в виде пирамиды:

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

Ресурсы второго типа называются физическими ресурсами аппаратуры.

Управление физическими устройствами.

Управление физическими устройствами осуществляют программы, ориентированные на аппаратуру, взаимодействующие с аппаратными структурами, знающие "язык" аппаратуры.

Управление логическими устройствами.

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

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

Система программирования — это комплекс программ для поддержки всего технологического цикла разработки программного обеспечения.

Прикладное программное обеспечение.

Прикладное программное обеспечение необходимо для решения задач из конкретных областей.

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


 

110. Операционные системы и операционные среды. Структура и основные функции ОС. Базовые понятия: ядро, процесс, ресурс, системные вызовы. Структурная организация ОС на примере ОС UNIX.

Любая ОС оперирует некоторыми сущностями, которые во многом характеризуют свойства ОС. К таким сущностям могут относиться понятия файла, процесса, объекта и т.д. Если мы посмотрим на ОС Unix, то там такой сущностью является в первую очередь понятие файла, во вторую очередь — понятие процесса.

Итак, процесс — это программа, имеющая права собственности на ресурсы.

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

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

Основные функции ОС:

1. Управление использованием времени ЦП.

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

ОС можно разделить на три класса по выбору алгоритма активного процесса:

1. Пакетные ОС (IBM 360, ЕС ЭВМ)

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

Процесс владеет ЦП до тех пор, пока не произойдет одно из следующих условий: процесс завершился, происходит обращение к внешнему устройству, процесс зациклился

2. Система разделения времени (UNIX, WIN) добавляется еще одно условие: квант времени, выделенный процессу истек

3. Системы реального времени

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

Диспетчеризация:

1. Для пакетных систем:

ü FCFS (first come-first served). Блокировка становится перед теми кто новые. При увлечении загрузки вычислительной системы (количество одновременно запущенных задач) время ожидания в очереди увеличивается, причем короткие задания должны ждать в очереди столько, сколько должны.

ü SJN (shortest job next). Следующим будет выполняться самое короткое задание. Это дисциплина предполагает, что существует только одна очередь заданий. Shortest remaining time – самое короткое время до завершения задания. Они относятся к классу систем, которые используют невытесняющую многозадачность, т.е. при использовании этих дисциплин не требуется вмешательство по вычислениям и перераспределениям времени ЦП.

Для систем с разделением времени используются дисциплины с диспетчеризацией:

round robin (RR) круговая, по окончании кванта времени задача снимается с ЦП и становится в очередь на выполнение (в конец готовх задач)

При невытесняющей многозадачности механизм распределения времени ЦП берет на себя диспетчер задач

2. Управление подкачкой и буфером ввода.

В реальных ОС буфер подкачки и буфер ввода процесса совмещены. Буферизация - это одна из основных функций ОС. В системе существует buffer pool. Ядро оптимизирует работу системы с помощью снижения количества обращений к ВЗУ путем буферизации большинства операций вводы/вывода в buffer pool. По аналогии с кэш-буфером ОЗУ любая современная ОС имеет программные кэш-буфера. За счет буферизации запроса уменьшается время доступа к внешним ЗУ и скорость доступа к ОП. Буферный пул представляет собой набор буферов, которые используются для кэширования блоков файлов к ОЗУ. Это всё позволяет оптимизировать работу ОС и поэтому нельзя отключать просто так питание компьютера. Буферизация влияет на эффективность работы системы.

3. Управление разделяемыми ресурсами.

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

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

Основные понятие ОС Unix:

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

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

1. Образ памяти

2. Значение общих регистров (РОН)

3. Состояние открытых файлов

4. Текущий каталог файлов

Образ процессы размещаются в основной памяти. В системе поддержки новый интерфейс: shell.

Ядро – программа, код которой содержит:

Первая часть – обеспечивающая разделение ЦП и ОЗУ между конкурирующими процессами

Вторая часть – обеспечивающая обработку всех системных вызовов.

Третья часть – для управления периферическими устройствами

Системные вызовы и аппаратные прерывания – единственные способы взаимодействия ядра с внешним миром. Обрабатывающие способности ядра доступны через интерфейс системных вызовов. Периферия связана с ядром через аппаратные прерывания..

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

Open(), Close(), Read() write() – ввод/вывод;

Kill() – послать сигнал, pipe() – создать конвейер, socket() – создать сокет - взаимодействие процессов.

Fork() – создать процесс, exec() – выполнить замену кода, exit() – завершить процесс, wait() – ждать завершения процесса - управление процессами.

Файловая система Unix, это иерархическая, многопользовательская файловая система. Ее можно представить в виде дерева:

В корне дерева находится “корневой каталог”, узлами, отличными от листьев дерева являются каталоги. Листьями могут являться: файлы (в традиционном понимании — именованные наборы данных), пустые каталоги (каталоги, с которыми не ассоциировано ни одного файла). В системе определено понятие имени файла — это имя, которое ассоциировано с набором данных в рамках каталога, которому принадлежит этот файл. Например, каталогу D1 принадлежат файлы: N1, N2, N3; каталогу D0 принадлежат: N4, N5 и D1, последний тоже является файлом, но специальный. Итак, имя — это имя, которое ассоциировано снабором данных в контексте принадлежности каталогу. Кроме того, есть понятие полного имени. Полное имя — это уникальный путь от корня файловой системы до конкретного файла. Первый символ имени — это корневой каталог “/”, а далее через наклонную черту перечислены все каталоги, пока не дойдет до нужного файла. Например, файл N3 имеет полное имя “/D0/D1/N3”. За счет того, что такой путь для каждого файла в любом каталоге уникален, то мы можем именовать одинаковыми именами файлы в различных каталогах. Например, имя N4 присутствует в каталогах D0 и D4, но это разные файлы, так как полные пути к ним различны (/D4/N4, /D0/N4).

Рассмотрим подробнее Индексные Дескрипторы. ИД — это объект Unix, который ставится во взаимнооднозначное соответствие с содержимым файла. То есть для каждого ИД существует только одно содержимое и наоборот, за исключением лишь той ситуации, когда файл ассоциирован с каким-либо внешним устройством. Напомним содержимое ИД:поле, определяющее тип файла (каталоги и все остальные файлы); код привилегии/защиты; количество ссылок к данному ИД из всевозможных каталогов файловой системы; (нулевое значение означает свободу ИД) длина файла в байтах; даты и времена (время последней записи, дата создания и т.д.); поле адресации блоков файла.


111. Понятие системы программирования, её состав.

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




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 622; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.024 сек.