2. Vysvětlete princip utility make a napište příklad jednoduchého makefile pro překlad a slinkování programu v C.

Rozměr: px
Začít zobrazení ze stránky:

Download "2. Vysvětlete princip utility make a napište příklad jednoduchého makefile pro překlad a slinkování programu v C."

Transkript

1 Otázky ke zkoušce z UNIXu ========================= A) Vývojové nástroje Popište činnost kompilátoru jazyka C a linkeru. 2. Vysvětlete princip utility make a napište příklad jednoduchého makefile pro překlad a slinkování programu v C. B) Jádro a C API UNIXu Vysv ětlete význam parametr ů funkce main() a proměnné environ. Jak se zpracovávají argumenty programu pomocí funkce getopt()? Parametry i environ jsou pole ukončená NULL. getenv( name ), putenv( name=vlaue ) getop(argc(index), argv, ab: )!=1?unknown+optopt :missing value optarg-value 2. Vysvětlete význam pojm ů proces, vlákno (thread), program. Čím se liší proces a vlákno? 3. Vysvětlete pojmy knihovní funkce a systémové volání. Popište konvenci, podle které systémová volání a knihovní funkce oznamují úspěšné ukončení nebo chybu. 4. Co obsahují soubory /etc/passwd a /etc/group? Kdy a jak používá Unix informace z těchto soubor ů. 5. Jak se používá identifikace vlastníka a skupiny pro testování přístupových práv? Jaký je rozdíl mezi reálným a efektivním vlastníkem procesu? Nejprve UID=0, uid=uid, gid=gid, gid \in sgid, else C) Systém souborů Jaké objekty jsou v UNIXu přístupné pomocí rozhraní systému soubor ů? Jaký je rozdíl mezi znakovými a blokovými zařízeními? Všechno: sockety, zařízení, pojmenované roury, procesy, pamět...

2 bloková zařízení čtou bufferov ě (pevná velik. bloku), znaková po bytech 2. Popište strukturu svazku typu s5 a jeho vylepšení (ufs). Svazek=filesystem bloky délky 512, 1024, 2048B disk: 1. boot blok(zavaděč OS) 2. superblok(info o svazku, počet blok ů pro i-nodes, počet blok ů, seznam volných blok ů, volných i-nodes, další info) 3. oblast i-nodes 4. oblast datových blok ů (může i i-nodes) i-node: typ souboru, přístupová práva, vlastník, skupina, čas přístup, modif, mofif i-nody, počet odkaz ů na soubor, velikost souboru, 10 odkaz ů na datové bloky a 3 odkazy na napřímé bloky (další i-nody) hardlink-odkaz na stejný i-node symlink-odkaz na skutečnou cestu vylepšení členění na skupiny cylindr ů, každá skupina obsahuje: kopii superbloku řídící blok skupiny tabulku i-nodes bitmapy volných i-nodes a datových bloků datové bloky bloky velik 4-8kB, fragmenty bloků jména dlouhá až 255znaků 3. Vysvětlete princip navigace ve struktuře adresá řů, tj. jak jádro najde podle cesty k souboru příslušné datové bloky. Vysvětlete rozdíl mezi pevnými (hardlink) a symbolickými (symlink) odkazy na soubory. Koukne na i-node, data adresá řů obsahují seznam i-nodes podadresá řů a soubor ů, tam hledá dál. Symlink má jako data cestu, kam míří 4. Jaká jsou přístupová práva k souborům? Co je to propůjčování práv (set UID)? Suid sgid sticky rwxrwxrwx 421 proto octal 6=rw sgid pro soubor bez práva spuštění pro skupinu = kontrola zámk ů při každém spuštění...mandatory lock

3 sgid pro adresá ř = nové skupiny budou mít stejnou gid jako adresář sticky bit pro adresáře =právo mazat a přejmenovávat soubory mají jen vlastníci soubor ů. 5. Jak procesy přistupují k otevřeným souborům? Jak se liší deskriptor a otevření souboru? Více deskript. může sdílet jedno otevření souboru (mod r/w, pozice) read, write, open, close, dup, dup2, pipe, socket,... open(path, flags,...napr pristup prava) flags pro new: O_WRONLY O_CREAT O_TRUNC mknod vytvoří soubor zařízení mkfifo pojmenovaná roura lseek(fd, offsett, odkud) // lze tím i zvětšit soubor odkud: SEEK_SET SEEK_CUR SEEK_END současná pozice: lseek(fd, 0, SEEK_CUR) změna velikosti: truncate, ftruncate //zmenšení řízení: fcntl(fd, command,...) // řízení soubor ů, zámky, deskriptory,... ioctl(fd, request,...) // univerzální řídící rozhraní pro periferní zařízení (každé zařízení definuje svou skupinu známých příkaz ů) (f)stat(fd/path, struct stat *buf) vrátí info o souboru (i-node, device, uid, gid, velikost, časy, počet odkaz ů,...) access(path, mode) // test přístupových práv dle euid egid chmod(path, mode) // nastavení práv link(path1,path2) // hardlink path2->path1 unlink(path) // slouží i k smazání souboru!!!!!!!!! rename(old, new) symlink(p1, p2) readlink(path, buff, buffsize) // do buff dá max buffsize znak ů z cesty na kterou ukazuje symlink path. Vrátí počet znak ů. Neukončuje '\0' mkdir(path, mode) rmdir(path) DIR *opendir(path) struct dirent *readdir(dir *dirp) // prochází sekvečn ě všechny

