Петербургский Университет Телекомунникаций им проф. Бонч-Бруевича курс лекций

Вид материалаКурс лекций

Содержание


Обращение к ОС
2.6. Основные утилиты ОС UNIX
5. ОС Helios.
5.2.Ядро ОС Helios
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11

Обращение к ОС








Подсистема управления функцией (ПУФ)

Подсистема управления процессами (ПУП)

Взаимодействие процессов

Планирование

Распределение памяти

Буфер памяти

Символ блок

Драйверы устройств

Аппаратный контроль

Технические средства





2.5.1. ПУФ:
  1. управление функцией
  2. размещение записей функции
  3. управление свободным правом
  4. управление доступом к функции
  5. поиск доступа в функции


2.5.2. ПУП:
  • синхронизация процессов
  • взаимодействие процессов
  • распределение памяти
  • планирование выполнения процессов



Ядра




Распределение системных ресурсов


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

Управление фунгкцией системы

Управление доступом к компьютеру

2.6. Основные утилиты ОС UNIX

  1. cat – вывод функции на экран
  2. chmode – изменение атрибутов записи файла
  3. сhown, chgrp – изменение влад-цы, группы файла
  4. dd – копирование и преобразование файла
  5. df – сообщение о свободных и занятых блоков
  6. dircmp – сравнение каталогов и файлов
  7. du – вывод информации о размерах файла
  8. fdisk – создание и модифицирование табличных разделов на диске
  9. file – определение типа файла
  10. format – форматирование
  11. mkfifo – создание fifo файла
  12. rename – изменение имени файла
  13. touch – обновление времени доступа и модифицирование файла
  14. tail – вывести остаток файла
  15. cmp – побайтовое сравнение файлов
  16. comm – сравнение файлов построчно
  17. grep – поиск по
  18. unix 2dos, dos 2unix – перекодировка файла из одной системы в другую
  19. cnv – среда
  20. exit – выход
  21. kill – завершение процесса
  22. nice – выполняется процесс с указанным приоритетом

renice – изменение приоритета процесса
  1. set – установка режимов
  2. sleep – задержка выполнения
  3. wait – ожидание завершения процесса
  4. find – поиск файла
  5. hd – вывод файла в заданном формате
  6. head – просмотр строк файла
  7. host – вывод и установка имени текущего компьютера
  8. finger – вывод информации о локальных и удаленных пользователях
  9. id – вывод идентифицированных пользователей и групп
  10. logname – имя, которое мы загрузили
  11. who – список, кто сейчас работает в системе
  12. ping – посылка эхо – запроса и сетевому посту
  13. pwd – напечатать рабочую директорию; вывод имени рабочего каталога
  14. cd – изменение директории
  15. quota – показывает лимит дискового производства для пользователя
  16. tty – вывод имени терминаля
  17. uname – вывод имени системы
  18. - библиотекарь
  19. ld – компановщик объектных файлов
  20. as – assembler
  21. ec – компилятор языка СИ



3.Инструментальные средства программирования

  1. Компилятор - СС
  2. Отладчик - debug
  3. Утилита - make
  4. Поддержка версий исходных текстов - SCCS или RCS



3.1. Компилятор

СС



.C

.h

PP

O

A

Link

a.out





Lib



3.1.1. Стадии компиляции:
  1. Обработка препроцессором (РР)
  2. Трансляции (С - as)
  3. Ассемблер (А) - создает объектный модуль as - o
  4. Редактор связей работает:
  • связывает объектные модули (модуль) в загрузочный модуль
  • разрешает все внешние ссылки
  • подключение библиотечных модулей


пример:

#include

main ( )

{

printf ("Hello, world\n");

}


OC hello.c


Ls

a.out - Hello, world

CC - o hello hello.c

Hello -


X - Window

Оконные системы для UNIX

Cостав:


server




Client 1 … . …. Client 4


Как HW эта система состоит из:
  • сервера
  • клиента
  • сетевого обеспечения


Как SW - программный сервер
  • программный клиент
  • х - протокол - позволяет обмениваться сообщениями между сервером и клиентом


Особенности:
  1. Сетевая система
  2. Графическая система
  3. Многоплаторная система
  4. Программирование по языку "Си"
  5. Нет встроенного оконного менеджера


Оконный менеджер - отдельная программа, запускающаяся вместе с X-Window


Оконные менеджеры:
  1. twm - table (том) W.m
  2. mwm - motif w.m - коммерческий
  3. olwm - open look w.m
  4. fvwm - Free virtual w.m
  5. fvwm 95 - похоже на Win 95


Последняя версия X-Window: X11R6 "-" - громоздская система


Nano - x

Для встраиваемых систем (Window CE - для ноутбуков)


Основные возможности для программирования:
  • имеется библиотека Xlib, она обеспечивает низко уровненный интерфейс
  • вывод на экран
  • обработка клавиатуры


в состав X-Window входят:
  • библиотека lib x.a
  • хедеры - .h
  • набор исполнительных файлов *.bin


XT - Xtoolhit Intrinsies - набор дополнительных возможностей

Widoed - класс, описывающий окно соответствующими программами функции находящихся в файле libxt.a


Иеррархия классов о-в XE

object



Rect obj



core


composite







schell

constraint





