Systemy Operacyjne - Operacje na plikach

Podobne dokumenty
4.2 Sposób korzystania z l acza

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011

System plików Linuksa

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

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

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

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.

Argumenty wywołania programu, operacje na plikach

Zaawansowane programowanie w C++

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: z zakresu systemów

Wstęp do programowania

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24

Ghost in the machine

Wskaźniki. Informatyka

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Uruchomienie Raspberry Pi

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Podstawy Programowania

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

Podstawy programowania skrót z wykładów:

Podstawy Programowania.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Tworzenie oprogramowania

Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ

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

Paradygmaty programowania. Paradygmaty programowania

Kompilator języka C na procesor 8051 RC51 implementacja

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie Systemów Wbudowanych

Tablice (jedno i wielowymiarowe), łańcuchy znaków

1.Wstęp. 2.Generowanie systemu w EDK

Wstęp do Programowania, laboratorium 02

1 Zapoznanie się ze środowiskiem Xenomai.

sposób wykonywania operacji zapisu i odczytu dane odczytywane z l acza usuwane (nie można ich odczytać ponownie),

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Funkcje systemu Unix

Typy plików. Oznaczenie f -

Systemy Operacyjne 1 Laboratorium 3 Potoki i łącza nazwane w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot

Plik jest poj eciem, z którym spotyka si e niemal każdy użytkownik systemu komputerowego, nawet

Strumienie i pliki. Programowanie Proceduralne 1

Systemy Operacyjne. Ćwiczenia

5 Przygotował: mgr inż. Maciej Lasota

Języki i metodyka programowania. Wprowadzenie do języka C

Ćwiczenie 1. Przygotowanie środowiska JAVA

Linux: System Plików

Lab 9 Podstawy Programowania

Programowanie w asemblerze Uruchamianie programów

Wykład PASCAL - Pliki tekstowe

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ

Instytut Teleinformatyki

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski

Tablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik


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

Kolejki FIFO (łącza nazwane)

Programowanie Proceduralne

Obsługa plików Procesy

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

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Programowanie w języku C++ Grażyna Koba

Obliczenia rozproszone z wykorzystaniem MPI

Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

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

Schematy blokowe. Algorytmy Marek Pudełko

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

Zarządzanie projektami informatycznymi

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

1 Podstawy c++ w pigułce.

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

System plików. Warstwowy model systemu plików

Działanie systemu operacyjnego

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Biblioteka standardowa - operacje wejścia/wyjścia

Podstawy informatyki

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Wymagania edukacyjne z przedmiotu SYSTEMY OPERACYJNE. Klasa I i II- Technik Informatyk

Programowanie w językach

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

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

UNIX SYSTEM PLIKÓW. UNIX System plików

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

Część 4 życie programu

Rozdzia l 3. Laboratorium 3. danych zawierajac

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Języki i metodyka programowania. Wskaźniki i tablice.

Linux: Procesy. Systemy Operacyjne. Mateusz Hołenko. 26 marca 2013

Warstwy systemu Windows 2000

Informatyka. Wy-02 Tablice, wskaźniki, warunki i pętle. mgr inż. Krzysztof Kołodziejczyk

Spis treści. Język interpretowany vs język kompilowany

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

System plików warstwa logiczna

Transkrypt:

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 3 getc Kompilacja programu gcc <source_file> np. gcc helloworld.c gcc <source_file> -o <program_file> np. gcc helloworld.c -o helloworld gcc -Wall <source_file> np. gcc -Wall helloworld.c gcc -g <source_file> np. gcc -g helloworld.c 2 of 15

Wprowadzenie do ANSI-C Brak opcji -o podczas kompilacji program wykonywalny w pliku: a.out Uruchomienie programu <binary_file_path> np. /home/inf99999/helloworld lub./helloworld Debug w ANSI-C kompilacja programu z -g uruchomienie debugwoania: gdb <source_file> np. gdb helloworld polecenie programu gdb: [h]elp, [b]reak, [p]rint, [r]un, [c]ontinue, [q]uit 3 of 15

Wprowadzenie do ANSI-C - Hello World! #i n c l u d e <s t d i o. h> #i n c l u d e < f c n t l. h> i n t main ( ) { p r i n t f ( H e l l o World \n ) ; } ; 4 of 15

Wprowadzenie do ANSI-C - argumenty #i n c l u d e <s t d i o. h> i n t main ( i n t argc, char * argv [ ] ) { i n t i ; f o r ( i = 0 ; i < a r g c ; i ++) { p r i n t f ( argument %d : %s \n, i, argv [ i ] ) ; } p r i n t f ( Koniec... \ n ) ; return 0 ; } 5 of 15

Wprowadzenie do ANSI-C - obs luga b l edów Szczegó lowy kod b l edu można odczytać badajac wartość globalnej zmiennej errno typu int. Obs luga b l edów funkcja perror (bada wartość zmiennej errno i wyświetla tekstowy opis b l edu, który wystapi l. i n t main ( i n t argc, char * argv [ ] ) { i n t f d=open ( aaaa. t x t, O RDONLY ) ; i f ( f d== 1) { p r i n t f ( Kod : %d\n, e r r n o ) ; p e r r o r ( O t w i e r a n i e p l i k u ) ; }... return 0 ; } 6 of 15

Operacje na plikach System operacyjny środowisko programów tworzacych podstawowa platforme programowa dla dzia lania innych aplikacji nadzoruje uruchomione programy oraz urzadzenia sprzetowe komputera zarzadza przydzia lem pamieci operacyjnej, dysku, czasem procesora itd. Jadro systemu operacyjnego najważniejszy element systemu operacyjnego komunikacja ze sprz etem obs luga systemu plików (ext2, ext3, NTFS) sterowanie procesami 7 of 15

Operacje na plikach System plików Linux wszystko jest plikiem! Katalog oraz urzadzenie to też plik (specjalny)! plik to strumień bajtów, z którego można czytać badź do którego można zapisywać. Zanim zostanie wykonana na pliku jakakolwiek operacja należy plik otworzyć, lub utworzyć jeśli jeszcze nie istnieje! w celu dostepu do pliku pos luguje sie jego nazwa (każdy plik może mieć wiele nazw - linki) Plik może zostać otwarty w trybie: do zapisu - możliwa operacja tylko zapisu, do odczytu - możliwa operacja tylko do odczytu do zapisu i odczytu - możliwa operacja odczytu jak i zapisu 8 of 15

Operacje na plikach Tablica i-w ez lów przechowywana i utrzymywana przez jadro systemu operacyjnego zawiera informacje o i-wez lach (plikach): typ pliku (dowiazanie symboliczne, zwyk ly plik, katalog, urzadzenie znakowe, urzadzenie blokowe, gniazdo, kolejka FIFO) i prawa dostepu prawa dostepu rozmiar czas dostepu licznik dowiazań (plik usuwany gdy równy 0) flagi pliku (atrybuty tylko dodawanie (append only), ńie można zmieniać (immutable), i inne)... 9 of 15

Operacje na plikach - t lumaczenie nazwy na i-w eze l 10 of 15

Operacje na plikach Każdemu plikowi odpowiada jedna pozycja w tablicy i-wez lów w jadrze. Z każdym otwarciem pliku skojarzona jest pozycja w tablicy otwartych plików jadra. Ponieważ plik może zostać otworzony wiele razy, kilka pozycji w tablicy otwartych plików może wskazywać ten sam i-weze l. plik jest identyfikowany poprzez deskryptor (indeks w tablicy deskryptorów) tablica deskryptorów zawiera wskaźnik do tablicy otwartych plików systemu (jadra) tablica deskryptorów ma ograniczony rozmiar przydzielany jest zawsze wolny deskryptor o najmniejszej wartości (wolna pozycje o najniższym numerze w tablicy deskryptorów) 11 of 15

Operacje na plikach W momencie utworzenia procesu otwarte sa już i przypisane do tablicy deskryptorów nastepuj ace trzy pliki o deskryptorach zwiazanych zazwyczaj z plikiem specjalnym terminala: 0 standardowe wejście 1 standardowe wyjście 2 standardowe wyjście diagnostyczne Funkcje tworzace i operujace na plikach opisane sa w 2 cześci pomocy systemowej. 12 of 15

Operacje na plikach Operacje na plikach Tablica deskryptorów pliku (proces) Tablica otwartych plików (globalna systemu operacyjnego) Tablica i-wez lów (jadro systemu) 13 of 15

Operacje na plikach Przyk ladowa zawartości tablicy deskryptorów plików: 14 of 15

Dzi ekuje za uwag e! 15 of 15