Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011
|
|
- Dariusz Bednarski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Procesy Systemy Operacyjne 2 laboratorium Mateusz Hołenko 9 października 2011
2 Plan zajęć 1 Procesy w systemie Linux proces procesy macierzyste i potomne procesy zombie i sieroty 2 Funkcje systemowe pobieranie identyfikatorów tworzenie procesów potomnych uruchamianie programów w ramach procesu kończenie i zabijanie procesów synchronizacja procesów macierzystych i potomnych przekierowywanie strumieni wejściowych/wyjściowych 3 Zadania teoretyczne 4 Zadania praktyczne Mateusz Hołenko Procesy [1/24]
3 Procesy w systemie Linux
4 Proces proces to nie program! pojęcie abstrakcyjne program w trakcie wykonywania procesami zarządza system operacyjny procesom przydzielane są zasoby systemowe procesor pamięć operacyjna urządzenia zewnętrzne Mateusz Hołenko Procesy [3/24]
5 Proces proces to nie program! pojęcie abstrakcyjne program w trakcie wykonywania procesami zarządza system operacyjny procesom przydzielane są zasoby systemowe procesor pamięć operacyjna urządzenia zewnętrzne Mateusz Hołenko Procesy [3/24]
6 Proces proces to nie program! pojęcie abstrakcyjne program w trakcie wykonywania procesami zarządza system operacyjny procesom przydzielane są zasoby systemowe procesor pamięć operacyjna urządzenia zewnętrzne Mateusz Hołenko Procesy [3/24]
7 Proces proces to nie program! pojęcie abstrakcyjne program w trakcie wykonywania procesami zarządza system operacyjny procesom przydzielane są zasoby systemowe procesor pamięć operacyjna urządzenia zewnętrzne Mateusz Hołenko Procesy [3/24]
8 Procesy macierzyste i potomne procesy tworzą hierarchię proces główny nazywa się init proces tworzący inne procesy staje się dla nich rodzicem (procesem macierzystym) wynik polecenia ps l a (PID identyfikator procesu, PPID identyfikator rodzica procesu) F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND n_tty_ Ss+ tty1 0 :00 / sbin / getty... tty wait Ss pts /0 0 :00 / bin / bash R+ pts /0 0 : 00 ps l a Mateusz Hołenko Procesy [4/24]
9 Procesy macierzyste i potomne procesy tworzą hierarchię proces główny nazywa się init proces tworzący inne procesy staje się dla nich rodzicem (procesem macierzystym) wynik polecenia ps l a (PID identyfikator procesu, PPID identyfikator rodzica procesu) F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND n_tty_ Ss+ tty1 0 :00 / sbin / getty... tty wait Ss pts /0 0 :00 / bin / bash R+ pts /0 0 : 00 ps l a Mateusz Hołenko Procesy [4/24]
10 Procesy macierzyste i potomne procesy tworzą hierarchię proces główny nazywa się init proces tworzący inne procesy staje się dla nich rodzicem (procesem macierzystym) wynik polecenia ps l a (PID identyfikator procesu, PPID identyfikator rodzica procesu) F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND n_tty_ Ss+ tty1 0 :00 / sbin / getty... tty wait Ss pts /0 0 :00 / bin / bash R+ pts /0 0 : 00 ps l a Mateusz Hołenko Procesy [4/24]
11 Procesy zombie i sieroty procesy mogą kończyć swoje działanie w różnej kolejności procesy sieroty (ang. orphan) proces macierzysty się zakończył procesem macierzystym staje się init procesy zombie (ang. zombie) proces zakończył się, ale czeka na przekazanie statusu zakończenia nie zajmuje procesora ani innych zasobów występuje w tablicy procesów (tam znajduje się bowiem status zakończenia procesu) Mateusz Hołenko Procesy [5/24]
12 Procesy zombie i sieroty procesy mogą kończyć swoje działanie w różnej kolejności procesy sieroty (ang. orphan) proces macierzysty się zakończył procesem macierzystym staje się init procesy zombie (ang. zombie) proces zakończył się, ale czeka na przekazanie statusu zakończenia nie zajmuje procesora ani innych zasobów występuje w tablicy procesów (tam znajduje się bowiem status zakończenia procesu) Mateusz Hołenko Procesy [5/24]
13 Procesy zombie i sieroty procesy mogą kończyć swoje działanie w różnej kolejności procesy sieroty (ang. orphan) proces macierzysty się zakończył procesem macierzystym staje się init procesy zombie (ang. zombie) proces zakończył się, ale czeka na przekazanie statusu zakończenia nie zajmuje procesora ani innych zasobów występuje w tablicy procesów (tam znajduje się bowiem status zakończenia procesu) Mateusz Hołenko Procesy [5/24]
14 Funkcje systemowe
15 Pobieranie identyfikatorów identyfikator procesu PID pid_t getpid(void) identyfikator rodzica procesu PPID pid_t getppid(void) Mateusz Hołenko Procesy [7/24]
16 Pobieranie identyfikatorów identyfikator procesu PID pid_t getpid(void) identyfikator rodzica procesu PPID pid_t getppid(void) Mateusz Hołenko Procesy [7/24]
17 Tworzenie procesów potomnych tworzenie procesu potomnego pid_t fork(void) przykład zastosowania #include <unistd.h> #include <stdio.h> int main(int argc, char* argv[]) { printf("początek programu\n"); if (fork() == 0) { printf("tutaj pisze proces potomny!\n"); } else { printf("tutaj pisze proces macierzysty!\n"); } printf("tutaj piszą oba procesy!\n"); } Mateusz Hołenko Procesy [8/24]
18 Tworzenie procesów potomnych tworzenie procesu potomnego pid_t fork(void) przykład zastosowania #include <unistd.h> #include <stdio.h> int main(int argc, char* argv[]) { printf("początek programu\n"); if (fork() == 0) { printf("tutaj pisze proces potomny!\n"); } else { printf("tutaj pisze proces macierzysty!\n"); } printf("tutaj piszą oba procesy!\n"); } Mateusz Hołenko Procesy [8/24]
19 Uruchamianie programu w ramach procesu rodzina funkcji exec int execl(const char *path, const char *arg,...) int execlp(const char *file, const char *arg,...) int execle(const char *path, const char *arg,..., char *const envp[]) int execv(const char *path, char *const argv[]) int execvp(const char *file, char *const argv[]) int execve(const char *file, char *const argv[], char *const envp[]) poprawne wykonanie funkcji exec powoduje bezpowrotną zmianę wykonywanego programu! sugerowane wykorzystanie w połączeniu z funkcją fork Mateusz Hołenko Procesy [9/24]
20 Uruchamianie programu w ramach procesu rodzina funkcji exec int execl(const char *path, const char *arg,...) int execlp(const char *file, const char *arg,...) int execle(const char *path, const char *arg,..., char *const envp[]) int execv(const char *path, char *const argv[]) int execvp(const char *file, char *const argv[]) int execve(const char *file, char *const argv[], char *const envp[]) poprawne wykonanie funkcji exec powoduje bezpowrotną zmianę wykonywanego programu! sugerowane wykorzystanie w połączeniu z funkcją fork Mateusz Hołenko Procesy [9/24]
21 Kończenie i zabijanie procesu zakończenie działania procesu i zwrócenie statusu zakończenia status status zakończenia procesu proces zakończony poprawnie: 0 błąd: inna wartość void exit(int status) zabicie procesu potomnego pid identyfikator procesu, który ma zostać zabity (patrz man 2 kill!) sig numer sygnału wysyłany do procesu potomnego int kill(pid_t pid, int sig) Mateusz Hołenko Procesy [10/24]
22 Kończenie i zabijanie procesu zakończenie działania procesu i zwrócenie statusu zakończenia status status zakończenia procesu proces zakończony poprawnie: 0 błąd: inna wartość void exit(int status) zabicie procesu potomnego pid identyfikator procesu, który ma zostać zabity (patrz man 2 kill!) sig numer sygnału wysyłany do procesu potomnego int kill(pid_t pid, int sig) Mateusz Hołenko Procesy [10/24]
23 Synchronizacja procesów synchronizacja procesu macierzystego i potomnego status adres komórki pamięci, do którego zapisany zostanie status zakończenia procesu potomnego pid identyfikator procesu, na którego zakończenie funkcja ma oczekiwać (patrz man 2 wait!) options opcje określające sposób zakończenia funkcji pid_t wait(int* status) pid_t waitpid(pid_t pid, int* status, int options) Mateusz Hołenko Procesy [11/24]
24 Przykład wykorzystania funkcji exec #include <unistd.h> #include <stdio.h> int main(int argc, char* argv[]) { printf("początek działania programu\n"); if (fork() == 0) { execlp("ls", "ls", "-a", NULL); perror("błąd uruchamiania programu!"); exit(1); } wait(null); printf("koniec działania programu\n"); return 0; } Mateusz Hołenko Procesy [12/24]
25 Przekierowywanie strumieni wejściowych/wyjściowych proces potomny dziedziczy tablicę otwartych deskryptorów przekierowania procesów ustawione przed wywołaniem funkcji fork obowiązują również w procesie potomnym! przykładowy program #include <unistd.h> #include <stdio.h> #include <fcntl.h> int main(int argc, char* argv[]) { dup2(creat("ls-out", 0600), 1); execvp("ls", argv); } Mateusz Hołenko Procesy [13/24]
26 Przekierowywanie strumieni wejściowych/wyjściowych proces potomny dziedziczy tablicę otwartych deskryptorów przekierowania procesów ustawione przed wywołaniem funkcji fork obowiązują również w procesie potomnym! przykładowy program #include <unistd.h> #include <stdio.h> #include <fcntl.h> int main(int argc, char* argv[]) { dup2(creat("ls-out", 0600), 1); execvp("ls", argv); } Mateusz Hołenko Procesy [13/24]
27 Przekierowywanie strumieni wejściowych/wyjściowych proces potomny dziedziczy tablicę otwartych deskryptorów przekierowania procesów ustawione przed wywołaniem funkcji fork obowiązują również w procesie potomnym! przykładowy program #include <unistd.h> #include <stdio.h> #include <fcntl.h> int main(int argc, char* argv[]) { dup2(creat("ls-out", 0600), 1); execvp("ls", argv); } Mateusz Hołenko Procesy [13/24]
28 Zadania teoretyczne
29 Ile procesów zostanie stworzonych? #include <unistd.h> #include <stdio.h> #include <fcntl.h> int main(int argc, char* argv[]) { fork(); fork(); if(fork() == 0) fork(); fork(); } return 0; Mateusz Hołenko Procesy [15/24]
30 Mateusz Hołenko Procesy [16/24]
31 Ile procesów zostanie stworzonych? #include <unistd.h> #include <stdio.h> #include <fcntl.h> #include <stdlib.h> int main(int argc, char* argv[]) { fork(); fork(); if(fork()!= 0) exit(0); fork(); } return 0; Mateusz Hołenko Procesy [17/24]
32 Mateusz Hołenko Procesy [18/24]
33 Ile procesów zostanie stworzonych? #include <unistd.h> #include <stdio.h> #include <fcntl.h> #include <stdlib.h> int main(int argc, char* argv[]) { fork(); fork(); if(fork()!= 0) if(fork() == 0) fork(); else exit(0); fork(); } return 0; Mateusz Hołenko Procesy [19/24]
34 Mateusz Hołenko Procesy [20/24]
35 Zadania praktyczne
36 Zadania Zadanie 1 Napisz program tworzący dwa procesy. Każdy ze stworzonych procesów powinien utworzyć proces potomka. Należy wyświetlać identyfikatory procesów rodziców i potomków po każdym wywołaniu funkcji fork. Zadanie 2 Napisz program wypisujący napis Poczatek, następnie wywołujący funkcję fork i wypisujący napis Koniec. Co jest efektem uruchomienia tego programu? Mateusz Hołenko Procesy [22/24]
37 Zadania Zadanie 1 Napisz program tworzący dwa procesy. Każdy ze stworzonych procesów powinien utworzyć proces potomka. Należy wyświetlać identyfikatory procesów rodziców i potomków po każdym wywołaniu funkcji fork. Zadanie 2 Napisz program wypisujący napis Poczatek, następnie wywołujący funkcję fork i wypisujący napis Koniec. Co jest efektem uruchomienia tego programu? Mateusz Hołenko Procesy [22/24]
38 Zadania Zadanie 3 Napisz program wypisujący napis Poczatek, następnie wywołujący funkcję exec powodującą wydruk zawartości bieżącego katalogu i następnie wypisujący napis Koniec. Co jest efektem uruchomienia tego programu? Zadanie 4 Napisz program którego rezultatem będzie wydruk zawartości bieżącego katalogu poprzedzony napisem Poczatek a zakończony napisem Koniec. Mateusz Hołenko Procesy [23/24]
39 Zadania Zadanie 3 Napisz program wypisujący napis Poczatek, następnie wywołujący funkcję exec powodującą wydruk zawartości bieżącego katalogu i następnie wypisujący napis Koniec. Co jest efektem uruchomienia tego programu? Zadanie 4 Napisz program którego rezultatem będzie wydruk zawartości bieżącego katalogu poprzedzony napisem Poczatek a zakończony napisem Koniec. Mateusz Hołenko Procesy [23/24]
40 Zadania Zadanie 5 Napisz program, którego wynikiem jest sformatowana lista procesów: poczatek listy proces 1 proces2... koniec listy Zadanie 6 Napisz program tworzący równocześnie trzy procesy zombi. Mateusz Hołenko Procesy [24/24]
41 Zadania Zadanie 5 Napisz program, którego wynikiem jest sformatowana lista procesów: poczatek listy proces 1 proces2... koniec listy Zadanie 6 Napisz program tworzący równocześnie trzy procesy zombi. Mateusz Hołenko Procesy [24/24]
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
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
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,
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
2. Zarządzanie procesami
J. Ułasiewicz Komputery i systemy równoległe 1 2. Zarządzanie procesami 2.1 Funkcje zarządzania procesami Administrowanie procesami obejmuje następujące czynności: Tworzenie procesu. Testowanie atrybutów
pami eć operacyjna przechowuje dane do przetworzenia, tymczasowe dane pomocnicze,
16 3 Procesy 3 Procesy Pojecie procesu jest kluczowe dla zrozumienia funkcjonowania wielozadaniowych systemów operacyjnych. Trudność w zrozumieniu tego pojecia i tym samym zg lebienie mechanizmu obs lugi
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
Procesy. 5. Procesy (2005/2006)
Procesy Program w systemie UNIX jest plikiem zawierającym gotowy do wykonania przez komputer ciąg instrukcji oraz zestaw danych zainicjowanych przez programistę. Proces jest podstawową aktywną jednostką
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
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
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
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
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
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?
Procesy w systemach UNIX i Linux
SOE Systemy Operacyjne Wykład 5 Procesy w systemach UNIX i Linux dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Procesy Proces wykonujący się program identyfikator PID Procesy
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.
Zarządzanie Procesami
Rozumienie pojęcia proces w informatyce jest, w istocie rzeczy, bliskie jego zwyczajowemu pojmowaniu, czyli jako pewnej sekwencji zmian lub czy zdarzeń zachodzących wg ustalonego schematu (choć niekoniecznie
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/
2. Zarządzanie procesami
J. Ułasiewicz Sieciowe Systemy Operacyjne 1 2. Zarządzanie procesami W systemie Linux wszelkie aktywności wykonywane są przez procesy które operują na pamięci operacyjnej, plikach i urządzeniach. Procesy
Łą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
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
Funkcje jadra systemu operacyjnego UNIX
Funkcje jadra systemu operacyjnego UNIX Dariusz Wawrzyniak IIPP 29 września 2009 Plan 1 Wstęp 2 Pliki 3 Procesy 4 Łacza 5 Mechanizmy IPC 6 Sygnały Funkcje jadra systemu operacyjnego UNIX 29 września 2009
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
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
Funkcje jadra systemu operacyjnego UNIX
Funkcje jadra systemu operacyjnego UNIX Dariusz Wawrzyniak IIPP 29 września 2009 Plan Wstęp Pliki Procesy Łacza Mechanizmy IPC Sygnały Plan Wstęp Pliki Procesy Łacza Mechanizmy IPC Sygnały Funkcje systemowe
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
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
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
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ę,
J. Ułasiewicz Łącza nienazwane, nazwane, select 1
J. Ułasiewicz Łącza nienazwane, nazwane, select 1 4. Komunikacja pomiędzy procesami przez łącza nienazwane i nazwane Łącza nienazwane (ang. Unnamed Pipes) i nazwane (ang. Unnamed Pipes) - jedna z historycznie
systemu operacyjnego UNIX Funkcje jadra Spis treści Dariusz Wawrzyniak 20 października Wst ep 5
Funkcje jadra systemu operacyjnego UNIX Dariusz Wawrzyniak Dariusz.Wawrzyniak@cs.put.poznan.pl 20 października 2008 Spis treści 1 Wst ep 5 2 Pliki 6 2.1 Operacje na plikach zwyk lych.............................
UXP1A Unix Programowanie i Architektura
UXP zima 215-216, Grzegorz Blinowski UXP1A Unix Programowanie i Architektura zima 215-216 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej UXP zima 215-216, Grzegorz Blinowski Regulamin,
Laboratorium systemów operacyjnych ćwiczenie nr 3. [ilość modułów: 1] Temat zajęć: Procesy w systemie operacyjnym
Temat zajęć: Procesy w systemie operacyjnym Czas realizacji zajęć: 45 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Pojęcie procesu, procesy w systemie, usuwanie procesów, priorytety
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:
Krótki kurs programowania współbieżnego
Krótki kurs programowania współbieżnego Procesy i sygnały w językach C oraz Python Semafory i pamięć dzielona (język C) Uproszczony semafor z Pythona Inne metody komunikowania urs systemu UNIX 1 Ale najpierw
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
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
Procesy i potoki. S. Samolej: Procesy
Procesy i potoki 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
Zarządzanie procesami (omawiane zagadnienia)
Zarządzanie procesami (omawiane zagadnienia) Pojęcie procesu Stany procesu Blok kontrolny procesu Tworzenie procesu Sygnały Kończenie wykonania procesu Działanie interpretatora poleceń (shell-a) Koncepcja
Stany procesu. nowy aktywny oczekujący gotowy zakończony. zakończ. nowy. przerwanie gotowy aktywny. we/wy czek. we/wy czekający
PROCESY podsystem zarządzania procesami proces to ciąg czynności wykonywanych za pośrednictwem ciągu rozkazów, których wynikiem jest wykonanie pewnych zadań proces - program (pasywny), który się aktualnie
Jądro Powłoka System plików Programy użytkowe
LINUX Jądro Powłoka System plików Programy użytkowe / tmp etc dev bin usr home proc bin lib ułatwienia pliki ukryte pol1;pol2 pol1 \ arg1 \ arg2 ~/.. $HOME.nazwa ls -a metaznaki *? [.] maskowanie
1. Procesy i współbieżność
1. Procesy i współbieżność Opracował: Sławomir Samolej Politechnika Rzeszowska, Katedra Informatyki i Automatyki, Rzeszów, 2013. 1.1. Wprowadzenie Proces to przestrzeń adresowa i pojedynczy wątek sterujący,
Dariusz Wawrzyniak 5 kwietnia 2001
Funkcje jadra systemu operacyjnego UNIX w przyk ladach Dariusz Wawrzyniak darek@cs.put.poznan.pl 5 kwietnia 2001 1 Pliki 1.1 Operacje na plikach zwyk lych Jadro systemu operacyjnego UNIX udostepnia dwie
Łą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ś
Temat zajęć: Obsługa łączy komunikacyjnych
Temat zajęć: Obsługa łączy komunikacyjnych Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: I. Łącza komunikacyjne Potoki nienazwane, potoki nazwane, przykłady
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
// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.
Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy
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 -
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
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
Wstęp do programowania 1
Wstęp do programowania 1 Argumenty funkcji main Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Argumenty funkcji main dwa równoważne sposoby int main(int argc, char*
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
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
Moduł 4: Strumienie, potoki, sterowanie procesami
Moduł 4: Strumienie, potoki, sterowanie procesami Strumienie i potoki Standardowe strumienie są podstawowymi kanałami komunikacji pomiędzy komputerem a otoczeniem. Do podstawowych strumieni należą Standard
UŻYCIE I ZARZĄDZANIE WĄTKAMI
Proces jako pewna instancja programu, w trakcie wykonania, ze swej natury w każdym systemie operacyjnym wyróżniają: prawa własności zasobu a jednym z fundamentalnych zadań systemu jest ochrona przed jednoczesnym
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 Łącza nienazwane, nazwane, select 1
J. Ułasiewicz Łącza nienazwane, nazwane, select 1 4. Komunikacja pomiędzy procesami przez łącza nienazwane i nazwane Łącza nienazwane (ang. Unnamed Pipes) i nazwane (ang. Unnamed Pipes) - jedna z historycznie
UŻYCIE I ZARZĄDZANIE WĄTKAMI
Proces jako pewna instancja programu, w trakcie wykonania, ze swej natury w każdym systemie operacyjnym wyróżniają: prawa własności zasobu a jednym z fundamentalnych zadań systemu jest ochrona przed jednoczesnym
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
Wskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
... Ireneusz Mrozek. Wydział Informatyki
Ireneusz Mrozek Wydział Informatyki Proces wykonujcy si program Proces jednostka pracy systemu zarzdzan przez system operacyjny. W skład procesu wchodz: - program; - dane - zawarto rejestrów, stosu; -
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
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
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
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
Temat zajęć: Tworzenie i obsługa wątków.
Temat zajęć: Tworzenie i obsługa wątków. Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Tworzenie wątków, przekazywanie parametrów do funkcji wątków i pobieranie
Wskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
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ę
POZNA SUPERCOMPUTING AND NETWORKING CENTER. Wprowadzenie do systemu operacyjnego Linux zarzdzanie procesami
Wprowadzenie do systemu operacyjnego Linux zarzdzanie procesami plan funkcje i struktura jdra funkcje systemowe, pułapki i przerwania zarzdzanie procesami: charakterystyka ogólna tworzenie, usuwanie i
x szereg(x)
Wstęp do Programowania, laboratorium 09 Zadanie 1. Zrobić program liczący wartość funkcji sin(x) przy pomocy rozwinięcia w szereg. Zakres wartości x (od, do) oraz liczba przedziałów podawane będą jako
Krótkie wprowadzenie do korzystania z OpenSSL
Krótkie wprowadzenie do korzystania z OpenSSL Literatura: http://www.openssl.org E. Rescola, "An introduction to OpenSSL Programming (PartI)" (http://www.linuxjournal.com/article/4822) "An introduction
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
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
5 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 5 1/6 Język C Instrukcja laboratoryjna Temat: Funkcje, parametry linii poleceń, typ wyliczeniowy. 5 Przygotował: mgr inż. Maciej Lasota 1) Parametry linii poleceń. Język C oprócz wprowadzania
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
Argumenty wywołania programu, operacje na plikach
Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują
Wstęp do informatyki Shell podstawy
Wstęp do informatyki Shell podstawy Podstawowe polecenia less plik(i) Przeglądaj interaktywnie zawartość plików. Można używać klawiszy kursora, PgDn, PgUp, etc. Koniec pracy (q), wyszukiwanie / Less is
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
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
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
The Graphics View Framework. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 5. he Graphics View Framework - architektura
The Graphics View Framework Oprogramowanie i wykorzystanie stacji roboczych Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska The Graphics View
dynamiczny przydział pamięci calloc() memset() memcpy( ) (wskaźniki!! )
dynamiczny przydział pamięci malloc() free() realloc() calloc() memset() memcpy( ) mempcpy( ) memmove() (wskaźniki!! ) 1 dynamiczny przydział pamięci void * memccpy (void * to, void * from, int c, int
1 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki
1. PRZESZUKIWANIE SYSTEMU PLIKÓW
5 1. PRZESZUKIWANIE SYSTEMU PLIKÓW Do przeszukiwania linuksowego systemu plików w poszukiwaniu plików służą polecenia systemowe: grep i find. Jeśli poszukiwane są pliki według ich atrybutów, zawartych
ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
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
Laboratorium Procesy w systemach UNIX 3.2 Polecenia związane z procesami
Laboratorium 3 3.1 Procesy w systemach UNIX 3.2 Polecenia związane z procesami 1 3.1 Procesy w systemach UNIX Z systemami unixowymi związane jest pojęcie procesu. W takim ujęciu, proces, rozumiany jest
Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok
Procesy i sygnały. Procesy. 6. Procesy i sygnały (2006/2007)
Procesy i sygnały Procesy Program w systemie UNIX jest plikiem zawierającym gotowy do wykonania przez komputer ciąg instrukcji oraz zestaw danych zainicjowanych przez programistę. Proces jest podstawową
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)
Wykład 7 Abstrakcyjne typy danych słownik (lista symboli) Definicja słownika: Słownik (tablica lub lista symboli) to struktura danych zawierająca elementy z kluczami, która pozwala na przeprowadzanie dwóch
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
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ą
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
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
Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C
Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C Wymagana wiedza wstępna: 1) Student musi 1) Znać język C 2) Znać zasady zarządzania pamięcią w komputerze 3) Znać pojecie wskaźnika
Wprowadzenie do programowania i programowanie obiektowe
Wprowadzenie do programowania i programowanie obiektowe Wirtotechnologia Zajęcia nr 10 autor: Grzegorz Smyk Wydział Odlewnictwa Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza
4. Tablica dwuwymiarowa to jednowymiarowa tablica wskaźników do jednowymiarowych tablic danego typu.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 6. Tablice znakowe o dwóch indeksach, przekazywanie tablic do funkcji cd., dynamiczna alokacja pamięci, funkcje przetwarzające ciągi
Technologie Informacyjne - Linux 2
Technologie Informacyjne - 2 Instytut Matematyki Uniwersytet Gdański Powłoka - polecenia pośredniczace Polecenie grep wypisuje z pliku lub strumienia wejściowego te wiersze, które sa zgodne z podanym wyrażeniem.