4 spoubory v adresáři int closedir(dir *dirp) struct dirent obsahuje i-node, nazev souboru (f)chdir(path/fd) // nastv nový pracovní adresá ř procesu getcwd(buff, size) // get pra adresář 6. Co je to virtual file system? K čemu slouží a jaký je princip jeho fungování? Umožnuje přístup k souborům nezávislý na konkrétním fs. Každému souboru je příd ělena struktura file. Ta ukazuje na vnode, ta obsahuje část nezávislou na fs a i-node skutečného fs. Každý fs definuje tabulku fcí pro jednotlivé operace, kterou používá vfs k vlasním operacím. U speciálních zařízení file odkazuje na snode (shadow-special-node), který definuje operace se zařízením a odkauje na vlastní vnode zařízení pro spec. operace. Spec zařízení je identifikováno major a minor číslem. Při otevření souboru se bud použije existující snode nebo se vytvoří nové, pokud neex. Struct vfs info o fs, nezávislé na vlastním typu fs rootvfs - / fs vfsop tabulka operací pro daný fs 7. Jaký je vztah diskového oddílu a svazku? Jak probíhá vytvoření, kontrola konzistence, připojení a odpojení svazku? Běžn ě svazek (fs)= diskový oddílu nebo svazek = logica disk volume...i vice disk. oddlíl ů na různých discích stripping = za sebou následující bloky dat se ukládají paraleln ě na dva různé disky...zrychlení mirroring = 2 kpie na dva disky...bezpečnost dat paritní disky = tři disky. Na dva se ukládají data, na třetí XOR RAID zahrnuje tyto akce kontrola konzistence = fsck vícenasobné odkazy na stejný blok odkazy někam pryč z datové oblasti fs špatný počet odkazů nesprávná velikostineplatný formýt i-nodes neplatný obsah superbloku... žurnálove fs nepotřebují

5 D) Procesy a roury Popište paměťový prostor procesu v uživatelském režimu a v režimu jádra. USERMODE Text kod programu //uložené v data inicializované prom. // programu(spustitelném souboru) Bss neinicializované prom. Pamět volná stack uživatelský zásobník, prom. funkcí, parametry fcí,... - každý proc má 2 zásobníky, jeden pro běh v USERMODE a druhý v KERNELMODE user_area není adresovatelná z programu. Info o proc používané jádrem, které nejsou potřeba, když je proc.odložen na disk. Jádro vidí vždy jen tu user_area běžícího procesu. Ostatní přístupné přes strukturu proc. KERNELMODE text jádra data a bss jádra struktura user běžícího procesu zásobník jádra samostatný pro každý proc. Je prázdný, jestliže je proc v USERMODE proc se dostane do jádra bud příchodem přerušení (procesor, časovač,...) Přerušení vyvolá i systémové volání. Tak se dostane do jádra. Vlastn ě to vypadá tak, že sys volání nastaví nějaké prom a pak vyvolá přerušení. V paměti je pouze jedna kopie kodu jádra. 2. Nakreslete a popište stavový diagram procesu

6 3. Popište základy mechanismu plánování proces ů. Jaké jsou prioritní třídy? Preemptivní (základ je pravidelné přerušení od časovače, sebere procesor procesu a předá jej jádru aktivuje plánovač proces ů) procesy řazeny do front podle priority, procesor je přidělen prvnímu procesu z fronty s max prioritou prioritní třídy: system: 60-99, rezervováno pro systémové procesy, pevná priorita realtime: , pevná priorita, pro každou prioritu defin.čas kvant. Time-shared: 0-59, proměnnádvousložková priorita. Pevná uživatelská a proměnná systémová. Pokud proc hodn ě vytěžuje procesor, je mu snižovaná priorita a zvětšováno časové kvantum pokud je proces s time-shared prioritou uspán a čeká na událost, je mu dočasn ě přid ělena priorita system, po příchodu události se dostane dříve na řadu 4. Popište mechanismus mapování soubor ů do paměti. Popište, jak lze za běhu programu získat přístup k proměnným a funkcím definovaným v nějaké dynamické sdílené knihovn ě. MAPovani mmap(addr, len, prot, flags, fd, offsett) do pam an adresu adr namapuje len Bytu z fd pocinaje offsett a vrati tu adresu, kam namapoval nebo MAP_FAILED. Prot jsou pristupova prava PROT_READ,... flags dalsi prava: MAP_PRIVATE, MAP_SHARED, MAP_FIXED mapuje se po celych strankach, offsett a při MAP_FIXED i addr musi byt správn ě zarovnány munmap(addr, len) // zruš mapování o délce len od addr msync(addr, len, flags) // zapíše změny v úseku len B od addr flags MS_ASYNC, MS_SYNC, MS_INVALIADTE(zruš namapovana data, která se liší od obsahu souboru) mprotect(addr, len, prot) // změní přístupová práva k části namapovaného souboru LIBS dlopen(file, mode) zpřístupní knihovnu v souboru file, vratí handle nebo NULL mode: RTLD_NOW, RTLD_LAZY, RTLD_GLOBAL(symboly budou glob.dosyupné), RTLD_LOCAL(nebudou)

7 dlsym(handle, name) // vratí adresu symbolu zadaného jména z knihovny dlclose(handle) dlerror() // vrátí textový popis chyby při práci s knihovnami užití: pluginy, konflikty jmen v knihovnách E) Signály Co jsou to signály? Jak může být pro proces vygenerován signál? Jaký je rozdíl mezi posláním signálu procesu a vláknu? Informují proces o vzniku určité události na uživatelské úrovni zpřístupnují mechanismy přerušení chybové události generované běžícím procesem asynchronní události vznik mimo proces nesou pouze informace o čísle signálu asynchronní zpracování kill(pid, sig) pid>0 proc s pid pid=0 všem procesům ve stej skupině pid=-1 všem mimo systémových pid < -1 procesům ve skupin ě -pid mohou být generovány pro proces (kill) nebo pro vlákno pthread_kill... chybové události nastavení obsluhovaných signál ů je stejné pro všechny vlákna, ale blokování má každé vlákno vlastní pthread_sigmask(how, const sigset_t *set, sigset_t *oset) how: SIG_BLOCK, SIG_UNBLOCK, SIG_SETMASK signál určený pro proces zpracuje práv ě jedno vlákno, které jej nemá zablokovaný lze vyhradit jedno vlákno pro synchronní příjem signál ů pomocí sigwait() a ostatním signály zablokovat pokud vlákno je ukončeno signálem(nap ř. SIGINT), končí celý proces. 2. Jaké jsou možnosti ošetření signál ů? Jak se nastavuje ošetření signál ů (handlery, blokování) pro proces a pro vlákna? Implicitní akce, ignorování, ošetření handlerem sigaction(sig, const str sigaction *act, *oact) nastaví obsluhu signálu sig podle act a původní vrátí v oact

8 struct sigaction *sa_handler = fce typu void f(int) sigset_t sa_mask = signály blokované v handleru, navíc je blokován sig sa_flags = SA_RESETHAND (po příchodu zruš ošetřování), SA_RESTART (restartuj přerušené sys.volání), SA_NODEFER (neblokuj sig během obsluhy) blokování sigprocmask(how, sigset_t *set, *oset) pthread_sigmask(---''---) //viz minulá otázka nastaví masku blokovaných sigs a vrátí původní pro manip s maskou: sigdelset(), sigemptyset(), sigfillset(), sigismember() sigpending(sigset*set) - vrátí čekající signály čekání na sig: pause() //čeká na lib signál, pak pokračuje sigsuspend(sigset_t *sigmask) // jako pause, ale po dobu čekání nahradí masku blokovaných sig maskou sigmask sigwait(sigset_t set, int*sig) // čeká signál z množiny set (tyto sig musí být předtím bloklé), číslo signálu vrátí v sig, nevolá handler F) Vlákna Co je to vlákno, jak se liší od procesu? Které atributy jsou společné pro proces, které jsou privátní pro každé vlákno? Jak je možné vytvořit globální proměnnou privátní pro jedno vlákno? Vlákno je implementováno bud v knihovnách nebo v jádře. Library-thread model, kernel-thread model, hybridní modely soukromé atributy vláken: instruction pointer stack pevná velikost, dynamicky se nezvětšuje! thread ID, dostupné funkcí pthread_self() plánovací priorita a politika errno klíčované hodnoty dvojice (pthread_key klic, void *ptr) klíč vytvořený voláním pthread_key_create() je viditelný ve všech vláknech procesu každé vlákno mu může dát jinou hodnotu pomocí pthread_setspecific()

9 2. Popište postup při vytvoření a zrušení vlákna. Jak fungují destruktory klíčovaných hodnot a zásobník úklidových handler ů? pthread_create(pthread_t *thread, *attr, *start_fce, *arg) start_fce typu void f(*void) do thread dá ID vlákna attr=null, default, jinak bere parametry (stacksize,...) spustí funkci s param arg s attr se manipuluje pomocí: pthread_attr_*, kde * je: init() destroy() getstackaddr() setstackaddr() pthread_once(pthread_once_t *oncectrl, init_fce) v param oncectrl se předá odkaz na staticky inicializovanou prom = PTHREAD_ONCE_INIT init_fce je typu void f(void) první vlákno provede funkci init_fce, ostatní ji už nedělají a pokud ješt ě neskončila, jsou pozastavena ostatní vlákna nap ř na glob. dynamickou inicializaci dat pthread_exit(void *value ptr) // jako exit procesu pthread_join(thread, **value_ptr) // čeká na ukončení threadu thread a získá jeho návratovou hodnotu pthread_detach(thread) // okamžit ě uvolní pamět po skončení vlákna, nelze s thread_join pthread_cancel(thread) // žádost o zrušení vlákna závisí na nastavení pthread_setcancelstate(int state, *old) PTHREAD_CANCEL_ENABLE/DISABLE pthread_setcanceltype(int type, *old) jestli okamžit ě nabo na určitých místech pthread_testcancel() Klíče pthread_key_create(*key, destruktor) key je tvořený klíč destruktor je fce typu void f(void *) destruktor je volán při rušení vlákna pro každý klič, jehož value není NULL, podle SUSv3 je před vstupem do destruktoru nastavena každá hodnota na null pthread_key_delete(key) // ruší klíč, nemění asociovaná data pthread_setspecific(key, *data) void *pthread_getspecific(key)

10 úklidové handlery volají se před destruktory organizovány v zásobníku handler ů (LIFO) pthread_cleanup_push(fce, void *arg) fce je tvaru void f(void *) pthread_cleanup_pop(int execute) vyjme naposled vložený a spustí ho, pokud execute!= 0 3. Uveďte nástroje pro synchronizaci vláken. Nevrací chyby při čekání na lock, pokud přijde signal!!! Mutex něco jako semafor pthread_mutex_init(*mutex, *attr) attr NULL default, jinak fce pthread_mutexattr...() pthread_mutex_destroy(*mutex) pthread_mutex_lock(*mutex) // uspává dokud nejde pthread_mutex_trylock(*mutex) // nuspí, vrátí chybu pthread_mutex_unlockl(*mutex) defaultn ě pouze pro jeden proces, při tvoření mutexu se pomocí attr dá nastavit, že k němu mužou i ostatní pomocí shared mem podmínkové proměné pthread_cond_init(*cond, *attr) inicializace pthread_cond_destroy(*cond) pthread_cond_wait(*cond, *mutex) čeká na podmínkové prom dokud jiné vlákno nezavolá pthread_cond_signal(*cond) nebo pthread_cond_broadcast(*cond) automaticky odemkne mutex a až když je probuzeno, tak mutex znovu zamkne a pak se až vrátí pthread_cond_timedwait(*cond, *mutex, *absolut_time) jako minulá, ale skončí v čase abs_time i bez signalizace podmínky když signalizuji, že se něco změnilo, musím to po wait ješt ě znovu otestovat...nap ř mohlo to už změnit jiné vlákno,... MUSIM znovu testovat Read-write zámky pthread_rwlock_init(*lock, *attr) pthread_rwlock_destroy(*lock) thread_rwlock_rdlock(*lock) // uspí thread_rwlock_tryrdlock(*lock) // chyba

11 totéž pro wrlock pthread_rwlock_unlock(*lock) G) Synchronizace a zamykání Vysvětlete vznik konfliktu při přístupu ke sdíleným datům a jeho řešení pomocí zamykání. Jak může vzniknout deadlock? Popište zamykání soubor ů pomocí fcntl(). Zamykání pro přístup k souboru fcntl(fd, int cmd,...) cmd: F_GETLK vezme popis zámku z třetího arg a nahradí ho popisem existujícího zámku, který s ním koliduje F_SETLK(W) nastvení zámku podle třetího argumentu, při neúspěch ihned skončí W čeká třetí arg je typu struct flock: l_type: F_RDLOCK, F_WRLOCK, F_UNLOCK l_whence: jako u lseek, odkud je start počítán: SEEK_SET, SEEK_CUR, SEEK_END start, len pid procesu, který má zámek...jen u F_GETLK při skončení procesu se automaticky uvalní všechny jeho zámky Dva typy zámk ů: advisory locks procesy musí samy kontrolovat zámky před použitím read-write více používané mandatory locks je-li zamčeno, bude read/write pozdrženo, dokud se neodemkne nap ř na NFS (démon lockd) není podporováno nepoužívat 2. Vysvětlete zamykání pomocí lock soubor ů. Popište postup zamykání pro soubory sdílené pomocí NFS. Vytvoření souboru + test existence je atomická operace open( lockfile, O_RDWR O_CREAT O?EXCL, 0600) čekání ve smyčce (aktivní), problém s tím, když proces umře, vhodné do souboru zapsat PID, pak mohou ověřit, tím vznikne možnost vícenásobného zámku (test PID + smazání nejsou at.op.). Lze řešit samostatným procesem, který to kontroluje a jen maže

