Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
2007 MIF.VU UNIX OS6
UNIX i r ne UNIX terminologi ja●Partition: disko skirsnis●SWAP: virtuali atmintis●/ root directory, ~ /home directory●i-node–pasiekiamumo ir tipo informacija–kam priklauso–laiko informacija: modifikacijos, naudojimas–nuorod skaičius, failo dydisų–fizin failo adres informacija diskeė ų
2007 MIF.VU UNIX OS8
Pr i jungimo taškas(mount point)
●/ (root dir)●/mnt●SWAP● vair s renginiaiĮ ū į–Floopy–CD-ROM–USB Raktai, grotuvai ir t.t.
2007 MIF.VU UNIX OS11
VISKAS UNIX OS YRA FAILAI
●Katalogo failai: –fail vard s rašasų ų ą–inodai:●pasiekiamumo ir tipo informacija(mode)●kam priklauso●laiko informacija: modifikacijos, naudojimas●nuorod skaičius, failo dydisų●fizin failo adres informacija diskeė ų
● prasti arba paprasti failaiĮ●Special s arba rengini failaiū į ų●Kanalai ir nuorodos
2007 MIF.VU UNIX OS13
Paprast ie j i fa i la i
● vairios bait sekos, kuri paskirtis Į ų ųOS visiškai nesvarbi, pvz:–tekstiniai–paleidžiamieji–bibliotekos–kiti●
2007 MIF.VU UNIX OS14
Simbol in i i r b lok in i ų ųrengin i fa i la iį ų●/dev failai per kuriuos bendraujama su tvarkykl mis, šie failai persiunčia ėkomandas tvarkykl ms.ė●Simboliniai: nedideli duomen ųsrautai●Blokiniai: dideli bit blokaių
●
● Pvz.: “cat /dev/urandom > /dev/speaker”
●
2007 MIF.VU UNIX OS15
Viet in ia i i r F IFO kanala i
●Tarpprocesiniai ryšio kanalai●Vartotojas gali tik skaityti●Keisti gali tik patys procesai●FIFO kanalai relizuoja FIFO strukt rū ą●
● Pvz.: “cat /dev/urandom > /dev/speaker”
●
2007 MIF.VU UNIX OS16
Simbol in s i r ėkietos ios nuorodos
●Kietoji nuoroda sukuria dar vien ąnuorod fail , visi atributai lieka ą į ątokie paty●Simbolin nuoroda susiejama, per ėvard .ą
2007 MIF.VU UNIX OS19
Vartotoja i i r grup sė
●Kiekvienas failas turi savinink ir ągrup .ę●Kiekvienas naudotojas ir grup turi ėsavo numerį●Pagrindinis naudotojas – root, grup – ėwheel (arba root)
2007 MIF.VU UNIX OS21
Fai l atr ibuta i : Tų
●TUUUGGGOOO – failo atribut strukt raų ū●T – nusako failo tip :ą–paprastas failas: “-”–katalogas: “d”–simbolinio renginio failas: “c”į–blokinio renginio failas: “b”į–UNIX vietinis kanalas: “s”–FIFO kanalas: “p”–Minkštoji, simbolin nuoroda: “l”ė
2007 MIF.VU UNIX OS22
Fai l atr ibuta i : UUUų
●TUUUGGGOOO – failo atribut ųstrukt raū●UUU – failo savininko leidimai:–“r” – galima skaityti(400)–“w” – galima rašyti(200)–“x” – galima paleisti(100)
2007 MIF.VU UNIX OS23
Fai l atr ibuta i : GGGų
●TUUUGGGOOO – failo atribut ųstrukt raū●GGG – failo grup s leidimai:ė–“r” – galima skaityti(40)–“w” – galima rašyti(20)–“x” – galima paleisti(10)
2007 MIF.VU UNIX OS24
Fai l atr ibuta i : OOOų
●TUUUGGGOOO – failo atribut ųstrukt raū●OOO – failo “vis kit ” leidimai:ų ų–“r” – galima skaityti(4)–“w” – galima rašyti(2)–“x” – galima paleisti(1)
2007 MIF.VU UNIX OS25
Fai l atr ibuta i : ųpavyzdž ia i
●-rwxrwxrwx(777) – galima visiems viskas●---x------(100) – fail galima tik paleisti ą●-rw-r--r--(644) – savininkui rašyti ir skaityti, o kitiems tik skaityti.●-rwxr-x-w-(752) - ???●
2007 MIF.VU UNIX OS27
Pagr indin s FS dalysė
● FFS, UFS, ext2, ext3, s5fs ir kt.●Superblokas●Indeks apraš s rašasų ų ą●Patys indeks aprašaių●Duomen blokasų●
●
2007 MIF.VU UNIX OS28
Superblokas
●Saugoma info apie fail sistem , jos ų ąarchitekt r , blok ir indeks apraš skaiči .ū ą ų ų ų ų●struct–s_type: fail sistemos tipasų–s_fsize: sistemos dydis–s_isize: indeks apraš masyvo dydisų ų–s_tfree: laisv fail blok skaičiusų ų ų–s_tinode: laisv inode skaičiusų–požymiai(s_fmod, s_fronly)–bloko dydis 512, 1024, 2048–laisv inode numeri s rašasų ų ą–laisv blok adres s rašasų ų ų ą
2007 MIF.VU UNIX OS30
Katalogai
●Fail vardai inode nesaugomių●Katalogo failo strukt ra:ū–d_ino–d_reclen–d_namlen–d_name[]
2007 MIF.VU UNIX OS34
Naudingi patar imai i r pasteb j imaiė●Fail vardai yra “case sensitive”, ų“AA” ir “aa” ne tas pats.●Nedirbkite ‘root’ vartotoju●Trindami du kartus pamatuokite.●Jei nenutuokiate k daro komanda ą– neeksperimentuokite per daug ●Geriau neredaguokite katalog ų●Nenaudokite rm –rf * ●
2007 MIF.VU UNIX OS37
cd
●pakeičia einam j katalogą į ą●cd .. gr žta prieš tai esantį į į●cd/’cd ~’ gr žta namį į ų
2007 MIF.VU UNIX OS39
mount /umount
●mount -t vfat /dev/fd0 /mnt/floppy ●mount -t iso9660 -r /dev/cdrom /mnt/cdrom●umount /dev/fd0●umount /mnt/floppy●
● Prijungia aparat rin rang , kitas ū ę į ąfail sistemasų
2007 MIF.VU UNIX OS44
Vi r tua l i Fa i l s i s temaų
● vairi tip failin s sistemos skiriasi:Į ų ų ė–vidine sandara–darbo organizacija
●Galima išskirti:–Lokalias–Nutolusias–FS „ateiviai“ (DOS,VFAT,NTFS ir t.t.)
2007 MIF.VU UNIX OS45
Vi r tua l i Fa i l s i s temaų
ProcesasSisteminių komandų sąsaja read(),write(), ioctl()
Virtualios FS sąsaja vfs
DOS specFS NFSufs . . .
2007 MIF.VU UNIX OS46
Vi r tua l s i ndeks desk r ip to r ia iū ų
●Failas diske susiejamas su DS „inode“●Procesas susietas su failu turi DS „vnode“ (virtual node)
2007 MIF.VU UNIX OS47
Vi r tua l s i ndeks desk r ip to r ia iū ų
●vnode DS esminiai laukai:–vflag vnode pažymiai (u_short)
–v_count # nuorod sk. vnodeų į–*v_filock failo blokavimas
–*v_vfsmountedhere nuoroda prijungt FSį ą–v_vfsp nuoroda FS, kur yra Failasį–v_type vnode tipas
–v_data nuoroda duom. realioje sist.į–*v_op vnode operacijos
2007 MIF.VU UNIX OS48
Vi r tua l s i ndeks desk r ip to r ia iū ų
●Jei v_count == 0, tai kviečiamas vn_inactive()
●Operacijos su v_node galima atlikti:
–int (* vn_open)() //atidarom failą–int (* vn_close)() //uždarom bylą–read, write, getaddr, setaddr, access, lookup, create, remove, link, mkdir rmdir, readdir, symlink, readlink ir inactive.
2007 MIF.VU UNIX OS49
VFS p r i jung imas (montav imas)
●FS prijungiama prie VFS hierarchijos ●Kiekvienam primontuotam FS'ui saugoma vfs DS. Jos sudedamos s raš .į ą ą●S rašas vadinamas montavimo lenteleą●
2007 MIF.VU UNIX OS50
VFS p r i jung imas (montav imas)
●vfs DS:–struct vfs *vfs_next //sekanti FS lentel jė–struct vfsops *vfs_op //FS operacijos
–struct vnode *vfs_vnodecovered //vnode, kuri perdengia duotoji FS
–int vfs_flags //Požymiai (ro,rw)
–int vfs_bsize //FS bloko dydis
–caddr_t vfs_data //nuoroda spec. duomenisį
2007 MIF.VU UNIX OS51
F rak in imas (b lokav imas)
●UNIX OS leidžia prieiti prie F keliems procesams●read(), write() atomin s, nedalomosė●OS sinchronizuoja atnaujinimus●OS leidžia rakinti bait regionus (fcntl)ų
2007 MIF.VU UNIX OS52
F rak in imas (b lokav imas)
●Rakinimo lentel :ėEgzistuojantis Bandymas rakintirakinimas F_RDLCK F_WRLCKF_UNLCK 1 1F_RDLCK 1 0F_WRLCK 0 0
●Rakinimas yra rekomendacinio lygio–branduolys nekontroliuoja ir leidžia rašyti įužrakintas dalis
–Procesas turi pats pasitikrinti ar resurasas laisvas
2007 MIF.VU UNIX OS53
F rak in imo pavyzdys
● struct flock lock;
● ...
● lock.l_type=F_WRLCK;
● lock.whence=SEEK_SET;
● lock.l_start=0;
● lock.len=0;
● fcntl(fd, SETLKW, &lock);
● ...
● fwrite(fd,record, sizeof(record));
● ... lock.l_type=F_UNLCK;
● fcntl(fd, SETLKW, &lock);
2007 MIF.VU UNIX OS54
F rak in imas (b lokav imas)
●UNIX turi ir privalomus rakinimus
–gali sukelti potencialiai problemą
2007 MIF.VU UNIX OS55
Disko ( l a ikmenos) bu fe r i s
●Kam to reikia:
–I/O operacijos su išorine laikmena trunka ilgiau nei I/O su operatyvi ja atmintimi (RAM)ą–skaitymas iš disko gali skirtis nuo 10x iki 1000x
●Sprendimas:–Pad ti dažnai naudojamus duomenis podel ė į į(keš )ą
2007 MIF.VU UNIX OS56
Disko ( l a ikmenos) bu fe r i s
Virtuali FS
s5fs ufs ...
Disko buferis
Disko tvarkyklė Disko tvarkyklė
2007 MIF.VU UNIX OS57
Disko ( l a ikmenos) bu fe r i s
●DS buf laukai:–b_flags //buferio b sena (B_BUSY, ūB_DONE, B_READ,... ir B_PHYS)
–av_forw, av_back //dvikrypčio buf. s r. nuorodosą–b_bcount //bait sk. perdavimuių–b_un.b_addr //buf. virt. adresas
–b_blkno //duomen pradžios bloko numerisų–b_dev //vyr. ir jaun. /dev/ nr.