Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

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

Download "Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)"

Transkrypt

1 Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) wiczenie trzecie Temat: Potoki i ł cza nazwane w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot

2 Wprowadzenie 1. Komunikacja z wykorzystaniem strumieni W systemie Linux istnieje możliwość wywołania programu jako nowego procesu i odbierania od niego, bądź wysyłania mu danych. Wykonanie takiej czynności umożliwia funkcja popen(). Łącze utworzone przy jej pomocy jest jednokierunkowe, tzn. proces wywołujący może do niego pisać lub czyta ć, ale nigdy te dwie operacje nie są dostępne jednocześnie dla tego samego łącza. Program, który jest wywoływany odczytuje dane z wejścia standardowego, natomiast program wywołujący uzyskuje dostęp do wyjścia programu wywoływanego i może odczytywać informacje, które on zapisuje do standardowego wyjś cia (jak pisałem wcześniej nigdy te ewentualności nie zachodzą równocześnie, tzn. albo program wywołujący czyta, a wywołany zapisuje, albo odwrotnie, ale nigdy oba procesy nie będą mogły pisać do tego samego łącza. 2. Potoki Inną formą komunikacji jednokierunkowej są potoki, które zwykle służą do komunikacji między dwoma spokrewnionymi procesami. Choć istnieje możliwość używania potoku tylko w obrębie jednego procesu, to nie jest to rozwiązanie, które stosuje się w praktyce. Potok tworzony jest w przestrzeni jądra, poprzez funkcję pipe(), a dostęp do niego odbywa się przy pomocy funkcji umożliwiających niskopoziomowe operacje na plikach read() i write(). Potok ma skończoną pojemność i wynosi ona co najmniej 4096 bajtów. Dla utworzonego potoku można ustawić znacznik O_NDELAY (O_NOBLOCK), który powoduje, że program nie będzie przechodził w stan oczekiwania w określonych sytuacjach, związanych z obsług ą potoku (szczegóły w następnym punkcie). 3. Ł cza nazwane, czyli kolejki FIFO Kolejka jest podobna w działaniu do potoku, ale w przeciwieństwie do niego ma nazw ę, a więc mogą z niej korzystać procesy niespokrewnione. Kolejki FIFO pojawiły się w Uniksach zgodnych ze standardem System V (właściwie to istniały już od System III). Pierwotnie tworzono je za pomocą funkcji mknod(), ale obecnie istnieje wygodniejsza w użyciu funkcja mkfifo(). Aby skorzystać z tak utworzonego łącza nazwanego należy go otworzyć albo do zapisu, albo do odczytu (to samo ograniczenie co w przypadku potoku). Dodatkowo można zastosować flagę O_NDELAY lub tożsamą jej flagę O_NONBLOCK. Powoduje to, że proces nie będzie czekał na zakończenie pewnych operacji związanych z obsług ą kolejki. Dokł adniej objaśnia to poniższa tabela: 2

3 Sytuacja otwarto kolejk ę tylko do czytania, ż aden proces nie otworzy ł jej do pisania otwarto kolejk ę tylko do pisania, żaden proces nie otworzy ł jej do czytania próba czytania danych z kolejki, jeśli nie ma w niej danych próba zapisania do zapełnionego łącza FIFO Nie ustawiono znacznika O_NDELAY lub O_NONBLOCK oczekiwanie, a ż proces otworzy kolejk ę do pisania oczekiwanie, a ż proces otworzy kolejk ę FIOF do czytania oczekiwanie, a ż pojawią si ę dane lub nie będzie ona otwarta do pisanie dla ż adnego procesu, jeśli żaden proces nie otworzy kolejki do pisania funkcja zwraca warto ść zero, w przeciwnym wypadku ilo ść oczytanych bajtów oczekiwanie, a ż będzie miejsce do zapisania nowych danych Ustawiono O_NDELAY lub O_NONBLOCK natychmiastowy powrót bez sygnalizowania błędu natychmiastowy powrót z sygnalizacj ą błędu w errno (umieszczenie stałej ENXIO) natychmiastowy powrót, warto ść funkcji jest równa zero jak wyżej Powyższa tabela odnosi się także do potoków. Można regu ł, którym podlega pisanie i czytanie do kolejek i potoków: również wyodrębnić kilka jeśli proces żąda przeczytania mniejszej porcji danych niż wynosi bieżąca zawartość medium, to będzie pobrane dokładnie tyle danych, ile zażądano. Reszta danych nie ulega zniszczeniu i może być odczytana przy następnej operacji czytania. Jeśli proces będzie usiłował odczytać więcej danych niż znajduje się w medium, to odczytanych i tak zostanie tylko tyle danych, ile jest w potoku lub kolejce. Jeśli proces próbuje czytać z medium, które nie zostało przez żaden inny proces otwarte do czytania, to wynikiem funkcji read() będzie zero. W przypadku kiedy ustawiony jest znacznik O_NDELAY nie można stwierdzi ć, czy medium było puste, czy nie zostało otwarte do zapisu. Zapis danych jest operacją niepodzieln ą, o ile proces zapisuje dane do medium porcjami mniejszymi od jego pojemności, 3

4 Jeśli proces próbuje zapisywać do medium, które nie zostało otwarte przez inny proces do zapisu, to otrzyma sygnał SIGPIPE, którego domyślna obsługa polega na zakończeniu procesu. Po skorzystaniu z kolejki należy ją usun ąć, aby nie zajmowała dysku. miejsca na 4. Opis wa niejszych funkcji popen() - funkcja uruchamia program podanego w jej argumentach procesu oraz tworzy strumień służący do komunikacji między procesem wywołanym a wywołującym, który można obsługiwać standardowymi funkcjami fread() i fwrite(). Szczegóły: popen. fread() - służy do odczytu buforowanego ze strumienia. Szczegóły: fread. fwrite() - służy do zapisu buforowanego do strumienia. Szczegóły: fwrite. funkcja pclose() - służy do zamykania strumienia stworzonego przez popen(). Szczegóły: pclose. funkcja pipe() - służy do tworzenia potoku łączącego dwa spokrewnione procesy, jaka argument przyjmuje dwuelementową tablic ę, w której będą zapisane deskryptory potoku. Deskryptor zerowy jest do odczytu, a pierwszy do zapisu. Zwykle jest ona wywoływana przed fork(), co powoduje, że deskryptorów. Każdy jeśli procesy powstałe komunikacja przebiega według w wyniku podziału odziedziczą tablicę z tych procesów zamyka jeden z deskryptorów, np. schematu: rodzic -> potomek, to rodzic zamyka deskryptor do odczytu, a potomek do zapisu. Szczegóły: pipe funkcja read() - czyta określoną ilość bajtów z deskryptora bez buforowania. Szczegóły: 2 read. funkcja write() - pisze określoną ilość bajtów do deskryptora bez buforowania. Szczegóły: 2 write. funkcja close() zamyka deskryptor pliku. Do zamykania strumieni służy fclose(). Szczegóły: close. funkcja mkfifo() - tworzy łącze nazwane o podanej nazwie i atrybutach, 4

5 może by ć zastąpiona przez mknod(). funkcja open() otwiera plik (również łącze nazwane). Możliwe jest dzięki niej ustalenie trybu otwarcia i ustawienie znaczników. Szczegóły: 2 open. funkcja fcntl() - służy do ipulacji deskryptorem pliku. Można dzięki niej ustawić flagę O_NDELAY (O_NONBLOCK) dla potoku. Szczegóły: fcntl. funkcja perror wypisuje wiadomość o błędzie zwróconą przez system. Przykład użycia: if(fork() < 0) perror( fork: ); Szczegóły: 3 perror. funkcja unlink funkcja ta usuwa z systemu plików nazw ę, która może odnosić się do dowiązania lub pliku (ostatni przypadek odpowiada operacji usunięcia pliku). Można ją wykorzystać do automatycznego usuwania łącza nazwanego. Szczegóły: 2 unlink. Zadania: 1. Napisz program, który wywoła polecenie sort nazwa.c, gdzie nazwa.c jest nazwą pliku z kodem źródłowym programu, a następnie odczyta 20 znaków zwróconych przez to polecenie i wyświetli je na ekran. 2. Napisz program, który uruchomi polecenie wc i przekaże mu na standardowe wejście dowolne zdanie. 3. Napisz program, który stworzy potok, i wykorzysta go do przesyłania obrębie jednego procesu. danych w 4. Napisz program, który stworzy potok i wykorzysta go do komunikacji między dwoma spokrewnionymi procesami. Zadanie wykonaj dla dwóch przypadków: z ustawion ą flag ą O_NDELAY (O_NONBLOCK) i bez. 5. Napisz program, który podzieli się na dwa procesy komunikujące pomocy potoków. Komunikacja musi by ć dwukierunkowa. się przy 6. Napisz dwa niezależne programy, które będą się komunikowały przy pomocy kolejki FIFO. Zadanie wykonaj w dwóch wariantach, tak jak zadanie 4. Po zakończeniu komunikacji kolejk ę należy usun ąć. 5

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 trzecie (jedne zajęcia) Temat: Potoki i łącza nazwane w Linuksie. Opracowanie: dr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja

Bardziej szczegółowo

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

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

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

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

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

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

Bardziej szczegółowo

Laboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak

Laboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak Laboratorium z systemów operacyjnych System plików - funkcje systemowe Anna Wojak 1 Zagadnienia do samodzielnego przygotowania: podstawowe polecenia linux, podstawy programowania w jezyku C, deskryptor

Bardziej szczegółowo

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania. Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania. Dlatego trzeba je zapisywać do pliku, a potem umieć je z tego

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

Wykład PASCAL - Pliki tekstowe

Wykład PASCAL - Pliki tekstowe Podstawy programowania Wykład PASCAL - Pliki tekstowe 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą,

Bardziej szczegółowo

Łącza nienazwane(potoki)

Łą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ś

Bardziej szczegółowo

Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach

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

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

Biblioteka standardowa - operacje wejścia/wyjścia

Biblioteka standardowa - operacje wejścia/wyjścia Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

Bardziej szczegółowo

Programowanie w językach

Programowanie w językach Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie

Bardziej szczegółowo

System plików warstwa logiczna

System plików warstwa logiczna Dariusz Wawrzyniak Pojęcie u Plik jest abstrakcyjnym obrazem informacji gromadzonej i udostępnianej przez system komputerowy. Plik jest podstawową jednostką logiczną magazynowania informacji w systemie

Bardziej szczegółowo

Systemy Operacyjne - Operacje na plikach

Systemy Operacyjne - Operacje na plikach Systemy Operacyjne - Operacje na plikach Andrzej Stroiński Institute of Computer Science Poznań University of Technology 1 październik, 2012 Wprowadzenie do ANSI-C Pomoc systemowa man gcc man 2 write man

Bardziej szczegółowo

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

Programowanie Współbieżne. W Linuxie/Unixie Programowanie Współbieżne W Linuxie/Unixie Komunikacja p r o c e s u ż y t k o w n i k a 1 p r o c e s u ż y t k o w n i k a 2 J ą d r o s y s t e m u Komunikacja p r o c e s u ż y t k o w n i k a 1 p

Bardziej szczegółowo

Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany

Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany plik. boolean exists() sprawdza czy plik o zadanej nazwie

Bardziej szczegółowo

Klient poczty elektronicznej - Thunderbird

Klient poczty elektronicznej - Thunderbird Klient poczty elektronicznej - Thunderbird Wstęp Wstęp Klient poczty elektronicznej, to program który umożliwia korzystanie z poczty bez konieczności logowania się na stronie internetowej. Za jego pomocą

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

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

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 piąte (jedne zajęcia) Temat: Semafory Opracowanie: mgr in ż. Arkadiusz Chrobot dr in ż. Grzegorz Łukawski Wprowadzenie 1. Semafory

Bardziej szczegółowo

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists() 4. Pliki 4.1. Informacje ogólne o dostępie do plików w PHP Jak praktycznie każdy język programowania, PHP zapewnia dostęp do systemu plików znajdujących się na komputerze, na którym uruchamiany jest skrypt,

Bardziej szczegółowo

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak

Bardziej szczegółowo

aodczytywać zniegoza pomoc afunkcjiread, (niebuforowane funkcje wejścia/wyjścia). e sukcesem, to zwróci liczb, erzeczywiściezapisanychbajtów.

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

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof

Bardziej szczegółowo

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików Plik to uporządkowany ciąg danych Dostęp do danych w pliku jest sekwencyjny, tj. istnieje pojęcie elementu aktualnego (tzw. wskaźnika pliku). Możliwy dostęp do danych w pliku jest tylko tam, gdzie wskazuje

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 czwarte (dwa zajęcia) Temat: Komunikacja IPC kolejki komunikatów Opracowanie: mgr in ż. Arkadiusz Chrobot dr in ż. Grzegorz Łukawski

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Temat zajęć: Obsługa łączy komunikacyjnych

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

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

Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230)

Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230) Informatyka 2015/16 wykład 9 Pliki Sterowanie przebiegiem programu cz. 2 Dr inż. Witold Nocoń (p. 230) Pliki Pliki dzielą się na dwa rodzaje: Pliki tekstowe (zawartość pliku jest typu string) Pliki binarne

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

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-Serwer Komunikacja przy pomocy gniazd II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu

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

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

