Разделы презентаций


Операционные системы

Содержание

Однозадачный режим в MS DOSОднозадачный режимМонопольное использование ресурсов компьютераВозможно прямое обращение к аппаратуреДва вида исполняемых файлов COM – все сегментные регистры равны, объем программы 64KEXE – сегментные регистры содержат разные значения,

Слайды и текст этой презентации

Слайд 1Операционные системы
Лекция 2
Процессы и задачи

Операционные системыЛекция 2Процессы и задачи

Слайд 2Однозадачный режим в MS DOS
Однозадачный режим
Монопольное использование ресурсов компьютера
Возможно прямое

обращение к аппаратуре
Два вида исполняемых файлов
COM – все сегментные

регистры равны, объем программы 64K
EXE – сегментные регистры содержат разные значения, объем памяти ограничен 640K
Однозадачный режим в MS DOSОднозадачный режимМонопольное использование ресурсов компьютераВозможно прямое обращение к аппаратуреДва вида исполняемых файлов COM

Слайд 3Система прерываний

Система прерываний

Слайд 4Аппаратные прерывания

Аппаратные прерывания

Слайд 5Прерывания

Прерывания

Слайд 6Обработка прерывания в контексте текущей задачи

Обработка прерывания в контексте текущей задачи

Слайд 7Обработка прерывания с переключением на новую задачу

Обработка прерывания с переключением на новую задачу

Слайд 8Блок состояния задачи TSS

Блок состояния задачи TSS

Слайд 9Борьба с нехваткой памяти
Оверлейные программы



Использование EMS памяти
Использование XMS памяти
Использование DOS

Extender’ов (расширителей) DOS Extender – мини ОС, запускаемая до старта основной

программы. Как правило, реализует только функции управления памятью, остальные задачи перепоручаются DOS. Пример 16-разрядного DOS-расширителя – RTM.EXE – реализует DPMI (DOS Protected Mode Interface), использовался в компиляторе Borland Pascal. Пример 32-разрядных расширителей – GO32, DOS4GW. Многие игровые программы (DOOM) использовали их. Системы Windows сами могут выступать в роли расширителей DOS.
Борьба с нехваткой памятиОверлейные программыИспользование EMS памятиИспользование XMS памятиИспользование DOS Extender’ов (расширителей) DOS Extender – мини ОС,

Слайд 10Программный интерфейс DOS-программ
Mov AH,01h ; Поместить номер функции 21-го прерывания
Int

21h ; Выполнить 21-е прерывание
Mov BL,AL ; Поместить код

прочитанного символа в регистр BL
Программный интерфейс DOS-программMov AH,01h ; Поместить номер функции 21-го прерыванияInt 21h  ; Выполнить 21-е прерываниеMov BL,AL

Слайд 11Структура оконных приложений
int WINAPI WinMain( … )


