Komunikacja miedzy procesami w OS 9
|
|
- Justyna Czarnecka
- 8 lat temu
- Przeglądów:
Transkrypt
1 Komunikacja miedzy procesami w OS 9 mechanizm przekazywanie dost ep dost ep w komunikacji danych publiczny przerwaniu Czekanie na potomka Status wyjścia Wait for child Exit status Sygnał Numer sygnału Signal Signal code + Zdarzenie Wartość Event Event value + + Moduł danych Data module Wspólna pami eć Shared memory Ł acze bez nazwy Unnamed pipe + Ł acze z nazw a Named pipe + + Plik dyskowy Disk file + + MW-ZPCiR-ICT-PWr 1
2 Kody sygnałów w OS S$Kill - bezwzgl edne zakończenie procesu; 1 - S$Wake - wznowienie procesu bed acego w stanie sleep; 2 - S$Abort - przerwanie procesu ostatnio korzystaj acego z we/wy na terminal (Ctrl-E) - najcz esciej exit(2); 3 - S$Intrpt - (Ctrl-C) - najcz eściej exit(3); 4 - S$HangUp - wysyłany przez SCF przy utracie ł aczności modemowej (brak DCD); zarezerwowane dla dalszych zastosowań systemowych; dla użytkowników. MW-ZPCiR-ICT-PWr 2
3 w deskryptorze procesu adr. C asm znaczenie 26 signal P$Signal Kod ostatniego sygnału czekaj acego 28 sigvec P$SigVec Adres procedury obsługi sygnałów (signal handler) 2C sigdat P$SigDat Adres obszaru danych dla handlera siglvl P$SigLvl maska zagł ebienia obsługi sygnałów 371 sigflg P$SigFlg bit 7 - flaga otrzymania sygnału w trakcie pracy 372 sigxs P$Sigxs ilość wolnych miejsc w kolejce sygnałów 374 sigmask P$SigMask maska bitowa sygnałów sigcnt P$SigCnt ilość sygnałów czekaj acych 37C sigque P$SigQue Adres najstarszego sygnału czekaj acego 380 defsig P$DefSig Pocz atkowa struktura kolejki sygnałów MW-ZPCiR-ICT-PWr 3
4 Funkcje systemowe OS 9 zwi azane z obsług a sygnałów Nazwa funkcja w C Opis F$Send kill (int id, short code) wysłanie sygnału code do procesu id F$Icpt intercept (int (*shand)()) zainstalowanie procedury obsługi sygnałów shand F$SigMask sigmask (int level) ustawianie maski sygnałów dla procesu: 0, ++, F$Sleep sleep (unsigned time) zawieszenie procesu na time sekund lub do otrzymania sygnału pause() zawieszenie procesu do otrzymania sygnału MW-ZPCiR-ICT-PWr 4
5 OS-9 Skutki wysłania sygnału do procesu uaktywnienie procesu adresata (o ile nie jest bież acy lub aktywny - F$AProc) - maskowanie sygnałów nie ma wpływu na t e czynność; przy przejściu procesu adresata do trybu USER uruchomienie procedury obsługi sygnałów (P$SigVec) jako podprogramu: utworzenie ramki powrotu na stosie (R$pc, R$sr) zmiana R$pc na P$SigVec, ustawienie kodu sygnału z P$SigQue w R$d1; UWAGI: 1. W przypadku braku handlera (P$SigVec 0) proces adresat jest kończony przy probie przejścia do trybu USER, a status wyjścia jest ustawiany na numer sygnału. 2. zamaskowane indywidualnie przez P$SigMask nie uruchamiaj a handlera i nie s a kolejkowane. 3. Ustawiona maska (P$SigLvl 0) powoduje kolejkowanie sygnału bez uruchamiania handlera. MW-ZPCiR-ICT-PWr 5
6 OS-9 specjalne: S$Kill i S$Wake S$Kill (kod = 0): nie jest kolejkowany, ustawia E$PrcAbt (228) w P$Signal, ustawia flag e Condemn w P$State (przy próbie uruchomienia w trybie USER proces jest kończony). S$Wake (kod = 1): nie jest kolejkowany, nie zmienia P$Signal, służy wył acznie do aktywizacji procesów. MW-ZPCiR-ICT-PWr 6
7 Przykład wysyłania sygnałów w C #include <stdio.h> main(argc, argv) int argc; char *argv[]; { int pid, code; switch(argc){ default: fprintf(stderr,"usage: sendsig pid code\n"); exit(0); case 3: pid = atoi(argv[1]); code = atoi(argv[2]); break; } } kill(pid, code); exit(0); MW-ZPCiR-ICT-PWr 7
8 Przykład obsługi sygnałów w C (1/2) #include <stdio.h> FILE *log; /* sighand - procedura obslugi sygnalow */ sighand (signal) register int signal; { switch (signal){ case 2: _errmsg(0," terminated by signal # 2\n"); exit(0); case 3: _errmsg(0," terminated by signal # 3\n"); exit(0); default: fprintf(log," Signal # %d\n",signal); return(0); } } MW-ZPCiR-ICT-PWr 8
9 Przykład obsługi sygnałów w C (2/2) /* program glowny " showsig " */ main(argc, argv) int argc; char *argv[]; { if(argc!=2){ fprintf(stderr," Usage: showsig [logfile]\n"); exit(0); } if(!(log=fopen(argv[1]," a+ "))){ fprintf (stderr," Can t open: %s \n",argv[1]); exit(0); } intercept(sighand); } while(1) sleep(0); MW-ZPCiR-ICT-PWr 9
10 OS-9 Zdarzenia Zdarzenia (events): liczniki obsługiwane przez j adro systemu, publicznie dost epne przez nazw e, pozwalaj ace synchronizować procesy. Tworzenie zdarzenia wymaga podania nazwy i pocz atkowych parametrów dla funkcji F$Event(Ev$Creat) (wartość, przyrost automatyczny i przyrost przy budzeniu). Wykorzystanie zdarzenia wymaga doł aczenia si e funkcj a F$Event(Ev$Link), która na podstawie podanej nazwy zwraca numer zdarzenia (ID). Proces znaja cy ID zdarzenia może: odczytać jego wartość zmienić tȩ wartość czekać na wpadni ecie wartości do zadanego przedziału Wartość zdarzenia może zostać zmieniona przez: ustawienie bezwzgl ednej wartości (set absolute) dodanie (ze znakiem) wartości (set relative) dodanie przyrostu automatycznego (signal increment) chwilowe ustawienie bezwzgl ednej wartości (pulse event) MW-ZPCiR-ICT-PWr 10
11 Zdarzenia Element tablicy zdarzeń: adr. nazwa znaczenie 00 ev eid numer zdarzenia w systemie 02 ev name nazwa zdarzenia (max. 11-znaków) 0e ev value 4-bajtowa wartość zdarzenia 12 ev winc automatyczny przyrost wartości przy budzeniu 14 ev sinc sygnałowy przyrost wartości 16 ev link ilość użytkowników zdarzenia 18 ev quen wskaźnik do nast epnego zdarzenia 1C ev quep wskaźnik do poprzedniego zdarzenia typedef struct _evstr { unsigned short _ev_eid; /* event id number */ char _ev_name[12]; /* event name */ int _ev_value; /* current event value */ short _ev_winc; /* wait increment value */ short _ev_sinc; /* signal increment value */ unsigned short _ev_link; /* event use count */ struct _evstr *quen; /* next event in queue */ struct _evstr *quep; /* previous event in queue */ } event; MW-ZPCiR-ICT-PWr 11
12 Zdarzenia Funkcje obsługi zdarzeń w OS 9 Nazwa funkcja w C Opis Ev$Link ev link() użycie zdarzenia (w/g nazwy) Ev$UnLnk ev unlink() zwolnienie zdarzenia Ev$Creat ev create() utworzenie zdarzenia Ev$Delet ev delete() usuni ecie zdarzenia Ev$Wait ev wait() oczekiwanie na zdarzenie Ev$WaitR ev waitr() oczekiwanie na wzgl edn a wartość zdarzenia Ev$Read ev read() odczytanie wartości licznika bez oczekiwania Ev$Info ev info() odczytanie parametrów zdarzenia Ev$Pulse ev pulse() chwilowa symulacja wyst apienia zdarzenia Ev$Signl ev signal() sygnalizacja wyst apienia zdarzenia Ev$Set ev set() ustawienie licznika i sygnalizacja zdarzenia Ev$SetR ev setr() wzgl edne ustawienie licznika i sygnalizacja zdarzenia MW-ZPCiR-ICT-PWr 12
13 Zdarzenia Opis podstawowych funkcji ev creat( ev value, wait inc, signal inc, ev name ) tworzy zdarzenie o nazwie ev name, pocz atkowej wartości ev value, przyroście automatycznym wait inc i przyroście sygnałowym signal inc ; zwraca ev id. ev link( ev name ) zwraca ev id dla zdarzenia o nazwie ev name. ev set( ev id, ev value, allflag ) ustawia zdarzenie ev id na wartość ev value i budzi pierwszy (allflag == 0x0000) lub wszystkie (allflag == 0x8000) procesy oczekuj ace na nie. ev setr( ev id, ev value, allflag ) zmienia wartość zdarzenia ev id o ev value i budzi pierwszy lub wszystkie procesy oczekuj ace na to zdarzenie. ev wait(ev id, ev min, ev max ) czeka na pojawienie si e wartości zdarzenia ev id w przedziale ( ev min, ev max ), modyfikuje j a o przyrost automatyczny i zwraca jako wynik. ev signal( ev id, allflag ) modyfikuje wartość zdarzenia ev id o przyrost sygnałowy i budzi pierwszy lub wszystkie procesy oczekuj ace na to zdarzenie. MW-ZPCiR-ICT-PWr 13
14 Zdarzenia Przykład przydziału zasobów (N drukarek) Tworzymy zdarzenie o pocz atkowej wartości N (wszystkie drukarki dost epne). Wait inc ustalamy na -1 (zaj ecie drukarki), a signal inc na 1 (zwolnienie drukarki). event_id =_ev_creat(n,-1,1,"dr"); /* utworzenie zdarzenia */ Proces chc acy korzystać z drukarki musi czekać (Ev$Wait) na wartość zdarzenia w przedziale [1,N]. Dzi eki temu, póki s a jakieś wolne drukarki, procesy s a kontynuowane, a wartość zdarzenia odzwierciedla ilość wolnych drukarek. event_id = _ev_link("dr"); /* przylaczenie do zdarzenia */ _ev_wait(event_id,1,n); /* czekanie na wolna drukarke */ drukuj(); /* drukowanie */ Po zakończeniu drukowania proces zwalnia drukark e i sygnalizuje to (Ev$Signal). _ev_signal(event_id,0); /* zwolnienie drukarki */ Ilość wolnych drukarek (wartość zdarzenia) jest zwi ekszana. Jeśli jakiś proces był zatrzymany na Ev$Wait z powodu braku drukarek (wartość zdarzenia poza [1,N]), to po zwróceniu drukarki przez inny proces zostanie uaktywniony (zbudzony) i on z kolei b edzie mógł zaj ać drukark e. MW-ZPCiR-ICT-PWr 14
15 Zdarzenia Przykład synchronizacji: jeden pisze, wielu czyta Proces pisz acy: /***************************************************************/ event_id =_ev_creat(0,1,-1,"mw"); /* utworzenie zdarzenia: value = 0 wait_inc = 1 signal_inc = -1 name = "mw" */ new_data(); /* wpis danych */ _ev_set(event_id,m,ev_allprocs); /* budzenie proc. czytaj. */ _ev_setr(event_id,-1*m,0); _ev_wait(event_id,0,0); /* czekanie na zero */ /***************************************************************/ Procesy czytajace: /***************************************************************/ event_id = _ev_link("mw"); /* przylaczenie do zdarzenia */ _ev_wait(event_id,m,m+2000); /* czekanie na wartosc >=M */ takedata(); /* czytanie danych */ _ev_signal(event_id,0); /* zmniejszenie zdarzenia o 1 */ /***************************************************************/ MW-ZPCiR-ICT-PWr 15
4.2 Sposób korzystania z l acza
4.2 Sposób korzystania z l acza 31 Opis programu: Program procesu potomnego (linie 16 19) jest taki sam, jak w przyk ladzie na listingu 3. W procesie macierzystym nastepuje z kolei przekierowanie standardowego
1. Timery i zdarzenia
J. Ułasiewicz Komputerowe systemy sterowania 1 1. Timery i zdarzenia 1.1 Funkcje i programowanie timerów Jedną z najczęściej spotykanych funkcji systemu czasu rzeczywistego jest generowanie zdarzeń które
przypadków wywo lanie systemowe (funkcja systemowa) lub funkcja biblioteczna zwraca wartość 1(czasamiNULL) iprzypisujezmiennej zewn etrznej,
c Wies law P laczek 3 1 Obs luga b l edów Wwi ekszości przypadków wywo lanie systemowe (funkcja systemowa) lub funkcja biblioteczna kończ ac si e b l edem zwraca 1(czasamiNULL) iprzypisujezmiennej zewn
Pobieranie argumentów wiersza polecenia
Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:
J adro systemu OS 9 moduł kernel
OS-9 systemu OS 9 moduł kernel Podstawowe funkcje j adra systemu: zarz adzanie zasobami zarz adzanie prac a procesów zarz adzanie obsług a zdarzeń specjalnych i przerwań Realizowane i koordynowane usługi:
Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach
Laboratorium Systemów Operacyjnych Ćwiczenie 4. Operacje na plikach Wykonanie operacji wymaga wskazania pliku, na którym operacja ma zostać wykonana. Plik w systemie LINUX identyfikowany jest przez nazwę,
Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.
Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino Interrupts Mariusz Rudnicki 2016 Wstęp W QNX Neutrino wszystkie przerwania sprzętowe przechwytywane są przez jądro systemu. Obsługę
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej
Programowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami
Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011
Procesy Systemy Operacyjne 2 laboratorium Mateusz Hołenko 9 października 2011 Plan zajęć 1 Procesy w systemie Linux proces procesy macierzyste i potomne procesy zombie i sieroty 2 Funkcje systemowe pobieranie
Sygnały. 7. Sygnały (2005/2006)
Sygnały Sygnał jest to informacja dla procesu, że wystąpiło jakieś zdarzenie. Sygnały mogą być wysyłane: z procesu do innego procesu (grupy procesów) z procesu do siebie samego z jądra do procesu Sygnały
Mechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
aodczytywać zniegoza pomoc afunkcjiread, (niebuforowane funkcje wejścia/wyjścia). e sukcesem, to zwróci liczb, erzeczywiściezapisanychbajtów.
c Wies law P laczek 15 4 Potoki 4.1 Wprowadzenie Potok (ang. pipe) możnauznaćzaplikspecjalnegotypuktórys lużydoprzechowywania ograniczonej ilości danych i do którego dost ep może si eodbywaćjedyniewtrybie
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie drugie (jedne zajęcia) Temat: Procesy i sygnały w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Budowa procesu
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.
Procesy Proces (zwany też zadaniem) jest jednostką aktywną, kontrolowaną przez system operacyjny i związaną z wykonywanym programem. Proces ma przydzielone zasoby typu pamięć (segment kodu, segment danych,
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
J. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 9. Komunikacja przez pamięć dzieloną Metoda komunikacji przez wspólną pamięć może być użyta gdy procesy wykonywane są na maszynie jednoprocesorowej
Sieciowa komunikacja procesów - XDR i RPC
*** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
1. Ustanawianie ograniczeń na użycie zasobów
1. Ustanawianie ograniczeń na użycie zasobów W każdym systemie komputerowym zasoby potrzebne do tworzenia i wykonywania procesów są ograniczone. W przypadku gdy w systemie działa wiele procesów ważną rzeczą
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Systemy Operacyjne Ćwiczenia
Systemy Operacyjne Ćwiczenia Wies law P laczek Wydzia l Fizyki, Astronomii i Informatyki Stosowanej, Uniwersytet Jagielloński ul. Reymonta 4, 30-059 Kraków 4 lutego 2009 Streszczenie Praca ta zawiera materia
Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych
Systemy operacyjne Systemy operacyjne Inżynieria obliczeniowa, II rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@agh.edu.pl Wykłady: 7 tygodni po 2 h, s. 209, B-4 Projekty: 2 godziny
1 Timery i zdarzenia
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Timery i zdarzenia 1.1 Funkcje i programowanie timerów Jedną z najczęściej spotykanych funkcji systemu czasu rzeczywistego jest generowanie zdarzeń które
Łącza nienazwane(potoki)
8. Łącza nienazwane(potoki) Łącze (potok, ang. pipe) jest to urządzenie komunikacyjne pozwalające na przesyłanie informacji w jedną stronę. Jeden proces wysyła dane do łącza za pomocą funkcji write, zaś
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) wiczenie trzecie Temat: Potoki i ł cza nazwane w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja z wykorzystaniem
Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury
SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)
Procesy i shell. Polecenia ps, sleep, exit, jobs, bg, fg, top, kill, bash, tcsh, which, type, whereis, touch. Metaznak & i >>. Dowiązania miękkie i twarde. Proces jest programem, który jest wykonywany
1. Kolejki komunikatów POSIX
Jędrzej Ułasiewicz IIAiR Politechnika Wrocławska 1 1. Kolejki komunikatów POSIX 1.1 Podstawowe własności Kolejki FIFO maja następujące wady: Komunikaty pozbawione struktury Nie można testować stanu kolejki
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Programowanie Współbieżne. W Linuxie/Unixie
Programowanie Współbieżne W Linuxie/Unixie Identyfikatory pid numer identyfikacyjny procesu zwykle od 0 do 32K przydzielany przez system każdemu nowemu procesowi uzyskać możemy go przez int getpid() 0
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Kolejki FIFO (łącza nazwane)
Kolejki FIFO (łącza nazwane) Systemy Operacyjne 2 laboratorium Mateusz Hołenko 6 listopada 2011 Plan zajęć 1 Łącza w systemie Linux kolejki FIFO vs. potoki specyfika łączy nazwanych schemat komunikacji
Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci
1. Timery i zdarzenia
Sygnały 1 1. Timery i zdarzenia 1.1 Funkcje i programowanie timerów Jedną z najczęściej spotykanych funkcji systemu jest generowanie zdarzeń które w ustalonym czasie uruchomić mają określone akcje systemu.
Budowa linii asemblera
Budowa linii asemblera Pola w linii s a oddzielone znakami białymi (spacje, tabulacje). Wewn atrz pola znaki te nie wystepuj a. Linia programu zawiera cztery pola (być może puste): etykieta mnemonik operand
SYSTEMY OPERACYJNE WYKLAD 6 - procesy
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu
Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:
Pliki W celu wykonania jakiejkolwiek operacji na istniejącym pliku, plik ten musi zostać otwarty, natomiast jeśli plik jeszcze nie istnieje, to musi zostać utworzony. Plik może zostać otwarty w trybie:
Obsługa plików Procesy
Obsługa plików Procesy Systemy Operacyjne 2 laboratorium Mateusz Hołenko 15 października 2011 Plan zajęć 1 Obsługa plików 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach 3 Operacje
/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
eć dzielona standardu POSIX
c Wies law P laczek 25 6 Pami eć dzielona standardu POSIX 6.1 Wprowadzenie Pami eć dzielona inaczej wspólna (ang. shared memory) jestzasobemumożliwiaj acym najszybszy sposób komunikacji mi edzy procesami
ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM
ĆWICZENIE 5 TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM Wiadomości wstępne: Port szeregowy może pracować w czterech trybach. Tryby różnią się między sobą liczbą bitów
13. Kolejki komunikatów POSIX
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 13. POSIX 13.1 Wstęp (mailboxy, bufory) są bardzo popularnym mechanizmem komunikacji międzyprocesowej. Występują w prawie każdym systemie operacyjnym.
Wykład 1
Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego
Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011
Obsługa plików Systemy Operacyjne 2 laboratorium Mateusz Hołenko 25 września 2011 Plan zajęć 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach otwieranie i zamykanie zapis i odczyt
Operacje wejścia/wyjścia odsłona pierwsza
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Kolejki komunikatów POSIX
Jędrzej Ułasiewicz IIAiR Politechnika Wrocławska 1 Kolejki komunikatów POSIX 1 Wstęp Kolejka komunikatów Q posiada następujące własności: - Posiada określoną pojemność N komunikatów (długość bufora komunikatów).
Rodzina protokołów TCP/IP. Aplikacja: ipconfig.
Rodzina protokołów TCP/IP. Aplikacja: ipconfig. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Specyfikacja struktury FIXED_INFO Nazwa struktury:
Wywoływanie procedur zdalnych
Mechanizm wywołania Wywoływanie procedur zdalnych main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) int zabij_proces (int pid){ int stat; stat = kill(pid,
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1
PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą
SUMA KONTROLNA (icmp_cksum) NUMER KOLEJNY (icmp_seq)
Program my_ping: wysłanie komunikatu ICMP z żądaniem echa Struktura icmp (plik netinet/ip_icmp.h) 0 7 8 15 16 31 TYP (icmp_type) KOD (icmp_code) IDENTYFIKATOR (icmp_id) SUMA KONTROLNA (icmp_cksum) NUMER
Wywoływanie procedur zdalnych
Wywoływanie procedur zdalnych Mechanizm wywołania main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces (int pid){ int stat; stat
sposób wykonywania operacji zapisu i odczytu dane odczytywane z l acza usuwane (nie można ich odczytać ponownie),
27 4 L acza L acza w systemie UNIX sa plikami specjalnymi, s luż acymi do komunikacji pomiedzy procesami. L acza maja kilka cech typowych dla plików zwyk lych, czyli posiadaja swój i-weze l, posiadaja
MAGISTRALA MODBUS W SIŁOWNIKU XSM Opis sterowania
DTR Załącznik nr 5 MAGISTRALA MODBUS W SIŁOWNIKU XSM Opis sterowania Wydanie 2 czerwiec 2012 r. 1 Załącznik nr 5 DTR Rys.1 Rozmieszczenie złączy i mikroprzełączników na płytce modułu MODBUS 1. Zasilenie
Pomoc dla użytkowników systemu asix 6 i 7. Drajwer Bufor. Dok. Nr PLP6021 Wersja:
Pomoc dla użytkowników systemu asix 6 i 7 www.asix.com.pl Drajwer Bufor Dok. Nr PLP6021 Wersja: 2012-03-16 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście
Shared memory and messages. Functions. process 0. process 1. program 0. program 0. data 0. data 1. program 1. data 0. data 1.
Shared memory and messages Shared memory vs message passing Shared memory - C functions Shared memory - example program Message queues - C functions Message queues - example program process 0 process 1
Metody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
Systemy operacyjne III
Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów
PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne
Procesy. S. Samolej: Procesy
Procesy dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/ oraz Na materiałach
Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie trzecie (jedne zajęcia) Temat: Potoki i łącza nazwane w Linuksie. Opracowanie: dr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja
Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach
Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach 27 kwietnia 2012 Wiedząc, że deklarowanie typu rekordowego w języku C/ C++ wygląda następująco: struct element
Przerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
Wielozadaniowość w systemie Microsoft Windows
Wielozadaniowość w systemie Microsoft Windows mgr inż. Tomasz Jaworski tjaworski@kis.p.lodz.pl http://tjaworski.kis.p.lodz.pl/ Idea wielozadaniowości Proces główny Wątki Algorytm szeregowania ustala kolejność
Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
1. Utwórz blok pamięci współdzielonej korzystając z poniższego kodu:
6 Pamięć współdzielona 6.1 Dostęp do pamięci współdzielonej 1. Utwórz blok pamięci współdzielonej korzystając z poniższego kodu: #include #include #include #include
WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5
WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne
Struktura QSM (Queued Serial Module)
Struktura QSM (Queued Serial Module) MW-ZPCiR-ICT-PWr 1 Nadajnik transmisji asynchronicznej (SCI) MW-ZPCiR-ICT-PWr 2 Odbiornik transmisji asynchronicznej (SCI) MW-ZPCiR-ICT-PWr 3 SCIbaud 32 f SYS SCBR
Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?
Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.
3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen);
3.1. Określanie adresu połączonego hosta 3. #include int getpeername(int socket, struct sockaddr *addr, int *addrlen); Funkcja getpeername dostarcza adresu drugiej strony połączenia. Parametry:
Język C zajęcia nr 5
Język C zajęcia nr 5 Instrukcja wyboru switch switch ( wyr ) inst Głównym przeznaczeniem instrukcji switch jest rozgałęzianie wykonania programu na wiele różnych ścieżek w zależności od wartości pewnego
Zdalne wywoływanie procedur RPC. Dariusz Wawrzyniak 1
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
przerwany proces móg l zareagować na określone zdarzenie. Można je traktować jako software owe wersje przerwań sprz etowych.
c Wies law P laczek 9 3 Sygna ly 3.1 Opis sygna lów Najprostsz ametod akomunikacjimi edzyprocesowej w systenie UNIX s sygna ly. Umożliwiaj aoneasynchroniczne przerwanie dzia lania procesu przez inny proces
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
Zdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
Zdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces
Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780
Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą
Programowanie i struktury danych 1 / 44
Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje
Linux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013
Linux: Procesy Systemy Operacyjne Mateusz Hołenko 26 marca 2013 Plan zajęć Co to jest sygnał? Polecenia systemowe Sygnały Zadania Mateusz Hołenko Linux: Procesy [2/18] Co to jest proces? Co to jest proces?
Instrukcja do ćwiczeń
Instrukcja do ćwiczeń SYSTEMY WBUDOWANE Lab. 3 Przetwornik ADC + potencjometr 1. Należy wejść na stronę Olimexu w celu znalezienia zestawu uruchomieniowego SAM7-EX256 (https://www.olimex.com/products/arm/atmel/sam7-ex256/).
Wykład 3: Implementacja programów wbudowanych
Systemy wbudowane Wykład 3: Implementacja programów wbudowanych Problemy implementacji oprogramowania wbudowanego Szeregowanie zadań System operacyjny Obsługa przerwań 10/16/2010 S.Deniziak:Systemy wbudowane
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Przemysłowe układy sterowania PID Układy regulacji PID w strukturze sprzętowej Pytania i zadania do zajęć
Wątki w Android OS. Matt Rutkowski. GynSoft sp. z o.o. http://gynsoft.net matt@gynsoft.net
Wątki w Android OS Matt Rutkowski GynSoft sp. z o.o. http://gynsoft.net matt@gynsoft.net Krótko o terminach związanych z Android OS... Android OS bazuje na Linuxie, każda aplikacja posiada własne User
Systemy Operacyjne 1 Laboratorium 3 Potoki i łącza nazwane w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot
Systemy Operacyjne 1 Laboratorium 3 Potoki i łącza nazwane w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot 15 października 2016 Wstęp W tej instrukcji zawarte są informacje na temat jednych z podstawowych
1.1 Przykład znajdowanie liczb pierwszych leżących w zadanym zakresie, tryb bezpołączeniowy
1.1 Przykład znajdowanie liczb pierwszych leżących w zadanym zakresie, tryb bezpołączeniowy Należy znaleźć liczby pierwsze w zakresie od 2 do N na P komputerach. Zarządca pocz[i], kon[i] wykonawca 1 wykonawca
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
Gniazda BSD. komunikacja bezpołączeniowa
Gniazda BSD komunikacja bezpołączeniowa Użycie gniazd w transmisji bezpołączeniowej socket() socket() bind() bind() STOP! recv() żądanie send() send() odpowiedź recv() STOP! recvfrom() #include
Procesy, wątki i zasoby
Procesy, wątki i zasoby Koncepcja procesu i zasobu, Obsługa procesów i zasobów, Cykl zmian stanów procesu i kolejkowanie, Klasyfikacja zasobów, Wątki, Procesy i wątki we współczesnych systemach operacyjnych.
Sun RPC/XDR. Dariusz Wawrzyniak 1
Remote Procedure Call external Data Representation trójwymiarowa identyfikacja procedur (nr programu, nr wersji, nr procedury) protokół RPC oparty na protokołach warstwy transportowej stosu TCP/IP (TCP
1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub