Cw5 8

background image

Ć

wiczenie 5

Pakiet QNX Momentics IDE 4.7

Procesy cd.

Wykonanie polecenia systemowego

Funkcja

system

powoduje uruchomienie interpretera poleceń sh i przekazanie mu do wykonania

łańcucha polecenie. Tym sposobem uruchomione mogą być programy, polecenia systemu lub skryp-
ty.

int system(char*polecenie)

Ć

wiczenie:

Napisać program tworzący nowy proces za pomocą polecenia system. Odpowiednim poleceniem sprawdzić ka-
talog, w którym umieszczane są binaria procesów i jaka jest ich identyfikacja.

Priorytet procesu

Jednym z atrybutów procesu jest jego priorytet. Priorytet można uzyskać za pomocą funkcji:

getprio()

lub

sched_getparam()

a ustawić funkcjami:

setprio()

lub

sched_setparam()

Składnia funkcji getprio i setprio:

int getprio(pid_t pid)

– pobranie priorytetu procesu,

int setprio(pid_t pid, int prio)

– ustawienie priorytetu procesu, funkcja zwraca

poprzedni priorytet lub -1 gdy wystąpi błąd.

Dokładniej, funkcja setprio ustawia priorytet pierwszego wątku procesu – na razie mamy procesy

jednowątkowe.

Dla ustawienia priorytetu można użyć poznanej funkcji getpid lub ustawić 0 dla procesu bieżącego.

Ć

wiczenie

1.

Napisać program testujący i ustawiający priorytet dla bieżącego procesu – wypisać priorytet poprzedni i
ustawiony.

2.

Napisać program ustawiający priorytet dla procesu macierzystego oraz procesu współbieżnego, utworzone-
go funkcją

spawnl

.

Składnia funkcji sched_getparam i sched_setparam:

int sched_getparam(pid_t_pid, struct sched_param*par)

- pobranie parame-

trów szeregowania,

int sched_setparam(pid_t_pid, struct sched_param*par)

- ustawienie para-

metrów szeregowania.

Są one zdefiniowane w pliku nagłówkowym <sched.h>
sched_param jest strukturą o polach:

sched_priority

– priorytet na starcie procesu

sched_curpriority

– priorytet tymczasowy nadany przez procedurę szeregującą.

background image

Ć

wiczenie

Wykorzystać funkcje pobrania struktury parametrów oraz zmiany priorytetu procesu w programie QNX/C,

stosując przykładowy zapis:

...

struct

sched_param par;

sched_getparam

(getpid(), &par);

printf (" Priorytet:%u \n",

par.sched_curpriority

);

...


Wyszukiwarka

Podobne podstrony:
cw5
ćw 5, cw5
ekon cw5
SPRAWOZDANIE cw5, studia, agrobiotechnologie
projektowanie zadań ćw5(b)
sprawko mes cw5 4 04 2014r
cw5
Cw5 Drganie relaksacyjne id 123 Nieznany
cw5
GRI cw5 id 195771 Nieznany
cw5 Tranzystor bipolarny
cw5 cieplo rozp 2
cw5, zadania
ćw5  11
Ćw5 Współczynnik wypływu cieczy
Technika Sensorowa CW5 T Pacholek
CW5 protokol
Matematyka cw5 Granice funkcji Ciaglosc funkcji Asymptoty
Ćw5

więcej podobnych podstron