{ HWND hWnd;

// дескриптор окна
WNDCLASS WndClass; // струтура класса окна
MSG Msg; // структура "сообщение"

/* заполнение класса окна */
WndClass.style = CS_HREDRAW | CS_VREDRAW; // стиль окна
WndClass.lpfnWndProc = ExamWndProc; // указатель на оконную функцию!

/* регистрация класса окна */
if (!RegisterClass(&WndClass)) return 1; // завершаем приложение при неудаче
/* создание окна */
hWnd = CreateWindow(szClassName, // имя класса окна
"Example N1", // заголовок окна (имя задачи)
...
if (!hWnd) { return 2; }// завершаем приложение, если не удалось создать окно
ShowWindow(hWnd,nCmdShow); // отображаем окно (только системные части)
UpdateWindow(hWnd); // посылаем себе сообщение WM_PAINT минуя очередь

/* цикл обработки сообщений завершается по сообщению WM_QUIT */
while (GetMessage(&Msg, NULL, 0,0))
{ DispatchMessage(&Msg); // диспетчеризация сообщений
}
return Msg.wParam; // вернуть код возврата, по сообщению WM_QUIT
}
Структура оконных приложенийint WINAPI WinMain( … )      { HWND hWnd;

Слайд 12Оконная функция
LRESULT CALLBACK ExamWndProc
( HWND hWnd, UINT

Message, WPARAM wParam, LPARAM lParam )
{ …
switch

(Message)
{
case WM_CREATE :
hPen = CreatePen(PS_SOLID,5,RGB(0,0,200)); // создаем карандаш
return 0; // возвращаем 0, если мы обрабатывали сообщение

case WM_PAINT :
// всегда начинаем рисование с вызова функции BeginPaint
hDC = BeginPaint(hWnd,&PaintStruc); // контекст устройства рисования
GetClientRect(hWnd,&Rect); // определяем размеры окна
SelectObject (hDC,hPen); // выбираем наш кранадаш
MoveTo(hDC,0,0); LineTo(hDC,Rect.right,Rect.bottom);
EndPaint(hWnd,&PaintStruc); // заканчиваем рисование
return 0; // возвращаем 0, если мы обрабатывали сообщение

case WM_DESTROY :
PostQuitMessage(0); // обязательно посылаем себе сообщение WM_QUIT
return 0; // с кодом возврата, в нашем случае 0

default :
// ВСЕ НЕОБРАТАВЫАЕМЫЕ сообщения передаем следующей функции:
return DefWindowProc(hWnd,Message,wParam,lParam);
}
}
Оконная функцияLRESULT CALLBACK ExamWndProc   ( HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam ) {

Слайд 13Механизм сообщений
HANDLE hWnd
int nMsg
int wParam
int lParam
TIME time
POINT pt

Механизм сообщенийHANDLE hWnd int nMsgint wParamint lParamTIME timePOINT pt

Слайд 14Программный интерфейс Windows

Программный интерфейс Windows

Слайд 15Виды многозадачности
Однозадачность (с элементами многозадачности в виде резидентных программ) –

DOS
Согласованная многозадачность (добровольная) – Win16
Вытесняющая многозадачность (принудительная) – OS/2, UNIX,

Win32

Наличие системы приоритетов
Динамическое квантование
Виды многозадачностиОднозадачность (с элементами многозадачности в виде резидентных программ) – DOSСогласованная многозадачность (добровольная) – Win16Вытесняющая многозадачность (принудительная)

Слайд 16Архитектура ОС Windows 3.1

Архитектура ОС Windows 3.1

Слайд 17Архитектура ОС Windows 95/98/Me

Архитектура ОС Windows 95/98/Me

Слайд 18Архитектура ОС Windows NT/2000/XP

Архитектура ОС Windows NT/2000/XP

Слайд 19Квантование времени
В Win32 любой процесс (программа) может состоять из нескольких

задач (нитей). Каждая из задач может иметь свой приоритет. Каждый

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

Слайд 20Классы приоритетов

Классы приоритетов

Слайд 21Граф состояния задачи

Граф состояния задачи

Слайд 22Мониторинг использования режимов ОС

Мониторинг использования режимов ОС

Слайд 23Синхронизация задач
Критическая секция – в один момент может выполняться только

одна критическая секция с заданным идентификатором. Две нити не могут

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

Слайд 24Синхронизация задач

Синхронизация задач

Слайд 25Ожидание завершения задачи

Ожидание завершения задачи

Слайд 26Типы задач в Win32
GUI-приложение. Оконное приложение, которое может получать сообщения.

Окно может быть и невидимым, но все равно, оно может

получать сообщения.
Консольное приложение – не создает графического окна и не получает сообщения. Использует консольный ввод/вывод в текстовом режиме, может использовать мышь. Может обращаться ко многим функциям Win32, в том числе и связанным с многозадачностью. Консольное приложение – совсем не тоже самое, что приложение MS DOS. В Win16 консольных приложений нет.
Сервисные приложения – особый вид консольных приложений. Организуют специальную функцию, которая может обрабатывать команды, посылаемые приложением, использующий данный сервис. Многие драйверы являются сервисными процессами.
Драйверы – приложения, создающие интерфейс к устройствам. Могут быть сервисами в сочетании с DLL-библиотеками.
Типы задач в Win32GUI-приложение. Оконное приложение, которое может получать сообщения. Окно может быть и невидимым, но все

Слайд 27Реализация множественных прикладных сред в Windows NT

Реализация множественных прикладных сред в Windows NT

Слайд 28Статическая компоновка

Статическая компоновка

Слайд 29Динамическая компоновка

Динамическая компоновка

Слайд 30Динамически подключаемые библиотеки
Библиотека функций, загружаемая по требованию, либо автоматически,

либо программа явным образом загружает ее с помощью функции LoadLibrary.
В

случае автоматической загрузки ПЕРЕД выполнением этой программы Windows будет искать библиотеку в следующем порядке
в каталоге, содержащим исполняемый файл
текущем каталоге процесса
в системном каталоге Windows
каталоге Windows
каталогах, указанных в PATH
Большинство модулей Windows представляет собой DLL, например krnl386.exe, gdi.exe, user.exe, ole2.dll, commdlg.dll. Формат DLL имеют все программы, шрифты и прочие ресурсы.
В каталоге WINNT\SYSTEM32 может находиться более 1000 dll.
Динамически подключаемые библиотеки Библиотека функций, загружаемая по требованию, либо автоматически, либо программа явным образом загружает ее с

Слайд 31Явное использование DLL
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{ HINSTANCE hDll; // дескриптор библиотеки

FARPROC MyProcAddr; // адрес функции библиотеки
if (hDll = LoadLibrary("dll.dll"))//ненулевое

значение в случае успеха
{ if (MyProcAddr = GetProcAddress(hDll,(LPSTR) 1 ))
// 1 - номер экспортируемой функции
(MyProcAddr)(); // вызов DLL, параметры - проверяйте сами!!!
else MessageBox(NULL,"Не смогла найти функцию в DLL",
"Error in DLL-loading",MB_OK);
FreeLibrary(hDll); // освобождение библиотеки
}
else MessageBox(NULL,"Не смогла найти DLL","Error in DLL-loading",MB_OK);
return 0; }
Явное использование DLLint WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ HINSTANCE hDll; // дескриптор библиотеки FARPROC MyProcAddr; // адрес функции библиотеки if

Слайд 32Службы в Win32

Службы в Win32

Слайд 33Обмен данных между задачами
Обмен через Clipboard – инициируется пользователем.
DDE –

«традиционный» способ обмена данными, появился еще в 16-разрядных версиях Windows.

Пример: приложение создает иконку на рабочем столе или передает данные в Excel таблицу.
OLE ­– более сложный способ обмена данными, в основном связанный с представлением документов. Пример: вставка рисунка, формулы в документ Word. Был реализован еще в Win 3.1
Обмен данными через файлы, отображаемые в память
Передача данных через сообщения.
Передача данных через именованные и анонимные каналы
Передача данных через Mailslot
Через сетевой сокет
Обмен данных между задачамиОбмен через Clipboard – инициируется пользователем.DDE – «традиционный» способ обмена данными, появился еще в

Слайд 34DDE сервер

DDE сервер

Слайд 35DDE сервер

DDE сервер

Слайд 36DDE клиент

DDE клиент

Слайд 37DDE клиент

DDE клиент

Слайд 38Каналы
Каналы Pipes
В среде операционной системы Microsoft Windows NT вам доступно

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

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

Имена каналов
Имена каналов в общем случае имеют следующий вид:
\\ИмяСервера\pipe\ИмяКанала
Если процесс открывает канал, созданный на другой рабочей станции, он должен указать имя сервера. Если же процесс создает канал или открывает канал на своей рабочей станции, вместо имени указывается символ точки:
\\.\pipe\ИмяКанала
В любом случае процесс может создать канал только на той рабочей станции, где он запущен, поэтому при создании канала имя сервера никогда не указывается.
КаналыКаналы PipesВ среде операционной системы Microsoft Windows NT вам доступно такое удобное средство передачи данных между параллельно

Слайд 39Каналы
Каналы передачи данных Mailslot

Каналы Mailslot позволяют выполнять одностороннюю передачу данных

от одного или нескольких клиентов к одному или нескольким серверам.

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

LPSTR lpszMailslotName = "\\\\.\\mailslot\\$MailslotName$";
hMailslot = CreateMailslot(lpszMailslotName, 0,
MAILSLOT_WAIT_FOREVER, NULL);

\\ИмяДомена\mailslot\[Путь]ИмяКанала

Для передачи сообщений одновременно всем рабочим станциям сети первичного домена имя задается следующим образом:
\\*\mailslot\[Путь]ИмяКанала
КаналыКаналы передачи данных MailslotКаналы Mailslot позволяют выполнять одностороннюю передачу данных от одного или нескольких клиентов к одному

Слайд 40Отображение файлов в память

С помощью соответсвующей функции программного интерфейса, приложение

Microsoft Windows NT может выбрать любой фрагмент большого файла для

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

Слайд 41Передача данных через сообщение

Передача данных через сообщение

Слайд 42Передача данных через буфер обмена

Передача данных через буфер обмена

Слайд 43Обмен данными через сетевой сокет

Обмен данными через сетевой сокет

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика