Felhasználói felületek Operációs rendszerek Felhasználói felületek
A UNIX Az első változat egy játékprogram környezeteként lett kifejlesztve 1969-ben (Bell T. L.). Berkeley egyetem fejlesztésére (BSD), ”lecsapott” az USA hadiipara, Internet (1974). TCP/IP protokoll beépítése. Első forgalomba hozott változat 1976-ban. Publikus forráskód miatt, ahány cég, annyi változat. Szabványosítási törekvések: POSIX. Nyílt rendszer, fejlesztés ”C” nyelven. Adott HW-re írt alkalmazások, csak speciális IF- programokkal működnek más HW-on.
A Windows N(ew)T(echnology) A 32 bit-es processzorokhoz készült. Fejlesztés indulása 1988-ban (C ill. C++). Az NT 4.0 1996-ban jelent meg. Intel és DEC Alpha rendszereken működik. Kompatibilis az MS-DOS és MS-Windows alkalmazásokkal. Két változat (ua. a belső mag és OPR kód): W NT Workstation, W NT Server (kliens-szerver alkalmazások támogatása, NetWare és Microsoft LAN környezetben, 4-nél több párhuzamos proci). Windows 95 user interface-szel ( pl.: NO USB).
A Windows N(ew)T(echnology) A proci függő kódok egy külön könyvtárba, egy külön rétegen. Ez kezeli a HW-t. Így a felsőbb rétegek ettől függenek és nem a HW- től (átvihetőség segítése). Blue Death.
A bekapcsolási (boot) folyamat A boot program kezd el futni és beállítja a rendszer kezdő állapotát. Betölti az OPR magját egy meghatározott könyvtárból (a lemezen bárhol lehet). Az OPR veszi át a vezérlést, így: feltérképezi a HW-t, felépíti a rendszertáblákat, pl. az IT-t, elindítja a rendszerfolyamatokat, elindulnak a felhasználói bejelentkezésre váró folyamatok, a felhasználói felület megjelenése.
A felhasználói felület feladatai Felhasználói parancsok/programok bevitele és értelmezése. Ezen utasítások végrehajtása. Eredmények illetve hibák közvetítése, megjelenítése.
A felhasználói felülettel szemben támasztott igények Kezdő felhasználók: kevés, egyszerű parancs, biztonságos parancsok; mindig kérdez (valóban ezt akarja? tényleg? komolyan? . . .), nem okoznak helyrehozhatatlan kárt, helyzetfüggő segítség.
A felhasználói felülettel szemben támasztott igények Tapasztalt felhasználók: hatékony, a rendszer minden lehetőségét kihasználó parancsok, konfigurálható parancsok, saját beállítási lehetőségekkel, bővíthető parancskészlet.
Felhasználói felület típusai Karakteres amely hatékony: szöveges parancsok fogadása, feldolgozása, bemenet: billentyűzet, kimenet: karakteres képernyő(k), parancs illetve menü orientált.
Felhasználói felület típusai Grafikus amely kényelmes: multiprogramozottság látványos kihasználása az ablakozó technika alkalmazásával, menü rendszer(ek), grafikus (interaktív) alkalmazások és I/O eszközök támogatása, bemenet: billentyűzet, egér, fényceruza, tablet, scanner, kimenet: képpontonként kezelt (érintő) képernyő, nyomtatók, plotter-ek, digitális kimenet. be/kimenet: audio, video (IEEE 1394), TV.
A UNIX felhasználói felülete Karakteres, parancsorientált. Szövegfeldolgozó rendszernek készült. A rövid parancsnevek miatt hatékony. Fejleszthető felhasználói leírás a: man. Segédprogramok a gyakori műveletekhez. Programozható felhasználói felület, ablakozó alrendszerek (X Window, grafikus kimenettel rendelkező alkalmazásokhoz, X server amelynek forráskódja publikus).
A WNT felhasználói felülete Grafikus és menüvezérelt illetve karakteres. A W95 és W98 felület fejlesztett változata. Helyzetérzékeny (és többnyire használhatatlan ) help. Segédprogramok halmaza. Fix, bár paraméterezhető parancsok. Az WXP-nél ”fejlesztett” Start menü.
„Klasszikus” UNIX rendszer képe Számítógép TERMINÁL soros vonali kapcsolat
Rendszer struktúra A UNIX tipikus felépítése: Egy számítógép - több kapcsolódó terminál. A Terminál feladata: a felhasználóval történő kommunikáció; bemenet a billentyűzetről, kimenet a képernyőre. PC-s környezetben, munkaállomások esetén: Egy gép, egy fizikai terminál.
Belépés a rendszerekbe A többfelhasználós jelleg miatt kell. Csak azonosított rendszerhasználat lehetséges. Védelem: a rendszer integritásának megtartása, hibák kiszűrése, a rendszerhasználat szabályozása, dokumentálása. Biztonság: az illetéktelen hozzáférés megakadályozása.
Belépés a rendszerekbe Beléptetéskor: a user azonosító megadása, a user azonosítóhoz tartozó titkos információ password (jelszó) megadása, korábban használt környezet (shell) elindítása zajlik, különböző folyamatok segítségével. A felhasználók alternatív azonosítása: személyes tulajdonságai alapján (pl.: ujjlenyomat, kézlenyomat, retinalenyomat, DNS kód, aláírás (haha)), birtokában lévő tárgyak (pl.: kulcs, azonosító, kártya), általa ismert információ (pl.: név, jelszó, algoritmus).
Belépés a rendszerekbe Legelterjedtebb a harmadik, de a jelszó miatt problémás lehet. Ezért a rendszer a következőkre ”kényszerítheti” a felhasználót: ”nehezen kitalálható” jelszó megadatása, gyakori jelszó csere (, aha). sikertelen jelszavak utáni exponenciális idejű késleltetés, véges számú jelszó-kísérlet utáni letiltás.
Felhasználók azonosítása a UNIX-ban Felhasználó (user) azonosító: egyedi karaktersorozat. Rendszeren belül: egyedi numerikus érték: user ID UID, illetve group ID GID. UID és user azonosító egyértelműen összerendelhető: /etc/passwd file-ban. A belépés történhet a központi gépre, de a terminálokra is.
Felhasználók azonosítása a UNIX-ban A felhasználó azonosítására szolgáló titkos információ a jelszó. Password tárolása: kódolt formában: mindenki számára olvasható fájlban: /etc/passwd file-ban, egyirányú kódolás: a kódolt jelszóból nem lehet a jelszót visszaállítani.
Kitüntetett felhasználó a: root UID = 0 . Minden felhasználói adat hozzáférési jogosultságával rendelkezik. A jelszót a root sem tudja visszafejteni, csak törölni képes azt. A root feladata, új felhasználói azonosító(k), munkakönyvtár(ak) (home) és környezet(ek) (shell) létrehozása, beállítása.
Parancsok I. clear: a képernyő törlése. pwd: az aktuális könyvtár azonosítójának kiíratása. who: kilistázza a rendszerbe bejelentkezett felhasználók azonosítóját, az általuk használt terminált. whoami: kiírja, hogy milyen user azonosítóval lépett be a felhasználó. passwd: jelszó megváltoztatás (/etc/passwd). ls [-lai]: állományok listázása (Ctrl+C). ls | more ls -l ls -li ls -lia | more cd: könyvtár-szerkezetben való közlekedés. cd .. cd / cd ../.././.. cd /../.
Parancsok II. man: a parancsok működési leírásainak kiíratása. man ls (kilépés: q) cat, more, type: állományok tartalmának a kiíratása. more ../tartalom.txt chmod: állományok védelmi kódjának a megváltoztatása. chmod 421, chmod ugo=rwx, chmod go-x, chmod g+x, chmod ug+s echo: az input kiírása az output-ra. >, >>, 2>, <, : standard output, input és hibacsatorna átirányítása. Kimenet: echo echo ez egy átirányított szöveg > ide.txt echo chmod 000 ide.txt >> ide.txt
Parancsok III. Egy másik lehetőség: cat > ide.txt echo ez egy átirányított szöveg chmod 000 ide.txt Ctrl+D Hiba kimenet: chmode 777 ide.txt 2> hiba.er Bemenet: more < hiba.er who > kik; sort < kik
Parancsok IV. date: az aktuális dátum és idő kiíratása. sort: ABC sorrendbe rendezés. wc: sor - szó - karakter számolása. script file: #!/bin/bash az 1. sorban és futtatási file jog grep: minta szerinti kereső. more ide.txt | grep ^s > s_kezdet.txt more ide.txt | grep a$ > a_vég.txt ls -l | grep ^d > könyvtárak.txt A minta védelme a shell-től: ls -l | grep '^d..x.w-r--' | sort | wc | more > könyvtárak_2.txt more ide.txt | grep '^[apt].*[^0-9]$' > vizsga.szint
Parancsok V. A minta védelme a grep-től: Reguláris kifejezések: more ide.txt | grep '^[apt]\.[^0-9]$' > vizsga.szint.0 more ide.txt | grep '^[apt]\.*[^0-9]$' > vizsga.szint.1 more ide.txt | grep '^[apt]\.\*.*[^0-9]$' > vizsga.szint.2 Reguláris kifejezések: '^' illetve '$' = a sor elején illetve végén keresi a mintát, '[^' = tagadja az utána álló mintát/reguláris kifejezést, '.' = tetszőleges (nem új sor) karakter, '*' = 0-tól végtelenig ismétli az előtte álló mintát/reguláris kifejezést, '\' = konvertálja (semlegesíti) az utána álló reguláris kifejezést mintává. Meta (globális, joker) karakterek használata (a shell értelmezi!): ls -l a??b*.doc ls -l [abc]??b*a.doc ls -l [a-z]??b*a*.doc
Parancsok VI. mkdir, rmdir: könyvtár létrehozása, törlése. cp, mv, rm: file másolása, mozgatása, törlése. cp /usr/ezt . 2> hibák.sok >> összes.txt ln [-s]: hard illetve [szoft] link létrehozása. ln ../alap ./alap.hard ln -s ../alap ./alap.soft echo "semmi" > file => ln -s file szimb_link => ln file hardlink => ls -la => more szimb_link => more hardlink => rm file => ls -la => more szimb_link => more hardlink => echo "valami" > file => more szimb_link => more hardlink ps: a gépen futó folyamatok listája. parancs &: adott parancs háttérben futtatása. sleep 1000 &
Parancsok VII. kill: folyamat megszüntetése. du: a használt lemezterület kiíratása. id: kiírja az aktuálisan használt user ID-t, group ID-t. chsh: a használt shell megváltoztatása.
A UNIX hálózatkezelése Elosztott (hálózati) környezet. A UNIX hálózati operációs rendszer, azaz biztosítja a távoli gépek használatának lehetőségét. Így: programfuttatás távoli hozzáféréssel, pl.: telnet, ssh, file mozgatás, pl.: ftp.
A UNIX hálózatkezelése Munkaállomás SUN Solaris PC Nyomtató TCP/IP kapcsolat ftp telnet Gateway PC UNIX File server LINUX CD olvasó
A UNIX hálózatkezelése A TCP/IP hálózati protokollt használja. Tulajdonságai: a fizikai átviteli közeg fölé épül (pl. egy Ethernet-re épül rá), a csomópontok címzési módját, ill. az adatcsomagok méretét és formátumát rögzítik, a legalacsonyabb szintű az IP (Internet Protocol) amelynek az adatátvitele nem túl megbízható, erre épül rá a TCP (Transport Control Protocol) amely biztosítja a megbízható hálózati átvitelt, de az UDP (User Datagram Protocol) is, amely csak az üzeneteket továbbítja. Csomópont azonosítása: IP cím: négy tagú 1 byte-os érték: pl.: 255.255.255.255 . Hálózati programok az IP család tagjaira (UDP/TCP) épülnek.
A UNIX hálózatkezelése A telnet: az egyik legalapvetőbb alkalmazás-protokoll, amely a terminál gépekről távoli szerverekre történő bejelentkezést és távoli parancsvégrehajtást tesz lehetővé. kétirányú, 8 bit-es, byte orientált (azaz karakter alapú) kommunikációs szolgáltatás, távoli felhasználó a használni kívánt gépen futó telnet szerverhez kapcsolódik, virtuális terminált kap, amelyen parancsokat tud végrehajtani a távoli gépen, TCP kapcsolat, titkosítatlan adatforgalom (a root password is!).
A UNIX hálózatkezelése Az SSH (Secure Shell): a telnet semmilyen titkosítást nem tartalmaz, ezért helyette biztonsági okokból manapság már szinte kizárólag, csak az 1995 körül született SSH-t használják. Biztonságos bejelentkezést tesz lehetővé egy terminálprogram segítségével. A file-ok másolása is megoldott. Titkosított csatornákat is létrehozhatunk. X server képet is átvetíthetünk a hálón. Fejlesztése folyamatos. Windows-ra írt kliense a PuTTY.
A UNIX hálózatkezelése Az FTP (File Transfer Protocol): adat (file) átviteli szolgáltatás, kliens-szerver működés, adatkapcsolati rétegre épül (pl. UDP-re).
Parancsok telnet IP_cím . ssh IP_cím . ftp IP_cím [-l user_azonosító] .
A UNIX shell-je
A UNIX shell-je A felhasználói, parancsértelmező (command interpreter) felület biztosítása. Nem szerves része az operációs rendszernek, azaz több különböző héj is lehetséges egy operációs rendszer alatt (cserélhetőek). Különböző funkcionalitású shell-ek léteznek, pl.: sh, ksh, csh, (Bourne shell, Korn shell, C shell).
A UNIX shell-je Rövid parancsok, pl.: ls, mv, cp. Hatékony működés: kis erőfeszítéssel (kevés billentyű lenyomásával) viszonylag nagy eredményt lehet elérni. Rövid tömör üzenetek (vagy semmi! ). On-line felhasználói kézikönyv, a man parancs. Lehetőség a felhasználói felület programozására, a script-ek írásán keresztül, a batch-ek futtathatóságáig.
A UNIX shell-je A programok/parancsok szabványos csatornákon érintkeznek a külvilággal: bemenetük (stdin), kimenetük (stdout), hiba kimenetük (stderr). Ezen csatornák átirányíthatóak egy file-ba, vagy hozzáfűzhetőek ahhoz. A parancsok/programok összefűzhetők egy ún. PIPE (csővezeték) használatával, egy ideiglenes FIFO tárolón keresztül.
A UNIX shell-je Speciális karakterekkel állományneveket lehet helyettesíteni (pl.: *, ?). Ezt a shell teszi meg! Parancshelyettesítési lehetőség (p1 `p2`). Feltétel nélküli parancssorozat végrehajtás (p1; p2). Feltételes parancssorozat végrehajtás (p1 || p2 illetve p1 && p2). A háttérben futtathatáskor a program nem használja a be/kimeneteit (pl.: p5 &). Párhuzamos programvégrehajtás (több shell-t indítunk egy gépen és minden program használja a saját be/kimenetét).
A UNIX shell-je A programok/parancsok paraméterezhetősége. Változók: környezeti (env), ezt minden program eléri, shell (set), csak a shell éri el, shell script, az adott kötegelt állomány használja. Megadásuk shell függő! Például ksh-ben: shell változó esetén: változó_név=tartalom , környezeti esetén: export változó_név , hivatkozás: $változó_név alkalmazásával.
A UNIX shell parancsai A belső parancsokat maga a shell hajtja végre. A külsők, önálló programként (batch, bináris) vannak megvalósítva. Keresési út (pl.: /bin, /usr/bin). A kis és nagybetűk megkülönböztetése! A parancsok kisbetűsek.
A UNIX shell parancsai Általános parancsfelépítés: parancs [- kapcsolók] [paraméterek] [> ide] [< innen] [2> hiba] . A kapcsolókat illetve a paramétereket a parancs megkapja, ő értelmezi. [> ide] átirányítja a parancs kimenetét az ide nevű file-ba, [< innen] megadásakor a parancs a bemenetét az innen nevű file-ból veszi, [2> hiba] hatására a parancs hibaüzenetei a hiba nevű file-ba kerülnek.
A UNIX file-kezelése Az adattárolási egység a file. Ezeket byte-ok sorozataként kezeli az OPR. Soros, szekvenciális elérésűek. A file-rendszer elosztott, azaz a távoli csomópontokban elhelyezkedő file-ok elérése, a helyi file-okkal azonos interface-n keresztül, az OPR-rel együttműködve történik. Ún. link-ek (soft illetve hard) létrehozásának a lehetősége, amellyel több névvel és módon hivatkozhatunk egy file-ra.
A UNIX file-kezelése Egyetlen gyökérkönyvtár ("/"). Abszolút illetve relatív elérési útvonal: [meghajtó][/útvonal/]file-azonosító. Aktuális könyvtár fogalma. Könyvtár jel a ”/” karakter! A rejtett file-ok azonosító kezdete (”.”). Az ún. mount-olással, a távoli gép file-rendszerét a helyi gép ”alkönyvtáraként” látjuk. Ezt a file-rendszert vette át többé-kevésbé a DOS is.
A file-rendszerben használt adatszerkezetek A file típusa lehet: speciális (blokk ill. karakter orientált), adatállomány, könyvtár (katalógus) bejegyzés, PIPE/FIFO.
A file-rendszerben használt adatszerkezetek Minden file-t egy ún. i-node szám azonosítja egyértelműen. Ez az azonosító tárolja a file: tulajdonos azonosítóját (UID, GID), típusát, hozzáférési jogosultságait, időcímkéit (hozzáférés, módosítás), link-jeinek a számát (link-számláló=0 esete), címtábláját, méretét.
File elérési jogosultságok r: olvasható, w: írható, x: végrehajtható, s: végrehajtható a file tulajdonosának jogosultságaival.
Könyvtár elérési jogosultságok r: olvasható, kilistázható, w: törölhető/létrehozható új file, x: kereshetünk a könyvtárban, végrehajthatjuk és írhatjuk a könyvtárban levő file-okat a file-ok jogosultságai szerint.
A UNIX könyvtár szerkezete Fa struktúra. Az ”.” és ”..” karakterek értelmezése. A könyvtár(leíró) is file, amely tartalmazza: a file-ok listáját, az ”alkönyvtárak” listáját, a file adatmező adatait, a szülőkönyvtárra mutató hivatkozást.
A UNIX file-rendszer felhasználói felülete Lehetőségek: standard input/output átirányítás, mount: két file-rendszer összekapcsolása, link-ek létrehozása; hard link, soft link, pipe (csatorna).
A hard link Egy file különböző nevekkel történő elérése: ln /home/users/usr1/file /home/users/usr2/hardlink . Hátrány: a felhasználó elvesztheti a felügyeletet a file-jai felett! /home/users/usr1 /home/users/usr2 43 . 67 88 .. 92 file 59 adat.dat 91 titok.mese hardlink
A soft (szimbólikus) link A hard link hibáinak kiküszöbölése. Egy speciális állomány, amely az ún. célállományra mutat: ln -s /home/users/usr1/file /home/users/usr2/szimb_link . /home/users/usr1 /home/users/usr2 43 . 67 88 .. 92 file 59 adat.dat 91 titok.mese (X) szimb_link: /home/users/usr1/file
Állománynév helyettesítés A parancsfeldolgozás során a shell a paraméterként megadott (file-névként értelmezett) speciális karaktereket behelyettesíti: * : 0 vagy tetszőleges hosszúságú karakterlánc, ? : pontosan egy karakter, [abc] : az a, b, c karakterek közül egy, [i-n] : az i-től az n-ig terjedő karakter tartományból egy, a fentiek kombinációi, pl.: [a-z]* : kisbetűvel kezdődő file azonosító.
Pipe, csővezeték A parancsok egymás után fűzése, adatcserével. Az előtte álló parancs kimenetét kapja bemenetnek. Átmeneti állományok létrehozásával valósul meg a file-rendszeren belül, amely egy FIFO tároló. Mérete 10 Kbyte. A tárolóba az egyik program ír, a másik pedig olvassa. Automatikus szinkronizáció valósul meg. Fontos különbség a DOS-hoz képest, hogy itt az összefűzött parancsok párhuzamosan hajtódnak végre. Pl.: ls -la | more
Az NT file-rendszer (NTFS) Megbízható, az adatállományokon végzett sikertelen műveletek utáni visszaállíthatóság. Biztonság, illetéktelen elérések ellen minden állomány-eléréskor jogosultság ellenőrzés. Hibatűrés, redundáns (duplikált) tárolás, a lemez távoli régióiban. Nagy lemezek és file-ok kezelése, 248 db file (~281*1012 ,billió), egy file 264 byte lehet (16 EB, exa=1018). Műveletenkénti feldolgozás, a lemezművelet vagy teljesen végrehajtódik, vagy változatlan marad a file.
Az NT file-rendszer (NTFS) A lemezen lévő adatok alapján, visszaállítható az egy-egy művelet előtti állapot. Hibatűrő lemezmeghajtó, sávok XOR összegét képzi, egy másik lemezen. Lemez kettőzés, tükrözés. A Master File Table, a file-rendszerben tárolt file-ok leírását tartalmazza. Minden infó a file-ról, egy ún. attribútum (pl.: a neve, hossza, sőt a tartalma is). A file-ok ún. file record-okban tárolódnak, amelyekben a file-attribútum azonosítói és a hozzájuk tartozó adatmezők vannak felsorolva. Tehát az MFT file record-ok sorozata.
Az NT file-rendszer (NTFS) File = strukturált objektum. Fa szerkezetű könyvtár struktúra. File naplózási record-ok a tranzakciók alatt, feszültség-kimaradás esetére. Visszagörgetés vagy újra végrehajtás. Többszörös adatfolyamok kezelése. File tömörítés.
A következő csapás . . . . . . Windows 2000 (leánykori neve: W NT 5.0)