Override schell

WM schell

Top level schell

Transcent schell

Application schell

Более высоко уровненные библиотеки:
  • Athena
  • Athena 3d
  • Motif


Редакторы: xedit, xemous, пакет для UNIX: shar office


Прыр.пакет XV_pc, он включает в себя 2 основных файла:
  • X viev.o - (obj)
  • Mouse.o - (obj)


Для создания графических файлов:
  • дизайнер - xmake.exe
  • примеры



Window 1


ОС РВ (Операционные системы реального времени).


ОС Реального времени

Основные требования:
  • временные рамки
  • параллельная обработка



  1. поддержка вытекающей много поточности и много процессорных архитектур
  2. поддержка нескольких уровней прерывания и вытеснение обработчика прерываний
  3. наличие приоритетов у Нитей (thread) (потоков)
  4. синхронизация между нитями и взаимодействием процессов
  5. предсказуемость ОС
  6. работа в огромных ресурсах
  7. стоимость достаточно невысокая
  8. обеспечение API и сервера



4. ОС QNX.


Software, 1982.

4.1. Достоинства:
  • первая ОС с мини-ядром (8-16 Кбайт);
  • система мягкого РВ (СМРВ).

Если система успевает отреагировать за некоторое характерное время , то это – система РВ.

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

, где n - число событий.

Если характерное время определяется как средне арифметическое указанного набора интервалов:

,

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


QNX:


АУФ

АУП
  • администраторы (системы управления памятью, файлами)


аппаратные средства








ядро

СА

8-18 Кбайт









АС

Ядро содержит:
  1. средство управления АС;
  2. средства коммуникации с администраторами;
  • создать порт связи;
  • удалить порт связи;
  • читать порт связи;
  • писать в порт связи.


4.2. Преимущества:


Мультипрограммирование – псевдопараллельное программирование, которое применимо также и на одном процессоре.

Параллельное программирование (мультипроцессорная обработка или распределенная обработка информации) – информация обрабатывается на нескольких процессорах.

  1. параллельная обработка;



ЦП_1


Теоретически, производительность увеличивается в N раз, но на практике получается меньше


ЦП_2

Поток задач






ЦП_N

Рис. 1




  1. конвейерная обработка;


Пусть необходимо решение .


ЦП

ЦП, который занимается распределением задач









…………...………...






Т.е. каждый из конвейеров (ЦП-ов) выполняет свою задачу.


Производительность  (k>1).

  1. смешанная обработка;


Т.е. N последовательно включенных цепей (рис. 1), каждая из которых выполняет свой комплекс задач.


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


Трудности, возникающие при параллельном программировании:
  1. определение перечня задач (фрагментов задач), которые необходимо выполнять параллельно;


Эта трудность связана с:
  • общей сложностью решения задачи;
  • Фон-Неймановской структурой вычислительной системы (из-за последовательной обработки информации).



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


Модуль Т-40 для построения мультипроцессорных систем:










ЭВМ


Т-40












Т-40 состоит из 2-ух частей:

Системная плата











Векторные платы

Системная плата:
  • схема транспьютера;
  • 1 Мбайт памяти (для организации связи);
  • интерфейс с HOST-ЭВМ;
  • интерфейс для работы с дисковой подсистемой.


Векторная плата:
  • схема транспьютера;
  • адаптер каналов;
  • 1 Мбайт памяти (для организации памяти);
  • АЛУ и статическое ОЗУ.

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

Такая система занимается следующими 2-умя задачами:
  • системная сеть (на уровне ОС);
  • гиперсвязь.


Для поддержания мультипроцессорного программирования, необходимо:

а) язык параллельного программирования;

б) поддержка языка на аппаратном уровне.


ОССАМ-2 – язык параллельного программирования, который используется на HOST-ЭВМ. Использует транслятор 3L.


Поддержка 3L распространяется также на:
  • p
    (все они совместимы на уровне объектных модулей с ОССАМ-2)
    arallel C;
  • parallel Pascal;
  • parallel Fortran.


Далее, есть еще язык параллельного программирования – Modula-2.


Есть еще язык параллельного программирования Modula-T, предназначенный для сигнализации процессов (т.е. для процессоров с адекватными каналами).


5. ОС Helios.


Дата создания – 1988 год. Perihelion Software Limited. England.


5.1. Основные цели:
  1. поддержка параллельного программирования;
  2. базирование на пользовательских и системных серверах.


Пользовательские серверы решают задачи пользователя. Системные серверы решают системные задачи.


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


5.2.Ядро ОС Helios:

Прикладное ПО


Библиотеки компилятора





POSIX-библиотека



ядро


диспетчер


загрузчик






Системная библиотека

Библиотеки сервера



Библиотека сервера



Ядро



Аппаратные средства




  1. ОС для супер-ЭВМ.




  1. NSK (Non-Stop Kernel);



1 зад.

Коп. 1

Коп. 2

Коп. N-1

(до 4000 ЦП)





2 зад.

3 зад.

N зад.


……...




Если один из ЦП выходит из строя, тогда осуществляется переход к следующему (рабочему) ЦП с копией остановленной задачи.

  1. К
    администраторы
    орпоративные сети;



match

а) кодирование;

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








Мини-ядро



Аппаратные средства