Funkcje zawarte w bibliotece < io.h >

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

Bardziej szczegółowo

Zwielokrotnianie wejścia wyjścia

Zwielokrotnianie wejścia wyjścia Zwielokrotnianie wejścia wyjścia Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 21 marca 2006 Wstęp Zwielokrotnianie wejścia wyjścia informowanie przez jądro procesu użytkownika

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

Mechanizmy z grupy IPC

Mechanizmy z grupy IPC Mechanizmy z grupy IPC Podobnie jak łącza, IPC (Inter Process Communication) jest grupą mechanizmów komunikacji i synchronizacji procesów działających w ramach tego samego systemu operacyjnego. W skład

Bardziej szczegółowo

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików Plik to uporządkowany ciąg danych Dostęp do danych w pliku jest sekwencyjny, tj. istnieje pojęcie elementu aktualnego (tzw. wskaźnika pliku). Możliwy dostęp do danych w pliku jest tylko tam, gdzie wskazuje

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

ź Ź Ź ć ć ć ź ć ć ć ć ć Ź

ź Ź Ź ć ć ć ź ć ć ć ć ć Ź ź Ź Ź ć ć ć ź ć ć ć ć ć Ź ć ć ć ć ć ć ć ć Ż ć ć ć ć ć ć ć ć ć ć ć Ż Ż ć ć ć ć ć ć ć ć Ż ć ć ć ź ć Ź ć ć ć ć ć ć ć ć ć ź ć ć ć ć ć ć ć ć ć ć ć ć ć ć Ż ć ć ć ć Ż ć ć ć ć ć ć ć ć Ż ć Ł Ś Ś ć Ą Ę ć Ę ć Ż ć

Bardziej szczegółowo

Ę ź Ą

Ę ź Ą Ę ź Ą Ę Ł Ń Ż Ż ć Ł ć ć ć ć Ż Ż Ć Ż ć Ż Ż Ń Ć Ć Ć Ż ć ć ć Ć ć Ż Ż Ć Ć Ż Ż Ź Ż Ż ć ć ć Ż Ż Ć Ć Ż Ź Ż Ż ć Ż Ż Ć Ż ć Ż Ł Ń Ę ć Ż Ł Ż ć Ć ć ć Ę Ż ć Ć Ż ć ć Ź Ć ć Ć Ź ć ć ć Ć ć ć Ż ć ć ć ć Ż Ę ć Ę Ć ć Ć Ą Ż

Bardziej szczegółowo

Ą ŚĆ Ś Ś Ę ć

Ą ŚĆ Ś Ś Ę ć Ą Ę Ą Ą ŚĆ Ś Ś Ę ć ć ć ć ź ć ć ć ć ć ć ć ć Ą ć ć ć Ą Ś ć Ś ć ć Ą ć Ś Ś Ą Ś Ą ć ć Ą ź ź ć ć Ą ć ź ć Ą ć Ą ć ć ć ć ć ć ć ć ć ć ć ć ć ź ć ć Ś ć ć ć Ę Ą ć Ą ć ć ć ć ć ć Ł ź ź ź Ł Ł ć Ą ć ć ć ć ć Ą ć Ą ć Ą

Bardziej szczegółowo

Znaki globalne w Linuxie

Znaki globalne w Linuxie Znaki globalne w Linuxie * reprezentuje jeden lub wiele znaków (wild-card character)? reprezentuje dokładnie jeden znak (wild-card character) [abcde] reprezentuje dokładnie jeden znak z wymienionych [a-e]

Bardziej szczegółowo

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh. Powłoka I Popularne implementacje W stylu sh (powłoki zdefiniowanej w POSIX) bash (najpopularniejsza) zsh ksh mksh W stylu csh csh tcsh 12 października 2018 1 / 16 Powłoka II Zachęta Komunikuje się z użytkownikiem

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

Statyczne i dynamiczne predykaty

Statyczne i dynamiczne predykaty Statyczne i dynamiczne predykaty Dynamiczne dowodzą lub odwołują pewne reguły, Statyczne nie potrafią tego co dynamiczne, ponieważ ich punkty zostały zebrane w całość, która działa szybciej, ale nie jest

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for

Bardziej szczegółowo

ś ść ść ś ść ść ś ś ś ś ść ś ś ś ść ść

ś ść ść ś ść ść ś ś ś ś ść ś ś ś ść ść Ą Ł Ł Ł Ę Ł ś ś ś ś ść ść ść ść Ś ść ŚĆ ś ŚĆ ś ś ść ść ś ść ść ś ś ś ś ść ś ś ś ść ść ś ś ś Ż ś Ś ś Ś ść ś ś ś ś ś ś ś ś Ś ś ś ś ś Ł Ś ś ś ś Ś ś ś ź Ś ŚĆ ś ś ś ś ś ś Ś ś Ś ś ś ś ś ś ś ś Ś Ś ść ś ś ś ś