12 NFS problem nevrací korektn ě hned, ale až někdy vytvoříme jiný soubor (unikátní jméno pro každý proces!) a zkusíme na něj hardlinkovat lockfile (ve smyčce, dokud se nepovede) link(filename, lockfile) pak testneme statem, protože ani to nemusí vrátit korektní návratovou hodnotu stat(filename, &buff) A pokud je počet hardlink ů 2, pak máme přístup if(buf.st_nlink == 2) skonči smyčku a ješte zrušíme link unlink(filename) H) IPC Popište semafory, implementované v UNIX System V IPC. int semget(key, count, flags) vrati ident pole semafor ů ke klíči key key: cokoli nebo IPC_PRIVATE flags: IPC_CREAT, IPC_EXCL vraci id semctl(id, semnum, cmd,...) řídící fce, čtvrtý volit param je arg je typu union semun semnum je číslo semaforu v poli cmd: GETVAL, SETVAL, GETPID, GETNCNT(počet procesů čekajících na vyšší hodnotu), GETZCNT(čekajících na nulu), IPC_RMID zruší pole semafor ů!!! inicializace semaforu: semctl(id,num, SETVAL, arg) kde v arg je init_value semop(id, struct sembuf *sops, nsops) atomická operace sops pole operací o velikosti nsops sops: sem_num na jaký semafor v poli sem_op jaká změna -1 vstup do krit sekce (obecn ě -N) 1 vystup (N) 0 čekej na 0 sem_flg: IPC_NOWAIT, SEM_UNDO (při skončení procesu odemkni)

13 2. Popište sdílenou pam ěť, implementovanou v UNIX System V IPC. Fce začínají shm.. get(key, size, flags) shmat(id, *addr, flags) připojí na adresu addr (neboněkam, pokud NULL), vrací adresu flags: SHM_READONLY, SHM_RND(zaokrouhli adresu připojení) shmdt(*addr) odpoj shmctl(id, cmd, struct shmid_ds *buf) cmd: IPC_SET nastavení přístup. Práv IPC_STAT v buf vrátí informace IPS_RMID zrušení sdílené paměti odpojení neruší!!! 3. Popište fronty zpráv, implementované v UNIX System V IPC. Fce začínají msg... get(key, flags) flags: IPC_CREAT, IPC_EXCL spolu s přístup právy ctl(id, cmd, buf) jako vždy :)) msgsnd(id, *msgp, size, flags) pošle zprávu msgp o velikosti size do fronty id msgp lib typu, ale na začátku musí být kladný long identifikator typu. Size je uváděna bez tohoto identif typu!!! flags: IPCNOWAIT pokud je plna fronta, skonci s chybou msgrcv(id, *msgp, size, typ, flags) vrací velikost zprávy typ se nepočítá do velikosti vybere se z fronty první zpráva dle typu. == 0 libovolná > 0 přesn ě typu typ < 0 typ zprávy <= -typ I) Sítě Popište činnost serveru a klienta (posloupnost systémových volání) pro spojované síťové služby. Server: socket(domain(af_inet), type(sock_stream), protocol) bind(socket, address, sizeaddr)

14 listen(socket, int kolik muze cekat) accept(socket, address, addrlen) client: socket connect(socket, address, addrlen) send, recv, read, write,... - ješte jsou poll a select (testuje filedescriptory) 2. Popište činnost serveru a klienta (posloupnost systémových volání) pro nespojované síťové služby. Jako tcp, ale nema connect (jen pro omezeni adresy protistrany) a používá sendto a recvfrom sendto(socket, *msg, size, flags, addr, addrlen) recvfrom( ) close zavře socket. Nemusí být okamžit ě, jaádro se ješt ě napozadí snaží přenést zbylá data... shutdown(socket, int how) zavře socket, neruší deskriptor how: SHUT_RD zavře pro čtení SHUT_WR pro zápis SHUT_RDWR pro oboje...jaký to má smysl??? 3. Co je to soket? Jaké jsou varianty adresace soket ů (v rámci jednoho stroje a po síti)? Jaké funkce (uveďte aspo ň některé) slouží pro převod mezi číselnými a symbolickými jmény protokol ů, port ů a IP adres? Proč se používají funkce pro konverzi mezi lokálním a síťovým pořadím bajt ů? Obousměrná pipe sockety z AF_UNIX jejich názvy jsou názvy speciálních soubor ů, které je reprezentují v sys soubor ů. Tedy lokal sockety jsou take soubory p evody: ř struct protoent* getprotobyname(name) struct servent* getservbyname(name, proto_name) struct hostent* gethostbyname(name) struct hostent* gethostbyaddr(addr, len, type)

15 4. Popište varianty sekvenční a paralelní obsluhy klient ů TCP serveru. 5. Jak lze čekat na příchod dat z několika deskriptor ů souborů zárove ň? Jak byste tuto funkci použili při implementaci síťového serveru, který obsluhuje několik klient ů zárove ň jedním procesem bez použití vláken? Select, poll J) Administrace Jak probíhá start operačního systému UNIX? Co jsou to úrovně běhu systému? Jak se spouští startovací skripty? Načte a zavede se kernel mount / nový proces init a ten dělá zbytek v uživatelském režimu init spouští dle inittab id:úrovn ě:akce:proces akce je nap ř. Wait (počkej na dokončení), respawn, Jak probíhá přihlášení uživatele do systému? Init - fork + exec getty (načte login) exec login (suid user) exec shell 4. Jak se používá démon cron? Pravidelné spouštění akcí vypis crontab -1 zadani ze souboru crontab < file formát crontab: minuta hodina den měsíc den_v_týdnu (asi ješt ě suid?) command 5. Jak funguje síťový server inetd? Čeká na portech definovaných v inetd.conf a spouští servery formát inetd.conf: služba(dle services) socket(dgram, stream) proto čekání uid command + args

16 čekání: u stream wait: server si sám volá accept, jen jeden klient nowait: inetd volá accept a předá descriptor, server vlastn ě ani neví, že jede po síti 6. Jaké úkoly má správce Unixu?

Systém souborů (file system, FS)

Systém souborů (file system, FS) UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je

Více

Linux Teorie operačních systémů a realita

Linux Teorie operačních systémů a realita ÚVOD DO OPERAČNÍCH SYSTÉMŮ Linux Teorie operačních systémů a realita České vysoké učení technické Fakulta elektrotechnická Ver.1.00 2010 Historie Unixu a Linuxu MULTICS 50. - 60. léta minulého století,

Více

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba. Odpovědi jsem hledala v prezentacích a na http://www.nuc.elf.stuba.sk/lit/ldp/index.htm Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je

Více

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2 Přednáška 2 Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. 1 Systém souborů (FS) I 2 Systém souborů II Logický systém souborů pro běžného uživatele se jeví jako jediná homogenní struktura

Více

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí Výpočet v módu jádro v důsledku událostí - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení řízení se předá na proceduru pro ošetření odpovídající události část stavu přerušeného procesu

Více

Práce s pamětí. Tématicky zaměřený vývoj aplikací v jazyce C skupina Systémové programování Linux. Martin Husák, Petr Velan, Martin Drašar

Práce s pamětí. Tématicky zaměřený vývoj aplikací v jazyce C skupina Systémové programování Linux. Martin Husák, Petr Velan, Martin Drašar Práce s pamětí Tématicky zaměřený vývoj aplikací v jazyce C skupina Systémové programování Linux Martin Husák, Petr Velan, Martin Drašar Fakulta informatiky Masarykova univerzita {husakm velan drasar}@ics.muni.cz

Více

Procesy a vlákna - synchronizace

Procesy a vlákna - synchronizace ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody

Více

Systém adresace paměti

Systém adresace paměti Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného

Více

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Přednáška 5. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení. Úvod do Operačních Systémů Přednáška 5

Přednáška 5. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení. Úvod do Operačních Systémů Přednáška 5 Přednáška 5 Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení. 1 Uživatel Při přihlášení do systému musí uživatel: identifikovat systém, na který se chce přihlásit fyzické umístění

Více

Meziprocesová komunikace

Meziprocesová komunikace Meziprocesová komunikace mnohé aplikace sestávají z mnoha navzájem spolupracujících procesů, které mezi sebou komunikují a sdílejí informace jádro musí poskytovat mechanizmy, které toto umožní nazýváme

Více

Procesy a vlákna Mgr. Josef Horálek

Procesy a vlákna Mgr. Josef Horálek Procesy a vlákna Mgr. Josef Horálek Procesy a vlákna = Základním úkolem jádra je = Správa běžících procesů a vláken: = vytváření = plánování = nastavování = ukončování Proces, vlákno, úloha = Proces běžící

Více

Roury a zprávy Mgr. Josef Horálek

Roury a zprávy Mgr. Josef Horálek Roury a zprávy Mgr. Josef Horálek Roury a zprávy = Jde o metodu místní komunikace mezi procesy. = Jedná se o: = Anonymní roury = Pojmenované roury = Komunikace pomocí zpráv Anonymní roury (pipe) = Nejjednodušší

Více

Souborové systémy Mgr. Josef Horálek

Souborové systémy Mgr. Josef Horálek Souborové systémy Mgr. Josef Horálek Souborové systémy = Prostředky pro práci se souborovými systémy patří mezi nejsilnější stránky linuxového jádra. = Využívají unixový přístup k souborové hierarchii

Více

ZOS OPAKOVÁNÍ. L. Pešička

ZOS OPAKOVÁNÍ. L. Pešička ZOS OPAKOVÁNÍ L. Pešička ZÁKLADNÍ PRAVIDLO Důležité je znát nejen fakta, ale porozumět jim a zasadit je do kontextu celého OS Př. algoritmus Second Chance využívá bitu Referenced tak, že (fakta) a kdy

Více

Identita uživatelů, přístupová práva. Linux

Identita uživatelů, přístupová práva. Linux Identita uživatelů, přístupová práva Linux Uživatel Při přihlášení do systému musí uživatel: identifikovat systém, na který se chce přihlásit fyzické umístění (lokální přihlášení) jméno systému/ IP adresa

Více

Management procesu I Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více

Více

Operační systémy. Cvičení 5: Volání jádra, procesy, vlákna.

Operační systémy. Cvičení 5: Volání jádra, procesy, vlákna. Operační systémy Cvičení 5: Volání jádra, procesy, vlákna. 1 Obsah cvičení Systémová volání Knihovní funkce jazyka C Procesy informace o procesech vytváření, ukončování procesů, signály POSIX vlákna vytváření,

Více

C++ a vnitřní svět. David Bednárek Jakub Yaghob Filip Zavoral

C++ a vnitřní svět. David Bednárek Jakub Yaghob Filip Zavoral C++ a vnitřní svět David Bednárek Jakub Yaghob Filip Zavoral Vazby na OS Co není řešeno ISO normou Pokročilá práce se soubory Paměťově mapované soubory, asynchronní soubory Práce s adresáři Práce s procesy

Více

UŽIVATEL, SKUPINA, PROCES

UŽIVATEL, SKUPINA, PROCES UŽIVATEL, SKUPINA, PROCES Systém bez uživatele je jedině Matrix? Uživatelé se seskupují a řídí práci. Group = skupina uživatelů Trocha teorie: LINUX je systémem víceuživatelským. Tzn. Že k dané instanci

Více

Principy počítačů a operačních systémů

Principy počítačů a operačních systémů Principy počítačů a operačních systémů Operační systémy Souborové systémy Zimní semestr 2011/2012 Poděkování Při přípravě této prezentace jsem většinu materiálu převzal z prezentace Yaghob, J. Základy

Více

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21 Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní

Více

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu. 6.1.1 Obědvající filosofové

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu. 6.1.1 Obědvající filosofové Operační systémy Tomáš Hudec 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu, 6.1.1 Obědvající filosofové, 6.1.2 Producenti a konzumenti, 6.1.3 Problém spících holičů, 6.1.4 Problém pisatelů

Více

Procesy a vlákna (Processes and Threads)

Procesy a vlákna (Processes and Threads) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating

Více

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti MS WINDOWS II Jádro Správa objektů Správa procesů Zabezpečení Správa paměti JÁDRO I ntoskrnl.exe napsán v C (příp. assembler) základní mechanismy poskytované executivám trap dispečink synchronizace přístupů

