Systemy Operacyjne ZAAWANSOWANE OPERACJE WEJŚCIA-WYJŚCIA DLA PLIKÓW

Podobne dokumenty
Wybrane funkcje systemowe Unixa

Programowanie w systemie UNIX

Obsługa plików. 6. Pliki 2005/2005

Operacje powiązane z systemem:

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

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

Znaki globalne w Linuxie

Linux: System Plików

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

POSIX: IEEE Std (Issue 6, 2004 edition)

Linux Kernel III. Character devices

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Linux cz.3: polecenia systemowe, ćwiczenia

Wykład 8 Systemy plików w Linuksie. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB

Wstęp do systemów wielozadaniowych laboratorium 03 Praca z plikami, c.d.

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

Systemy Operacyjne. Ćwiczenia

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

PERL. Practical Extraction and Report Language Pathologically Eclectic Rubbish Lister

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Systemy Operacyjne I: System plików

Wykład 7 Podręczna pamięć buforowa (ang. buffer cache) w systemie Linuks. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB

Prawa dostępu do plików

S P I S POLECEŃ LINUXA

Funkcje zawarte w bibliotece < io.h >

2. System uprawnień w linuxie

Mechanizmy lokalnej kontroli dostępu (ACL)

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

na podstawie bazy Oracle NoSQL

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

Łącza nienazwane(potoki)

Funkcje zawarte w bibliotece < io.h >

Systemy operacyjne System plików

Iteracyjny serwer TCP i aplikacja UDP

1. Kolejki komunikatów POSIX

Ćwiczenie 1. Podstawowe wiadomości

Pobieranie argumentów wiersza polecenia

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

QNX Neutrino (v 6.3)

Pracownia Komputerowa wyk ad II

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Wykład 9 Systemy plików w Linuksie

Pracownia Komputerowa wykład II

Laboratorium Programowania Kart Elektronicznych

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

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

Kolejki FIFO (łącza nazwane)

Interfejsy Programowe Systemów Operacyjnych

Programowanie Proceduralne

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

Jądro Powłoka System plików Programy użytkowe

dr inż. Jarosław Forenc

Działanie systemu operacyjnego

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

3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen);

Obsługa plików Procesy

Podstawy Informatyki. Michał Pazdanowski

Bezpieczeństwo systemów informatycznych

Podstawy programowania w języku C++

Struktury. Przykład W8_1

J. Ułasiewicz Łącza nienazwane, nazwane, select 1

Aplikacja Sieciowa wątki po stronie klienta

1. Timery i zdarzenia

Warstwy oprogramowania wejścia/wyjścia

Szkolenie AGH Linux. Nie bój się konsoli i zdaj kolosa na 5.0!!! Tytuł wcale nie przesadzony ;)

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

Linux. Uprawnienia pliku / katalogu, właściciel pliku, UID, GID, sticky bit.

Podstawy Informatyki. Michał Pazdanowski

Podstawy systemów UNIX

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Gniazda BSD. Procesy w środowisku sieciowym. Gniazda podstawowe funkcje dla serwera. Gniazda podstawowe funkcje dla klienta

Pliki. Operacje na plikach w Pascalu

"Klasyczna" struktura systemu operacyjnego:

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Zarządzanie strukturą bazy danych Oracle11g

Laboratorium 4: Systemy plików procfs i sysfs (dwa zajęcia) dr inż. Arkadiusz Chrobot

Ćwiczenia z podstaw systemu Linux

host name: protokół SSH System plików - wprowadzenie Ścieżki dostępu

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

Wprowadzenie do Valgrinda

Systemy operacyjne. część 1. Artur Gramacki Instytut Informatyki i Elektroniki. Zalecana literatura

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

Nowoczesne systemy operacyjne

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Sterowniki urządzeń w systemie operacyjnym RTEMS

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

UNIX SYSTEM PLIKÓW. UNIX System plików

KOLEJKI KOMUNIKATÓW IPC

Temat zajęć: Wprowadzenie oraz obsługa systemu plików.

Zwielokrotnianie wejścia wyjścia

4. Komunikacja pomiędzy procesami przez łącza nienazwane i nazwane

1. Tworzenie nowego projektu.

Bezpieczeństwo systemów i usług informatycznych

System plików Linuxa. Tomasz Borzyszkowski

Systemy operacyjne ćwiczenia 1 procesy, wątki, polecenia UNIXa.

Transkrypt:

Systemy Operacyjne ZAAWANSOWANE OPERACJE WEJŚCIA-WYJŚCIA DLA PLIKÓW

Zajęcia 2 - Podstawowe operacje wejścia-wyjścia dla plików 1 Pozyskiwanie i wyświetlanie metadanych pliku 2 Wejście/wyjście asynchroniczne

Dyski fizyczne Reprezentowane w formie pliku Nazwa: hd<dysk_fizyczny><partycja> Przykład /dev/hdb0 dysk b partycja 0 Raw Blok Device (c), Block Disk Device (b), Regular File (-)

i-nody Dysk składa się z sekwencji bloków Pierwszy blok zazwyczaj wskazuje na adres bootowania FS zaczyna się od pewnego offsetu superblock i-nody (2 pierwsze zarezerwowane), 2 - odpowiada katalogowi nadrzędenemu / ls -?

i-node/montowanie dysków

inne pathconf(path, _PC_PATH_MAX) maks. długość ścieżki rename - zmiana nazwy (ln / link), (jaka różnica z mv?) readlink, basename getcwd bieżąca lokalizacja opendir, closedir : readdir, rewinddir chdir, fchdir mkdir, rmdir chmod zmiana uprawnień chown zmiana właściciela utime - modyfikacja czasu pliku time, strftime, difftime

Statystyki z pliku (POSIX) statvfs, fstatvfs informacje o pliku struct statvfs { unsigned long f_bsize; /* block size */ unsigned long f_frsize; /* fundamental (fblock) size */ fsblkcnt_t f_blocks; /* total number of fblocks */ fsblkcnt_t f_bfree; /* number of free fblocks */ fsblkcnt_t f_bavail; /* number of avail. fblocks */ fsfilcnt_t f_files; /* total number of i-numbers */ fsfilcnt_t f_ffree; /* number of free i-numbers */ fsfilcnt_t f_favail; /* number of avail. i-numbers */ unsigned long f_fsid; /* file-system ID */ unsigned long f_flag; /* flags (see below) */ unsigned long f_namemax; /* max length of filename */ };

Statystyki z pliku fstat, stat, lstat pobieranie informacji o pliku struct stat { dev_t st_dev; /* device ID of file system */ ino_t st_ino; /* i-number */ mode_t st_mode; /* mode (see below) */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID */ gid_t st_gid; /* group ID */ dev_t st_rdev; /* device ID (if special file) */ off_t st_size; /* size in bytes */ time_t st_atime; /* last access */ time_t st_mtime; /* last data modification */ time_t st_ctime; /* last i-node modification */ blksize_t st_blksize; /* optimal I/O size */ blkcnt_t st_blocks; /* allocated 512-byte blocks */ };

st_mode S_IFMT 0170000 bit mask for the file type bit fields S_IFSOCK 0140000 socket S_IFLNK 0120000 symbolic link S_IFREG 0100000 regular file S_IFBLK 0060000 block device S_IFDIR 0040000 directory S_IFCHR 0020000 character device S_IFIFO 0010000 FIFO S_IRWXU 00700 mask for file owner permissions S_IRUSR 00400 owner has read permission S_IWUSR 00200 owner has write permission S_IXUSR 00100 owner has execute permission S_IRWXG 00070 mask for group permissions S_IRGRP 00040 group has read permission S_IWGRP 00020 group has write permission S_IXGRP 00010 group has execute permission

Inne funkcje getpwuid, getgrgrid pobiera informacje o użytkowniku (passwd) i grupie(group) getpwnam / getpwnam_r j.w getlogin, getenv(user) struct passwd { char *pw_name; /* login name */ uid_t pw_uid; /* user ID */ gid_t pw_gid; /* group ID */ char *pw_dir; /* login directory */ char *pw_shell; /* login shell */ }; struct group { char *gr_name; /* group name */ char *gr_passwd; /* group password */ gid_t gr_gid; /* group ID */ char **gr_mem; /* group members * }; access sprawdza prawa dostępu (R_OK, W_OK, X_OK, F_OK)

Operacje asynchroniczne plik nagłównkowy: io.h, biblioteka: librt aio_read(3), aio_write(3), aio_return(3), aio_error(3) - EINPROGRESS, 0, inna wartość aio_suspend(3) struktura aiocb: int aio_fildes - deskryptor pliku, którego dotyczy żądanie. off_t aio_offset - pozycja w pliku, od której ma się rozpocząć operacja. size_t aio_nbytes - liczba bajtów do odczytania/zapisania. void *aio_buf - wskaźnik do bufora zawierającego dane do zapisania lub gdzie zostaną umieszczone odczytane dane. struct sigevent aio_sigevent - struktura określająca sposób powiadomienia o zakończeniu żądania (aio_sigevent.sigev_notify) SIGEV_NONE, SIGEV_SIGNAL, SIGEV_THREAD

ćwiczenia 1.4 print_type 1.5 print_perm 1.6 print_owner 1.7 print_perm 1.8 print_size 1.9 print_laststch 1.10 print_name - link 2.1 odczyt asynchroniczny

M.J.Rochkind - Programowanie w systemie UNIX dla zaawansowanych (Advanced UNIX Programming). Wydanie 3PL / 2EN Proszę przeczytać rozdział: - Rozdział 5 Procesy (bez Wątków) Bezwzględnie należy zapoznać się i zrozumieć zasady działania funkcji fork(2) oraz exec(3) Na kartkówkę obowiązuje cały materiał z tego rozdziału (stat, thread safe, odczyt asynchroniczny)