System operacyjny Unix/Linux. Zarzadzanie procesami. Sławomir Nowaczyk AGH. Katedra Automatyki.

Wielkość: px
Rozpocząć pokaz od strony:

Download "System operacyjny Unix/Linux. Zarzadzanie procesami. Sławomir Nowaczyk AGH. Katedra Automatyki."

Transkrypt

1 System operacyjny Unix/Linux Wykład 4 Zarzadzanie procesami Sławomir Nowaczyk Slawomir.Nowaczyk@agh.edu.pl Laboratorium Informatyki Autormatyki Akademia Górniczo-Hutnicza May 14, 2010 System operacyjny Unix/Linux Zarządzanie procesami p. 1/52

2 Plan wykładów Wprowadzenie do systemów operacyjnych Powłoki systemowe Laboratorium: języki skryptowe Środowiska programowania w GNU/Linux Architektura systemu GNU/Linux procesy, pamięć, wejście/wyjście, itp. Architektura systemu GNU/Linux instalacja, zarządzanie pakietami, itp. Konfiguracja i zarządzanie systemem GNU/Linux Współpraca systemu GNU/Linux z innymi komputerami i systemami operacyjnymi System operacyjny Unix/Linux Zarządzanie procesami p. 2/52

3 Proces Program w czasie wykonywania kod binarny rejestry procesora stos (zmienne lokalne) sterta (zmienne dynamiczne) dane (zmienne globalne) Jeden program wiele procesów Jeden proces wiele programów System operacyjny Unix/Linux Zarządzanie procesami p. 3/52

4 Stan procesu TASK_RUNNING wykonywane są instrukcje lub oczekuje na przydział procesora TASK_INTERRUPTIBLE czeka na wystąpienie jakiegoś zdarzenia np. zakończenie operacji wejścia/wyjścia TASK_UNINTERRUPTIBLE czeka na wystąpienie jakiegoś zdarzenia ignoruje nadchodzące sygnały TASK_STOPPED proces został wstrzymany np. poprzez sygnał SIGSTOP System operacyjny Unix/Linux Zarządzanie procesami p. 4/52

5 Stan procesu TASK_TRACED proces został zatrzymany przez debugger EXIT_ZOMBIE proces zakończył działanie rodzic procesu nie wykonał jeszcze wywołania systemowego wait() informacje o procesie muszą być nadal przechowywane przez system operacyjny EXIT_DEAD rodzic wywołał wait() informacje o procesie są usuwane System operacyjny Unix/Linux Zarządzanie procesami p. 5/52

6 Stan procesu System operacyjny Unix/Linux Zarządzanie procesami p. 6/52

7 Blok kontrolny procesu Umieszczony w pamięci należącej do jądra niedostępny bezpośrednio dla użytkownika Informacje niezbędne do zarządzania procesami stan procesu pid, pgrp, session, tgid zawartość rejestrów procesora tablica deskryptorów plików priorytet procesu informacje o organizacji pamięci ograniczenia nałożone na proces uid, euid, suid, fsuid rodzic, dzieci System operacyjny Unix/Linux Zarządzanie procesami p. 7/52

8 Blok kontrolny procesu System operacyjny Unix/Linux Zarządzanie procesami p. 8/52

9 Watki Konceptualnie podobne do procesów proces lekki (lightweight process) Podstawowa jednostka wykorzystania procesora Wątek posiada własny licznik rozkazów zbiór rejestrów obszar stosu Współdzieli z innymi wątkami kod programu obszar danych tablicę deskryptorów plików... System operacyjny Unix/Linux Zarządzanie procesami p. 9/52

10 Process ID Każde zadanie ma własny task_struct zarówno procesy i wątki System gwarantuje że pid jest zawsze unikalny chociaż wewnętrznie jądro nie używa pid tylko wskaźników do deskryptorów procesów Aplikacja wielowątkowa powinna mieć jeden pid widoczny dla użytkownika wywołanie systemowe getpid() zwraca tgid a nie pid aktualnego zadania thread group leader id pierwsze zadanie z danej grupy System operacyjny Unix/Linux Zarządzanie procesami p. 10/52