Více

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem

Více

Administrace OS Unix. Úvodní informace Principy administrace Uživatelé

Administrace OS Unix. Úvodní informace Principy administrace Uživatelé Administrace OS Unix Úvodní informace Principy administrace Uživatelé Ing. Zdeněk Muzikář, CSc., Ing. Jan Žďárek, Ph.D. Příprava studijního programu Informatika je podporována projektem financovaným z

Více

Souborové operace Mgr. Josef Horálek

Souborové operace Mgr. Josef Horálek Souborové operace Mgr. Josef Horálek Souborové operace = V unixových systémech a Linuxu platí, že skoro vše je SOUBOR častý výskyt deskriptorů souborů a souborových operací. = Souborové operace umožňují

Více

Práce se soubory. Úvod do programování 2 Tomáš Kühr

Práce se soubory. Úvod do programování 2 Tomáš Kühr Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C u Soubor chápeme jako posloupnost bytů uložených na disku u Datový proud (anglicky stream) u Ještě obecnější přístup u Sjednocuje

Více

Ukázka zkouškové písemka OSY

Ukázka zkouškové písemka OSY Ukázka zkouškové písemka OSY Jméno a příjmení:.......................................... Odpovězte na otázky zaškrtnutím příslušného políčka. Otázky označené znakem mohou mít více než jednu správnou odpověď.

Více

Služba ve Windows. Služba (service) je program

Služba ve Windows. Služba (service) je program Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské

Více

Přednáška 6. Procesy a vlákna (vznik, stavy, atributy). Signály. Nástroje pro práci s procesy a vlákny. Úvod do Operačních Systémů Přednáška 6

Přednáška 6. Procesy a vlákna (vznik, stavy, atributy). Signály. Nástroje pro práci s procesy a vlákny. Úvod do Operačních Systémů Přednáška 6 Přednáška 6 Procesy a vlákna (vznik, stavy, atributy). Signály. Nástroje pro práci s procesy a vlákny. 1 Procesy I Proces je spuštěný program. Každý proces má v rámci systému přiřazeno jednoznačné číslo

Více

Operační systémy 1. Přednáška číslo 11 3. 5. 2010. Souborové systémy

Operační systémy 1. Přednáška číslo 11 3. 5. 2010. Souborové systémy Operační systémy 1 Přednáška číslo 11 3. 5. 2010 Souborové systémy Dělení dle bezpečnosti Souborové systémy s okamžitým zápisem pouze jeden druh operace a další musí čekat. Data se nemohou ztratit, ale

Více

Systém souborů (File System)

Systém souborů (File System) (File System) Základní pojmy Běžný uživatel vidí logický systém souborů jako jeden strom. Kořen stromu je kořenový adresář ( / = Root Directory ). Uzly stromu jsou adresáře (d = Directory). Listy stromu

Více

ČÁST 1. Základy 32bitového programování ve Windows

ČÁST 1. Základy 32bitového programování ve Windows Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25

Více

Konstruktory a destruktory

Konstruktory a destruktory Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,

Více

Práce s binárními soubory. Základy programování 2 Tomáš Kühr

Práce s binárními soubory. Základy programování 2 Tomáš Kühr Práce s binárními soubory Základy programování 2 Tomáš Kühr Binární soubory Mohou mít libovolnou strukturu Data jsou uložena ve stejné podobě jako v paměti za běhu programu Výhody: Pro uložení je potřeba

Více

Přidělování zdrojů (prostředků)

Přidělování zdrojů (prostředků) Přidělování zdrojů (prostředků) Proces potřebuje zdroje (prostředky) hardware (I/O zařízení, paměť) software (data, programy) Klasifikace zdrojů (z hlediska multitaskingového režimu) Násobně použitelné

Více

LINUX SOUBORY. Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. SPŠ Teplice - 3.