Bardziej szczegółowo

ń ż Ż

ń ż Ż Ł ń ć ń Ż ń ż Ż Ę ń Ź Ż Ń ż ń ż Ż ń ż Ć Ę Ę ć ć ż ć ń ć ć ć ć ć ć Ę ń ć ń Ż ć Ą Ż ć ń ż ć ć Ń Ń ż ć ć ć Ż ć ź ż ć ć ć ż Ę ć ć Ń ć ż ć Ą ć ć ć Ę ć ń ż ć ć ń Ń ż ń ć Ą ż ć ń ć ż ż Ę Ź Ż Ż ń Ę Ż Ę Ę ż ń ż

Bardziej szczegółowo

Program dla praktyki lekarskiej

Program dla praktyki lekarskiej Program dla praktyki lekarskiej ErLab Instrukcja konfiguracji i obsługi Spis Treści 1. Wstęp... 2 2. Konfiguracja... 3 2.1. Serwer... 3 2.2. Laboratorium... 3 2.3. Punkt pobrań... 4 3. Wysyłanie skierowania...

Bardziej szczegółowo

Funkcje zawarte w bibliotece < io.h >

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

Bardziej szczegółowo

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę:

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę: Rozdział 1 Obsługa plików W językach C pliki powiązane są ze strumieniami i pracuje się na nich podobnie jak na innych strumieniach. W języku C do operacji na plikach służą funkcje z biblioteki stdio.h,

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI PRZYSTAWKI PEN-01 DO PENDRIVE A

INSTRUKCJA OBSŁUGI PRZYSTAWKI PEN-01 DO PENDRIVE A INSTRUKCJA OBSŁUGI PRZYSTAWKI PEN-01 DO PENDRIVE A 1. Opis ogólny Przystawka umożliwia zapisywanie danych przesyłanych z urządzenia pomiarowego, np. z wagi, do pamięci typu pendrive (USB). Dane zapisywane

Bardziej szczegółowo

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład dr Artur Bartoszewski 1 Intencje Intencje (obok Aktywności) są jednym z podstawowych komponentów z których zbudowane są aplikacje systemu Android. Są one odpowiedzialne przede wszystkim za obsługę rozkazów

Bardziej szczegółowo

Temat zajęć: Obsługa systemu plików.

Temat zajęć: Obsługa systemu plików. Temat zajęć: Obsługa systemu plików. Czas realizacji zajęć: 90 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: I. Operacje na plikach zwykłych. Tworzenie i otwieranie plików, deskryptory

Bardziej szczegółowo

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim

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

Robert Barański, AGH, KMIW Writing TDM and TDMS Files in LabVIEW v1.0

Robert Barański, AGH, KMIW Writing TDM and TDMS Files in LabVIEW v1.0 Aby zmniejszyć potrzebę opracowania i utrzymania własnego formatu pliku danych, National Instruments stworzył elastyczne zarządzanie danymi technicznymi (TDM) model danych, który jest standardowo dostępny

Bardziej szczegółowo

INSTRUKCJA PROGRAMOWANIA KASY FISKALNEJ I-ERGOS 3050 PRZY POMOCY PROGRAMU PLU MANAGER I-ERGOS.

INSTRUKCJA PROGRAMOWANIA KASY FISKALNEJ I-ERGOS 3050 PRZY POMOCY PROGRAMU PLU MANAGER I-ERGOS. INSTRUKCJA PROGRAMOWANIA KASY FISKALNEJ I-ERGOS 3050 PRZY POMOCY PROGRAMU PLU MANAGER I-ERGOS. Edata Polska Sp. z o.o. ul. Puławska 314 02-819 Warszawa Tel 22 545-32-40 Fax 22 678-60-29 biuro@edatapolska.pl

Bardziej szczegółowo