11 Ograniczenia Zapobiega przeciążeniu całego systemu przez pojedynczy proces getrlimit() / setrlimit() rlim_cur / rlim_max RLIMIT_AS rozmiar pamięci RLIMIT_CPU czas CPU (w sekundach) RLIMIT_FSIZE rozmiar pliku RLIMIT_NOFILE liczba otwartych plików RLIMIT_NPROC liczba procesów użytkownika RLIMIT_DATA rozmiar sterty RLIMIT_STACK rozmiar stosu System operacyjny Unix/Linux Zarządzanie procesami p. 11/52

12 /proc Pseudo-system plików struktura i dostęp jak do klasycznych plików nie są umieszczone na dysku /proc/pid informacje o procesie /proc/pid/cmdline /proc/pid/cwd /proc/pid/environ /proc/pid/fd /proc/pid/root /proc/* informacje o jądrze /proc/version /proc/uptime System operacyjny Unix/Linux Zarządzanie procesami p. 12/52

13 Tworzenie procesów Klasycznym rozwiązaniem jest para fork/exec Wywołanie systemowe fork potomek dziedziczy wszystkie dane rodzica zapisane w task_struct wymaga skopiowania całej pamięci przydzielonej procesowi bardzo czasochłonne Wywołanie systemowe exec ładuje nowy kod do wykonania zastępując ten aktualnie wykonywany niszcząc to co przed chwilą skopiowano System operacyjny Unix/Linux Zarządzanie procesami p. 13/52

14 task_struct System operacyjny Unix/Linux Zarządzanie procesami p. 14/52

15 Tworzenie procesów Proces lekki pozwala skopiować samą strukturę wskazywane dane są współdzielone shallow copy Proces ciężki wymaga skopiowania wszystkich danych wskazywanych przez task_struct deep copy Używana jest technika copy on write potomek i rodzic współdzielą pamięć odczyt nie powoduje konfliktu jeśli którykolwiek proces próbuje zapisać dane, zawartość pamięci jest kopiowana System operacyjny Unix/Linux Zarządzanie procesami p. 15/52

16 Procesy lekkie Wywołanie systemowe clone funkcja do wykonania, argumenty flagi, adres stosu,... Flagi sygnał wysyłany do rodzica po zakończeniu CLONE_VM, CLONE_FS, CLONE_FILES,... CLONE_THREAD, CLONE_SETTLS,... W jądrze Linux fork jest zaimplementowany jako odwołanie do clone child_stack to aktualny wskaźnik na stos sygnał do wysyłania to SIGCHLD żadna flaga nie jest ustawiona System operacyjny Unix/Linux Zarządzanie procesami p. 16/52

17 vfork Tworzy proces który współdzieli pamięć rodzica Wykonywanie procesu rodzica jest wstrzymane do czasu zakończenia potomka lub wykonania przez niego exec zabezpiecza przed nadpisaniem przez rodzica danych potrzebnych dziecku Nie trzeba kopiować struktur danych kopia jest potrzebna tylko przez chwilę Linux implementuje wywołanie systemowe vfork przy użyciu clone flagi CLONE_VM i CLONE_VFORK System operacyjny Unix/Linux Zarządzanie procesami p. 17/52

18 do_fork Funkcja do_fork wykonuje większość pracy Znajduje nowy wolny numer pid Kopiuje deskryptor procesu Sprawdza czy flagi są sensowne np. CLONE_SIGHAND i CLONE_VM Zwiększa licznik procesów użytkownika Wpisuje wartość 0 do rejestru EAX wartość zwracana przez funkcję fork() Ustawia pola parent i real_parent Ustawia pola tgid i group_leader Umieszcza proces w kolejce planisty System operacyjny Unix/Linux Zarządzanie procesami p. 18/52

19 Procesy jadra Proces 0 idle process statycznie alokowane struktury danych jeden proces 0 dla każdego procesora nieskończona pętla instrukcji hlt Proces 1 init process tworzony normalnie żyje aż do zamknięcia systemu Wątki jądra kapmd obsługa zdarzeń APM kswapd odzyskiwanie pamięci pdflush zapisywanie stron na dysku ksoftirqd wykonuje tasklety System operacyjny Unix/Linux Zarządzanie procesami p. 19/52

20 Deskryptory plików Struktura files_struct liczba procesów współdzielących strukturę maksymalna liczba deskryptorów tablica wskaźników file* tablica otwartych deskryptorów plików Struktura file f_count, f_flags, f_mode f_pos f_op f_uid, f_gid f_security System operacyjny Unix/Linux Zarządzanie procesami p. 20/52

21 Tworzenie procesów Wywołanie funkcji fork() zwraca 0 w procesie-dziecku zwraca pid dziecka w procesie-rodzicu W procesie-dziecku wywołanie funkcji execvp() execvp(const char *file, char *const argv[]); W procesie-rodzicu wywołanie funkcji wait() Przekierowanie wejścia i wyjścia int open(const char *path, int oflag,...); funkcje dup() i dup2() System operacyjny Unix/Linux Zarządzanie procesami p. 21/52

22 Sygnały Bardzo krótkie wiadomości wysyłane do procesu lub grupy procesów Zawierają jedynie numer sygnału nie ma żadnej dodatkowej treści Poinformowanie procesu o wystąpieniu zdarzenia wywołują procedurę obsługi sygnału Sygnały mogą być blokowane gdy proces nie jest wykonywany gdy zostaną explicite zablokowane Sygnały czasu rzeczywistego wielokrotne wywołania są kolejkowane System operacyjny Unix/Linux Zarządzanie procesami p. 22/52

23 Obsługa sygnałów Sygnały mogą być dostarczone w dowolnym momencie pracy programu przerywając normalną pracę struktury danych mogą być niespójne procedura obsługi sygnału powinna być jak najprostsza i jak najkrótsza Jądro przekazuje sygnał poprzez przełączenie procesu do procedury obsługi przerwania po jej zakończeniu program powraca do miejsca przerwania i kontynuuje działanie Procedura obsługi przerwania często ustawia w programie jakąś flagę wykonaj X przy najbliższej okazji System operacyjny Unix/Linux Zarządzanie procesami p. 23/52

24 Sygnały SIGHUP T Hang up controlling terminal or process SIGINT T Interrupt from keyboard SIGQUIT D Quit from keyboard SIGILL D Illegal instruction SIGABRT D Abnormal termination SIGFPE D Floating-point exception SIGTERM T Process termination daje procesowi możliwość posprzatania SIGKILL T Forced-process termination nie ma możliwości przechwycenia SIGUSR1 T Available to processes do wykorzystania przez programistę SIGUSR2 T Available to processes do wykorzystania przez programistę System operacyjny Unix/Linux Zarządzanie procesami p. 24/52

25 Sygnały SIGSTOP S Stop process execution tymczasowe zatrzymanie działania procesu SIGCONT C Resume execution wznowienie działania wstrzymanego procesu SIGTTIN S Background process requires input procesy w tle nie maja dostępu do terminala SIGTTOU S Background process requires output SIGCHLD I Child process stopped SIGSEGV D Invalid memory reference SIGURG I Urgent condition on socket SIGXCPU D CPU time limit exceeded SIGXFSZ D File size limit exceeded SIGSYS D Bad system call System operacyjny Unix/Linux Zarządzanie procesami p. 25/52

26 Używanie sygnałów Polecenie kill <pid> kill -9 <pid> kill -KILL <pid> Definiowane procedur obsługi sigaction() W przypadku aplikacji wielowątkowych sygnał dociera do jednego z wątków wybranego losowo wątki w ramach jednego procesu muszą współdzielić procedury obsługi sygnałów ale mogą indywidualnie blokować sygnały jeśli nieobsłużone przerwanie powoduje zakończenie wątku, jądro zabija cały proces System operacyjny Unix/Linux Zarządzanie procesami p. 26/52

27 Komunikacja między procesami System plików operacje atomowe wymiana danych Potoki Semafory Wiadomości System V POSIX Pamięć współdzielona Gniazda (sockets) System operacyjny Unix/Linux Zarządzanie procesami p. 27/52

28 Potoki Tworzone poprzez funkcję pipe() dwa deskryptory plików jednokierunkowe Potok musi zostać utworzony w procesie rodzica nowo utworzeni potomkowie dziedziczą otwarte deskryptory plików Po dwukrotnym wywołaniu funkcji fork() istnieje 6 kopii tych deskryptorów rodzic musi zamknąć oba deskryptory każdy z procesów potomnych musi zamknąć jeden koniec potoku System operacyjny Unix/Linux Zarządzanie procesami p. 28/52

29 ls more Rodzic (shell) wywołuje pipe() otrzymując parę (3, 4) dwukrotnie wykonuje fork() używa close() żeby zamknąć fd3 i fd4 Pierwsze dziecko (ls) wywołuje dup2(4,1) wywołuje close(3) i close(4) wywołuje execve() Drugie dziecko (more) wywołuje dup2(3,0) wywołuje close(3) i close(4) wywołuje execve() System operacyjny Unix/Linux Zarządzanie procesami p. 29/52

30 Wiadomości POSIX Message Queues mqd_t mq_open(const char *name, int oflag) Wsparcie dla priorytetów wiadomości mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); Asynchroniczne informowanie o przychodzących wiadomościach mq_notify(mqd_t mqdes, const struct sigevent *notification); przy użyciu sygnałów lub wątków System operacyjny Unix/Linux Zarządzanie procesami p. 30/52

31 Semafory Synchronizacja dostępu do zasobów sekcja krytyczna Dodatnia wartość semafora = zasób jest dostępny dostęp poprzez pomniejszenie wartości jądro blokuje proces przy wartości ujemnej semget(key_t key, int nsems, int semflg); utworzenie lub wyszukanie semafora semop(int semid, sembuf *sops, unsigned nsops); struct sembuf { unsigned short sem_num; short sem_op; short sem_flg; } System operacyjny Unix/Linux Zarządzanie procesami p. 31/52

32 Pamięć współdzielona Wiele procesów może równocześnie korzystać ze wspólnego regionu pamięci int shmget(key_t key, size_t size, int shmflg); utworzenie lub wyszukanie obszaru pamięci void *shmat(int shmid, void *addr, int shmflg); pobranie wskaźnika do pamięci może być używany jak normalny wskaźnik printf("shared contents: %s", data); Dostęp do pamięci współdzielonej powinien być zabezpieczony przed race condition na przykład poprzez semafory Efektywne przy dużym rozmiarze danych System operacyjny Unix/Linux Zarządzanie procesami p. 32/52

33 Połaczenia TCP/IP Interfejs sieciowy eth0, wlan0, wifi0, lo... Konfiguracja interfejsu sieciowego ifconfig eth netmask up Polecenia ifup oraz ifdown Plik /etc/network/interfaces iface lo inet loopback iface eth0 inet static address netmask gateway System operacyjny Unix/Linux Zarządzanie procesami p. 33/52

34 Dynamic Host Configuration Protocol Klient DHCP automatycznie pobiera dane niezbędne do korzystania z sieci od istniejącego serwera dhclient /etc/dhcp3/dhclient.conf interface "eth0" { } prepend domain-name-servers ; supersede domain-name wstie.edu; Serwer DHCP /etc/dhcpd.conf System operacyjny Unix/Linux Zarządzanie procesami p. 34/52

35 Domain Name Service /etc/hosts statyczna lista adresów IP Klient DNS wysyła zapytania do odpowiednich serwerów /etc/resolv.conf search cs.mit.edu mit.edu nameserver Serwer DNS globalna hierarchiczna struktura każdy serwer DNS odpowiada tylko za własną, lokalną część przestrzeni nazw etc/bind/named.conf System operacyjny Unix/Linux Zarządzanie procesami p. 35/52

36 Network Address Translation Często nazywane Port Address Translation albo IP masquerading implementowane przez iptables również filtrowanie pakietów IP Wykorzystanie jednego publicznego adresu IP przez wiele komputerów w sieci lokalnej router pośredniczy w komunikacji z siecią przechowuje listę otwartych połączeń każdy przychodzący pakiet danych przekazuje automatycznie do odpowiedniego komputera w sieci wewnętrznej shorewall System operacyjny Unix/Linux Zarządzanie procesami p. 36/52

37 System plików ext2 Second Extended File system Partycja jest podzielona na grupy bloków z których każda zawiera kopię superbloku kopię tablicy grup bloków bitmapę bloków bitmapę inode ów tablicę inode ów bloki danych Grupy działają jak logiczne pod-partycje zmniejszając fragmentację systemu plików System operacyjny Unix/Linux Zarządzanie procesami p. 37/52

38 Superblok Superblok zawiera podstawowe informacje o organizacji dysku magic number: 0xEF53 informację o wersji systemu plików liczbę montowań systemy plików rozmiar bloków i liczbę bloków w grupie czas ostatniego montowania systemu i zapisu danych status i informacje o błędach listę wolnych bloków i inode ów adres pierwszego inode a Pierwszy inode odpowiada katalogowi "/" System operacyjny Unix/Linux Zarządzanie procesami p. 38/52

39 inode Każdy plik i katalog w systemie ext2 jest opisany przy użyciu struktury zwanej inode Mode: prawa dostępu i rodzaj inode a plik, katalog, dowiązanie symboliczne lub urządzenie Informacja o właścicielu pliku Rozmiar w bajtach Timestamps czas utworzenia, modyfikacji i dostępu Bloki danych bezpośrednie i pośrednie System operacyjny Unix/Linux Zarządzanie procesami p. 39/52

40 inode System operacyjny Unix/Linux Zarządzanie procesami p. 40/52

41 Katalogi W systemie ext2 katalog jest specjalnym rodzajem pliku lista plików znajdujących się w tym katalogu inode, następny wpis, długość nazwy, nazwa System operacyjny Unix/Linux Zarządzanie procesami p. 41/52

42 Pytania? System operacyjny Unix/Linux Zarządzanie procesami p. 42/52

43 Zaliczenie przedmiotu Laboratoria zaliczenie: dwa projekty MasterMind napisany w bash u shell napisany w C lub C++ Wykład zaliczenie: kolokwium w czasie wykładu test wyboru, około 40 zadań głownie aspekty teoretyczne, chociaż z elementami praktycznymi System operacyjny Unix/Linux Zarządzanie procesami p. 43/52

44 Podsumowanie: wykład 1 Podstawy systemów operacyjnych Usługi oferowane przez system operacyjny Relacja między SO a sprzętem Tryb uprzywilejowany Wywołania systemowe Pamięć operacyjna i masowa Pamięć wirtualna Bezpieczeństwo Podstawowe polecenia GNU/Linux System operacyjny Unix/Linux Zarządzanie procesami p. 44/52

45 Podsumowanie: wykład 2 GNU/Linux POSIX i LSB Dystrybucje GNU/Linux Działanie powłoki systemowej Przekierowania Zmienne środowiskowe Konfiguracja powłoki Kontrola zadań Skrypty powłoki zmienne, pętle, argumenty,... System operacyjny Unix/Linux Zarządzanie procesami p. 45/52

46 Podsumowanie: wykład 3 Środowisko programowania Edytor, IDE Kompilator, etapy kompilacji Debugger Make, configure, CVS Biblioteki readline Boost sqlite Doxygen Valgrind System operacyjny Unix/Linux Zarządzanie procesami p. 46/52

47 Podsumowanie: wykład 4 Procesy stan procesu, blok kontrolny procesu,... /proc fork, vfork, exec Deskryptory plików Sygnały Potoki Wiadomości, semafory, pamięć współdzielona Połączenia sieciowe System plików ext2 System operacyjny Unix/Linux Zarządzanie procesami p. 47/52

48 Podsumowanie: wykład 5 GRUB X Window aptitude, apt-get i dpkg Użytkownicy i grupy SUID i SGID ACL CUPS cron samba Konfiguracja Apache, shorewall, named System operacyjny Unix/Linux Zarządzanie procesami p. 48/52

49 Działanie powłoki Parsowanie polecenia fork() zwraca 0 lub pid dalsze działanie programu zależy od tego czy jesteśmy rodzicem czy dzieckiem Rodzic (powłoka) oczekuje na zakończenie wywołując wait() Dziecko (wywołane polecenie) otwiera pliki wejściowe/wyjściowe kopiuje deskryptory przy użyciu dup2 wykonuje zadane polecenie przez execvp int execvp(const char *file, char *const argv[]); System operacyjny Unix/Linux Zarządzanie procesami p. 49/52

50 Parsowanie linii poleceń Wszystko do pierwszej spacji to nazwa polecenia Resztę linii trzeba podzielić na słowa jeśli słowo zaczyna się od > to jest przekierowaniem wyjścia jeśli słowo zaczyna się od < to jest przekierowaniem wejścia jeśli słowo zaczyna się od to jest to potok w przeciwnym wypadku jest to argument który trzeba przekazać do polecenia ls -l -a >abc.txt ls -l -a more System operacyjny Unix/Linux Zarządzanie procesami p. 50/52

51 Parsowanie linii poleceń class Polecenie { string nazwa; string argumenty[10]; string wejscie; string wyjscie; string drugie_polecenie; }; System operacyjny Unix/Linux Zarządzanie procesami p. 51/52

52 Parsowanie linii poleceń Polecenie parsuj(string line) { Polecenie p; int arg_nr = -1 int index=0; for (int i=1;i<line.size();i++) { if (line[i]!= ) continue; string slowo = line.substr(index,i); if (arg_nr==-1) { p.nazwa=slowo; arg_nr=0 } else { p.argumenty[arg_nr] = slowo; arg_nr++; } index = i; } } System operacyjny Unix/Linux Zarządzanie procesami p. 52/52

Kolokwium. System operacyjny Unix/Linux

Kolokwium. System operacyjny Unix/Linux System operacyjny Unix/Linux Kolokwium Numer indeksu: 3714 Total points: 135 Sławomir Nowaczyk 29 May 2010 Here is the result of your exam. Questions for which you have provided a correct answer have been

Bardziej szczegółowo

1. Ustanawianie ograniczeń na użycie zasobów

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ą

Bardziej szczegółowo

Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.

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,

Bardziej szczegółowo

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux. Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać

Bardziej szczegółowo

Sygnały. 7. Sygnały (2005/2006)

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

Bardziej szczegółowo

Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

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

Bardziej szczegółowo

Pamięć współdzielona

Pamięć współdzielona Pamięć współdzielona Systemy Operacyjne 2 Piotr Zierhoffer 17 listopada 2011 Mechanizmy IPC IPC Inter Process Communication kolejki komunikatów, pamięć współdzielona semafory polecenia bash: ipcs, ipcrm

Bardziej szczegółowo

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

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

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:

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:

Bardziej szczegółowo

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. 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,

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Procesy, wątki i zasoby

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.

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu 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

Bardziej szczegółowo

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych Wykład 2: Budowanie sieci lokalnych 1 Budowanie sieci lokalnych Technologie istotne z punktu widzenia konfiguracji i testowania poprawnego działania sieci lokalnej: Protokół ICMP i narzędzia go wykorzystujące

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Dariusz Wawrzyniak 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 Plan

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

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

Bardziej szczegółowo

Działanie systemu operacyjnego

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

Bardziej szczegółowo

System operacyjny MACH

System operacyjny MACH Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów

Bardziej szczegółowo

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces Procesy pojęcia podstawowe 1 1.1 Jak kod źródłowy przekształca się w proces W języku wysokiego poziomu tworzy się tak zwany kod źródłowy który po zapisaniu będzie plikiem z programem źródłowym. Plik źródłowy

Bardziej szczegółowo

Działanie systemu operacyjnego

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

Bardziej szczegółowo

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP. T: Konfiguracja usługi DHCP w systemie Linux. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP. DHCP (ang. Dynamic Host Configuration Protocol) protokół komunikacyjny

Bardziej szczegółowo

Programowanie Współbieżne. W Linuxie/Unixie

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

Bardziej szczegółowo

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

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ę

Bardziej szczegółowo

Obsługa sygnałów. Tomasz Borzyszkowski

Obsługa sygnałów. Tomasz Borzyszkowski Obsługa sygnałów Tomasz Borzyszkowski Wprowadzenie Zaawansowane systemy operacyjne często realizując duże zadania, wykorzystują do ich realizacji wiele współdziałających ze sobą programów/procesów. Do

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

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

Bardziej szczegółowo

Kolejki FIFO (łącza nazwane)

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

Bardziej szczegółowo

Model procesu w systemie Linux. Tomasz Borzyszkowski

Model procesu w systemie Linux. Tomasz Borzyszkowski Model procesu w systemie Linux Tomasz Borzyszkowski Definicja procesu klasyka Definicja [M.Bach WNT95] Proces jest wykonaniem programu i składa się ze zbiorowości bajtów, które CPU interpretuje jako instrukcje

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

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

Bardziej szczegółowo

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Działanie systemu operacyjnego

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ęć

Bardziej szczegółowo

Systemy Operacyjne 1 Laboratorium 2 Procesy i sygnały w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot

Systemy Operacyjne 1 Laboratorium 2 Procesy i sygnały w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot Systemy Operacyjne 1 Laboratorium 2 Procesy i sygnały w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot października 2018 Wstęp W tej instrukcji zawarte są informacje na temat tworzenia i obsługiwania

Bardziej szczegółowo

System plików. Warstwowy model systemu plików

System plików. Warstwowy model systemu plików System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:

Bardziej szczegółowo

Systemy operacyjne III

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

Bardziej szczegółowo

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to

Bardziej szczegółowo

Działanie systemu operacyjnego

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych IPC Systemu V laboratorium: 08 Kraków, 2014 08. Programowanie Usług Sieciowych

Bardziej szczegółowo

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

Bardziej szczegółowo

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja za pomocą potoków. Tomasz Borzyszkowski Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania

Bardziej szczegółowo

Zarządzanie procesami

Zarządzanie procesami Zarządzanie procesami Proces, najogólniej rzecz ujmując, jest wykonywanym programem. Na linuxowy proces składają się: Liniowa przestrzeń adresowa, w której z kolei można wydzielić sekcję tekstu zawierającą

Bardziej szczegółowo

Systemy Operacyjne I: Procesy

Systemy Operacyjne I: Procesy Politechnika Poznańska 4 kwietnia 2013 Materiały Prezentacja oraz inne materiały zostały przygotowane na podstawie: Użytkowanie systemu operacyjnego UNIX - dr D.Wawrzyniak Systemy operacyjne - skrypt -

Bardziej szczegółowo

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy

Bardziej szczegółowo

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows. Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,

Bardziej szczegółowo

procesy odrębne dzielone

procesy odrębne dzielone procesy odrębne Unikatowy PID (2-32000) Zmienne Zbiory deskryptorów plików Przestrzeń stosu (lokalne zmienne, wywołania funkcji) Środowisko Licznik rozkazów dzielone Kod programu brak możliwości zapisu

Bardziej szczegółowo

WAŻNE: Słowo 'auto' oznacza, że konfigurujemy interfejs fizyczny. Wymienione po nim nazwy

WAŻNE: Słowo 'auto' oznacza, że konfigurujemy interfejs fizyczny. Wymienione po nim nazwy Konfiguracja sieci w systemie Linux Debian Jedną z najważniejszych funkcjonalności dla serwera jest oczywiście połączenie z siecią lokalną/rozległą. System Linux od samego początku budowany był z myślą

Bardziej szczegółowo

Sieci komputerowe - administracja

Sieci komputerowe - administracja Sieci komputerowe - administracja warstwa sieciowa Andrzej Stroiński andrzej.stroinski@cs.put.edu.pl http://www.cs.put.poznan.pl/astroinski/ warstwa sieciowa 2 zapewnia adresowanie w sieci ustala trasę

Bardziej szczegółowo

Serwer i klient DHCP w systemie Linux

Serwer i klient DHCP w systemie Linux Administrowanie Systemami Komputerowymi Serwer i klient DHCP w systemie Linux Laboratorium nr 3 Instrukcja Tomasz Boiński Wstęp W sieci opartej na protokole TCP/IP każdy komputer ma co najmniej jeden adres

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Proces y i y w i ąt ą ki

Proces y i y w i ąt ą ki Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

Komputery przemysłowe i systemy wbudowane

Komputery przemysłowe i systemy wbudowane Komputery przemysłowe i systemy wbudowane Systemy operacyjne w systemach wbudowanych 2 KSEM WETI PG October 7, 2015 System operacyjny System operacyjny (OS) - opcjonalny w systemach wbudowanych. zbiór

Bardziej szczegółowo

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1 Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Dziedzina Unix laboratorium: 06 Kraków, 2014 06. Programowanie Usług Sieciowych

Bardziej szczegółowo

4.2 Sposób korzystania z l acza

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

Bardziej szczegółowo

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego

Bardziej szczegółowo

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias 7 październik 2008 Uruchomienie, monitorowanie procesu, potoki, aliasy S laj d 1 Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias 7 październik 2008 Uruchomienie, monitorowanie

Bardziej szczegółowo

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie. Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

IPC: Kolejki komunikatów

IPC: Kolejki komunikatów IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład

Bardziej szczegółowo

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

SYSTEMY CZASU RZECZYWISTEGO - VxWorks WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()

Bardziej szczegółowo

Obsługa plików Procesy

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

Bardziej szczegółowo

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Linux Kernel III. Character devices

Linux Kernel III. Character devices Linux Kernel III Character devices Urządzenia systemu Linux (I) Character device Block device Network device Do urządzenia piszemy jak do pliku, Dozwolone działania: open, close, read, write, Np. /dev/tty1.

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Czym jest router?... 3 Vyatta darmowy router... 3 Vyatta podstawowe polecenia i obsługa... 3 Zarządzanie użytkownikami... 3 Uzupełnianie komend...

Czym jest router?... 3 Vyatta darmowy router... 3 Vyatta podstawowe polecenia i obsługa... 3 Zarządzanie użytkownikami... 3 Uzupełnianie komend... Czym jest router?... 3 Vyatta darmowy router... 3 Vyatta podstawowe polecenia i obsługa... 3 Zarządzanie użytkownikami... 3 Uzupełnianie komend... 4 Historia komend... 4 Wywołanie komend operacyjnych w

Bardziej szczegółowo

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

Bardziej szczegółowo

Logiczny model komputera i działanie procesora. Część 1.

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

Aplikacja Sieciowa wątki po stronie klienta

Aplikacja Sieciowa wątki po stronie klienta Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się

Bardziej szczegółowo

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres.

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres. T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres. Podczas wykonywania poniższych zadań w zeszycie w sprawozdaniu 1. podaj i wyjaśnij polecenia, które użyjesz, aby: wyświetlić informacje

Bardziej szczegółowo

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017 Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu

Bardziej szczegółowo

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling) Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

I.Wojnicki, Tech.Inter.

I.Wojnicki, Tech.Inter. Igor Wojnicki (AGH, KA) 13 maja 2012 1 / 26 Hypertext Preprocessor Igor Wojnicki Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie 13 maja 2012 $Id: php1.tex,v 1.1 2011/11/19 19:14:25 wojnicki Exp

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

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

Bardziej szczegółowo

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1 Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

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

Bardziej szczegółowo

Temat zajęć: Obsługa procesów w systemie.

Temat zajęć: Obsługa procesów w systemie. Temat zajęć: Obsługa procesów w systemie. Czas realizacji zajęć: 90 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Procesy macierzyste i potomne, tworzenie procesów potomnych, uruchamianie

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

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

Bardziej szczegółowo

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7 Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7 System operacyjny 7 Sieć komputerowa 8 Teoria sieci 9 Elementy sieci 35 Rozdział 2. Sieć Linux 73 Instalowanie karty sieciowej 73 Konfiguracja interfejsu

Bardziej szczegółowo

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:

Bardziej szczegółowo

1.1 Definicja procesu

1.1 Definicja procesu 1 Procesy pojęcia podstawowe 1 1.1 Definicja procesu Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6. Plan wykładu 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6. Modem analogowy Sieć komputerowa Siecią komputerową nazywa się grupę komputerów

Bardziej szczegółowo

Serwer DHCP (dhcpd). Linux OpenSuse.

Serwer DHCP (dhcpd). Linux OpenSuse. 2015 Serwer DHCP (dhcpd). Linux OpenSuse. PIOTR KANIA Spis treści Wstęp.... 2 Instalacja serwera DHCP w OpenSuse.... 2 Porty komunikacyjne.... 2 Uruchomienie, restart, zatrzymanie serwera DHCP... 2 Sprawdzenie

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR

Programowanie mikrokontrolerów AVR Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem

Bardziej szczegółowo

Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski POZIOM

Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski POZIOM Kierunek INFORMATYKA Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczania Wykład prof. F. Seredyński

Bardziej szczegółowo

Bezpieczeństwo systemów informatycznych

Bezpieczeństwo systemów informatycznych Bezpieczeństwo systemów informatycznych Rule Set Based Access Control ĆWICZENIE RSBAC 1 Wprowadzenie RSBAC to zestaw łat na jądro systemu Linux rozszerzających bezpieczeństwo systemu. Wspiera on mechanizmy

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Wykład 10 - boost Thread. 8 czerwca 2007 Równoległość bardzo wolna reakcja człowieka wolne urządzenia wejścia - wyjścia (np. drukarki) bardzo szybkie procesory można przeprowadzać obliczenia podczas obsługi

Bardziej szczegółowo

2. Zarządzanie procesami

2. Zarządzanie procesami J. Ułasiewicz Programowanie aplikacji współbieżnych 1 2. Zarządzanie procesami 2.1 Funkcje zarządzania procesami Administrowanie procesami obejmuje następujące czynności: Testowanie atrybutów procesu.

Bardziej szczegółowo

Procesy, pliki, potoki, sygnały - uzupełnienie

Procesy, pliki, potoki, sygnały - uzupełnienie Procesy, pliki, potoki, sygnały - uzupełnienie 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/

Bardziej szczegółowo