LINUX SOUBORY. Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. SPŠ Teplice - 3. LINUX SOUBORY Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. Dlouhý výpis příkazu ls Zadejte příkaz ls s parametrem l. Před každou položkou (souborem

Více

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno Operační systémy IOS 2009/2010 Tomáš Vojnar Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno ÚÓ Ò Ö ØºÚÙØ ÖºÞ Úvod do UNIXu p.1/11 Unix úvod Úvod do UNIXu p.2/11

Více

Struktura programu v době běhu

Struktura programu v době běhu Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů

Více

Lineární datové struktury

Lineární datové struktury Lineární datové struktury doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Lineární datové

Více

PB071 Programování v jazyce C

PB071 Programování v jazyce C Programování v jazyce C POSIX Organizační Zápočtový příklad nanečisto v tomto týdnu na cvičeních, 60 minut (naostro proběhne 5-11.5., čtvrtkové odpadnuté cvičení 15.5.) Pro účast na zkoušce je nutné mít

Více

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Cvičení č. 3. Sdílené prostředky a synchronizace Program Banka. 4 body

Cvičení č. 3. Sdílené prostředky a synchronizace Program Banka. 4 body Cvičení č. 3 Sdílené prostředky a synchronizace Program Banka 4 body Datum: 12.3.2008 1 Obsah 1. Úvod...2 2. Pokyny pro odevzdání...2 3. Příprava...2 4. Úlohy...3 4.1. Požadavky na program...3 4.2. Požadavky

Více

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce.

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce. Operační systémy Tomáš Hudec 7 Prostředky programovacích jazyků pro IPC Obsah: 7.1 Monitor, 7.1.1 Použití monitoru pro řízení přístupu do kritické sekce, 7.1.2 Použití monitoru pro synchronizaci, 7.1.3

Více

Změnit čas poslední modifikace souboru je možno službou jádra getrusage() stat() link() time() *truncate()

Změnit čas poslední modifikace souboru je možno službou jádra getrusage() stat() link() time() *truncate() Otázky nesjou zdaleka všechny, jsou vytažené ze zveřejněných ukázkových otázek!!! Mějme program: static int pole[100]; main() { int pole1[200]; } Tento program bude mít po zkompilování sekci DATA velkou

Více

přetížení operátorů (o)

přetížení operátorů (o) přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - deklarace pomocí funkčního

Více

Webový server lapache

Webový server lapache Webový server lapache Abstrakt lapache (lukas light apache) je jednoduchý UNIXový webový server podporující: podmnožinu HTTP 1.0/1 protokolu virtuální servery (s vlastními chybovými stránkami a kořenem

Více

Windows a real-time. Windows Embedded

Windows a real-time. Windows Embedded Windows a real-time Windows Embedded Windows pro Embedded zařízení Současnost (2008): Windows Embedded WINDOWS EMBEDDED Windows Embedded CE Windows XP Embedded Windows Embedded for Point of Service Minulé

Více

udev a kamarádi... Středisko UN*Xových technologií

udev a kamarádi... Středisko UN*Xových technologií udev a kamarádi... Středisko UN*Xových technologií udev a kamarádi úvod Zařízení v Linuxu typicky adresář /dev tři typy zařízení znakové blokové síťové nejsou přítomny tvoří vazbu mezi userspace (programy)

Více

Systémová volání Mgr. Josef Horálek

Systémová volání Mgr. Josef Horálek Systémová volání Mgr. Josef Horálek Systémová volání = Systémová volání = volání jádra = základní komunikace aplikačních programů s jádrem = Tvůrce programu obvykle oddělen vrstvou standardní knihovny

Více

Univerzita Pardubice Fakulta elektrotechniky a informatiky ISOSY. 2010 Matěj Trakal

Univerzita Pardubice Fakulta elektrotechniky a informatiky ISOSY. 2010 Matěj Trakal Univerzita Pardubice Fakulta elektrotechniky a informatiky ISOSY 2010 Matěj Trakal Obsah 1 4. přednáška 2 1.1 Práva................................. 2 1.1.1 Obecné informace....................... 2 1.1.2

Více

Administrace OS Unix. filesystém UFS mount snapshot RAID

Administrace OS Unix. filesystém UFS mount snapshot RAID Administrace OS Unix filesystém UFS mount snapshot RAID Ing. Zdeněk Muzikář, CSc., Ing. Jan Žďárek, Ph.D. Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního

Více

Metody připojování periferií BI-MPP Přednáška 2

Metody připojování periferií BI-MPP Přednáška 2 Metody připojování periferií BI-MPP Přednáška 2 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011

Více

- program = vykonatelný soubor - proces = jedna instance vykonávaného programu

- program = vykonatelný soubor - proces = jedna instance vykonávaného programu Proces - program = vykonatelný soubor - proces = jedna instance vykonávaného programu UNIX - souběžně (simultaneously) se může vykonávat mnoho procesů (šachový velmistr) - může se vykonávat mnoho instancí

Více

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti

Více

Více o konstruktorech a destruktorech

Více o konstruktorech a destruktorech Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení

Více

OS Procesy a vlákna. Tomáš Hudec. Tomas.Hudec@upce.cz. http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/

OS Procesy a vlákna. Tomáš Hudec. Tomas.Hudec@upce.cz. http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ OS Procesy a vlákna Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ Osnova procesy příkazy pro procesy procesy systémová volání signály signály systémová volání vlákna

Více

Počítačové sítě Systém pro přenos souborů protokol FTP

Počítačové sítě Systém pro přenos souborů protokol FTP Počítačové sítě Systém pro přenos souborů protokol FTP Autorizovaný přístup do souborového systému hostitelského uzlu Informace o obsahu souborového systému hostitelského uzlu Obousměrný přenos kopií souborů

Více

Činnost počítače po zapnutí

Činnost počítače po zapnutí Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Činnost počítače po zapnutí Paměť RWM(Read Write Memory - paměť pro čtení a zápis, označovaná také jako RAM)

Více

Principy operačních systémů. Lekce 7: Souborový systém

Principy operačních systémů. Lekce 7: Souborový systém Principy operačních systémů Lekce 7: Souborový systém Souborový systém Souborový systém (anglicky file system) je označení pro způsob organizace dat ve formě souborů (a většinou i adresářů) tak, aby k

Více

Vícevláknové programování na CPU: POSIX vlákna a OpenMP I. Šimeček

Vícevláknové programování na CPU: POSIX vlákna a OpenMP I. Šimeček Vícevláknové programování na CPU: POSIX vlákna a OpenMP I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.2

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 16 Semafory Await synchronizace používající await běží na železe = využívají

Více

Operační systémy. Přednáška 4: Komunikace mezi procesy

Operační systémy. Přednáška 4: Komunikace mezi procesy Operační systémy Přednáška 4: Komunikace mezi procesy 1 Časově závislé chyby Dva nebo několik procesů používá (čte/zapisuje) společné sdílené prostředky (např. sdílená paměť, sdílení proměnné, sdílené

Více

Práce se soubory. Úvod do programování 2 Tomáš Kühr

Práce se soubory. Úvod do programování 2 Tomáš Kühr Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup

Více

Identita uživatele (procesu)

Identita uživatele (procesu) (procesu) Vnější identita, identita uživatele Je tvořena přihlašovacím jménem a heslem Slouží k: přihlášení do systému pojmenování domovského adresáře jako jméno pro mail... Vnitřní identita, identita

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic. Základní principy konstrukce systémové sběrnice - shrnutí Shrnout základní principy konstrukce a fungování systémových sběrnic. 1 Co je to systémová sběrnice? Systémová sběrnice je prostředek sloužící

Více

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí Velké projekty v C velký = 100ky a více řádek udržovatelnost, bezpečnost, přehlednost kódu rozdělení programu do více souborů další prvky globální proměnné, řízení viditelnosti proměnných, funkcí Globální

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13 Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace

Více

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N Struktura (union) - struktura a union jsou složené typy, které "v sobě" mohou obsahovat více proměnných - struktura obsahuje v každém okamžiku všechny své proměnné, union obsahuje (=je "aktivní") pouze

Více

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština) Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,

Více

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty Vlákna a přístup ke sdílené paměti B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Paralelizace nám může pomoct... 1 Minulé cvičení: Paralelizace nám může pomoct... B4B36PDV: Ale ne všechny

Více

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011 Operační systémy Správa procesoru Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 11. březen, 2011 Petr Krajča (UP) KMI/XOSY: Přednáška III. 11. březen, 2011 1 / 18 Procesy (1/2) neformálně:

Více

Komunikační sokety. teorie a implementace v C#, C++ a Javě. Aleš Keprt Katedra informatiky UP duben 2006, revize květen 2007

Komunikační sokety. teorie a implementace v C#, C++ a Javě. Aleš Keprt Katedra informatiky UP duben 2006, revize květen 2007 Komunikační sokety teorie a implementace v C#, C++ a Javě Aleš Keprt Katedra informatiky UP duben 2006, revize květen 2007 Hrajeme proti sobě ale jak na to? Komunikace mezi procesy na jednom počítači Roury

Více

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Od CGI k FastCGI Ondřej Caletka 5. října 2013 Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) Od CGI k FastCGI 5. října 2013 1 / 18 Obsah 1 Common

Více

Administrace Oracle. Práva a role, audit

Administrace Oracle. Práva a role, audit Administrace Oracle Práva a role, audit Filip Řepka 2010 Práva (privileges) Objekty (tabulky, pohledy, procedury,...) jsou v databázi logicky rozděleny do schémat. Každý uživatel má přiděleno svoje schéma

Více

2010/2011 ZS P i r i nc č py po ít č čů a SOUBOROVÝ SUBSYSTÉM

2010/2011 ZS P i r i nc č py po ít č čů a SOUBOROVÝ SUBSYSTÉM Pi Principy i počítačů čů SOUBOROVÝ SUBSYSTÉM požadavky perzistentní uchovávání dat zvětšení pracovního objemu při zpracování dat dostupnost různými procesy Soubor abstrakce, která umožňuje uložit informace

Více

Operační systém UNIX

Operační systém UNIX UNIX z pohledu uživatele 1 Operační systém UNIX Nejzákladnější komponenty:! jádro (kernel)! shell! utility Jádro operačního systému! v podstatě představuje vlastní operační systém! fyzicky je to jediný

Více

09. Memory management. ZOS 2006, L.Pešička

09. Memory management. ZOS 2006, L.Pešička 09. Memory management ZOS 2006, L.Pešička Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému

Více

ZOS 9. cvičení, ukázky kódu. Pavel Bžoch

ZOS 9. cvičení, ukázky kódu. Pavel Bžoch ZOS 9. cvičení, ukázky kódu Pavel Bžoch Obsah Komunikace mezi procesy Atomické operace TSL a CAS Zámky Semafory Semafory vypsání věty Monitor Bariéra pomocí monitoru Implementace semaforu pomocí monitoru

Více

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy) Architektura a koncepce OS OS a HW (archos_hw) Aby fungoval OS s preemptivním multitaskingem, musí HW obsahovat: 1. (+2) přerušovací systém (interrupt system) 2. (+2) časovač Při používání DMA: 1. (+1)

