Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MOS-labs-3.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
655.36 Кб
Скачать

Лабораторна робота № 2. Компіляція програм Короткі теоретичні відомості

Мінімальний набір дій, необхідний для демонстрації прикладу програми для QNX:

1. Набрати текст програми.

2. Відкомпілювати програму.

3. Запустити програму на виконання.

Текст програми можна набрати у вбудованому редакторі, або взяти готовий текстовий файл.

Для подальших дій бажано зробити поточним каталог, де знаходиться текст програми. Для цього можна скористатися командами # cd <ім'я дерикторії> (- змінити поточну директорію на вказану) або # cd .. (- піднятися на рівень вище). Щоб переглянути вміст директорії, можна скористатися командою # ls.

Щоб відкомпілювати програму, можна скористатися вбудованим компілятором - GCC. Для цього в командному рядку необхідно написати # gcc <ім'я файлу>. Якщо в тексті програми є помилки, то вони будуть виведені на екран. Якщо помилок немає, буде створений файл a.out - це і є виконуваний файл програми. Щоб його запустити на виконання, в командному рядку необхідно написати # `pwd` /a.out.

Текст програми

#include <stdio.h>

int main (void)

{ printf ("Hello World \ n");

return (1);

}

Послідовність дій

Створюємо текстовий файл програми.

Компілюємо його і запускаємо на виконання.

Результати

# cd ..

# ls

. .lastlogin .ph a.out lab2 lab4

.. .profile lab1 lab3 lab5

# cd lab1

# ls

. .. myfirst.c

# gcc myfirst.c

# ls

. .. a.out myfirst.c

# `pwd`/a.out

Hello World

#

Завдання до виконання лабораторної роботи

1. Виконати приклад, описаний в теоретичній частині завдання.

2. Створити свій власний проект мовою С в середовищі QNX.

Лабораторна робота № 3 «Процеси та потоки»

Короткі теоретичні відомості

Стуктурна організація ОСРЧ QNX

Архітектура мікроядра системи QNX

QNX складається з невеликого ядра, координуючого роботу взаємодіючих процесів. Як показано на малюнку, структура більше нагадує не ієрархію, а команду, в якій кілька гравців одного рівня взаємодіють між собою і зі своїм "захисником" - ядром.

Рис. 1. Мікроядро системи QNX коиординує роботу системних менеджерів

Справжнє ядро

Ядро – це "серце" будь-якої операційної системи. В деяких операційних системах на нього покладається настільки багато функцій, що ядро заміняє всю операційну систему!

В QNX же мікроядро – це справжнє ядро. По-перше, як і слід ядру реального часу, ядро QNX має дуже малий розмір. По-друге, воно виконує дві найважливіші функції:

  • передача повідомлень - мікроядро забезпечує маршрутизацію всіх повідомлень між всіма процесами в системі;

  • диспетчеризація – планувальник – це частина міикроядра, і він отримує управління кожного разу, коли процес змінює свій стан в результаті отримання повідомлення або переривання.

На відміну від всіх інших процесів, ядро ніколи не отримує управління в результаті диспетчеризації. Код, що входить до складу ядра, виконується лише в результаті прямих викликів з процесу або апаратного переривання.

Системні процеси

Всі послуги операційної системи, виключаючи ті, що виконуються ядром, в QNX надаються через стандартні процеси. Типова конфігурація QNX має наступні системні процеси:

  • Менеджер процесів (Proc);

  • Менеджер файлової системи (Fsys);

  • Менеджер пристроїв (Dev);

  • Менеджер мережі (Net).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]