Více

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Vzorový příklad pro práci v prostředí MPLAB Zadání: Vytvořte program, který v intervalu 200ms točí doleva obsah registru reg, a který při stisku tlačítka RB0 nastaví bit 0 v registru reg na hodnotu 1.

Více

Zadání Vytvoříme jednoduchý multithread HTTP server v jazyce Java Spustíme si ho na lokálním počítači A otestujeme ho Zdrojový kód je v

Zadání Vytvoříme jednoduchý multithread HTTP server v jazyce Java Spustíme si ho na lokálním počítači A otestujeme ho Zdrojový kód je v Vývoj informačních systémů Námět na praktické cvičení Klient Server (nepovinné) Zadání Vytvoříme jednoduchý multithread HTTP server v jazyce Java Spustíme si ho na lokálním počítači A otestujeme ho Zdrojový

Více

Operační systémy. Přednáška 2: Procesy a vlákna

Operační systémy. Přednáška 2: Procesy a vlákna Operační systémy Přednáška 2: Procesy a vlákna 1 Procesy Všechen běžící software v systému je organizován jako množina sekvenčně běžících procesů. (Sekvenční) proces Abstrakce běžícího programu. Sekvence

Více

Transakce a zamykání Jiří Tomeš

Transakce a zamykání Jiří Tomeš Transakce a zamykání Jiří Tomeš Administrace MS SQL Serveru (NDBI039) O čem to dnes bude Úvodní opakování základních pojmů Jištění transakcí Speciální konstrukce Typy transakcí Závěrečný souhrn, použité

Více

Programování v jazyce C a C++

Programování v jazyce C a C++ Programování v jazyce C a C++ Příklad na tvorbu třídy Richter 1 4. prosince 2017 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno Dvourozměrné pole pomocí tříd Zadání Navrhněte a napište třídu pro realizace

Více

Práce se soubory. Základy programování 2 Tomáš Kühr

Práce se soubory. Základy programování 2 Tomáš Kühr Práce se soubory Základy programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup

Více

Vstupně - výstupní moduly

Vstupně - výstupní moduly Vstupně - výstupní moduly Přídavná zařízení sloužící ke vstupu a výstupu dat bo k uchovávání a archivaci dat Nejsou připojována ke sběrnici přímo, ale prostřednictvím vstupně-výstupních modulů ( ů ). Hlavní

Více

IUJCE 07/08 Přednáška č. 6

IUJCE 07/08 Přednáška č. 6 Správa paměti Motivace a úvod v C (skoro vždy) ručně statické proměnné o datový typ, počet znám v době překladu o zabírají paměť po celou dobu běhu programu problém velikosti definovaných proměnných jak

Více

Metody připojování periferií

Metody připojování periferií Metody připojování periferií BI-MPP Přednáška 13 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011

Více

C++ 0x aka C++11. Základním kamenem je třída std::thread

C++ 0x aka C++11. Základním kamenem je třída std::thread C++ 0x aka C++11 Jako jiné jazyky, např. Free/Object Pascal, se C++ ve standardu ++0x dočkal podpory vláken Výhodou je, že standardní knihovna je platformě nezávislá na úrovni zdrojového kódu Základním

Více

konstruktory a destruktory (o)

konstruktory a destruktory (o) konstruktory a destruktory (o) - slouží k ovlivnění vzniku (inicializace) a zániku (úklid) objektu - základní myšlenkou je, že proměnná by měla být inicializována (nastavena do počátečního stavu) a zároveň

Více

Spojová implementace lineárních datových struktur

Spojová implementace lineárních datových struktur Spojová implementace lineárních datových struktur doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB

Více

Počítačové sítě Transportní vrstva. Transportní vrstva

Počítačové sítě Transportní vrstva. Transportní vrstva UDP TCP Rozhraní služeb Rozhraní protokolů 17 6 ICMP IGMP OSPF 01 02 89 SAP Síťová vrstva IP Rozhraní přístupu k I/O ARP Ethernet driver RARP Vrstva síťového rozhraní 1 DATA Systém A Uživatel transportní

Více