A számítástechnikában egy fájlrendszer alatt a számítógépes fájlok (logikailag összefüggő adatok halmaza) tárolásának és rendszerezésének a módszerét érti, ideértve a tárolt adatokhoz való hozzáférést és az adatok egyszerű megtalálását is.
Tárolásuk adattároló eszközökön (HDD,SSD etc..) történik. Ezek az eszközök nagy mennyiségű adat tárolására képesek és megőrzik azt a számítógép kikapcsolása után is.
Fájlok jellemzői:
Fájlnév (legalább 1 karakter hosszú, maximum 255)
Kiterjesztés: fájl jellegére utal
Szöveg (txt,doc)
Forráskód (java,c)
Futtatható (exe,bin)
Markup (html)
Library (lib)
Archive (zip)
Multimedia (mov)
Print (jpg)
Commands (bat,sh)
Méret: a fájl mérete bájtokban.
Dátum: létrehozás, módosítás, utolsó hozzáférés dátuma.
Idő: fájl létrehozásának ideje, utolsó módosítás ideje.
Fájlrendszerek:
A legismertebb fájlrendszerek az adattároló eszközök segítségével biztosítják, hogy elérhető legyen egy fix méretű blokkokból álló sorozata.
A fájlrendszer szoftvere biztosítja, hogy ezeket a szektorokat fájlokká szervezze össze és tarta nyilván, melyik szektor melyik fájlhoz tartozik, és melyik szektorok nem használhatók már tárolásra.
A fájlrendszer UNIX esetén egy gyökérkönyvtár (root - / ) és minden létező fájl valahol ebben a gyökértől induló struktúrában helyezkedik el.
Sőt, ennek a gyökérnek nem is kell tényleges fizikai hely. Nem kell az első merevlemezen lennie, még csak a gépben sem kell lennie, a Unix képes egy megosztott hálózati erőforrást gyökérkönyvtárként kezelni.
UNIX fájlrendszere például az ext4, mely 2008-ban került kifejlesztésre.
Elődei ext2,ext3.
Windows esetén a használt fájlrendszer az NTFS.
A legtöbb operáció rendszerrel ellentétben a Windows a meghajtó betűjel fogalmat felhasználó szinten használja. Két lemez vagy partició megkülönbözőtetésére.
A programok túlnyomó többsége a billentyűzetről vár adatokat (input), majd a képernyőre küldi az eredményeket (output.)
Ezt a két perifériát standard ki és bemenetnek nevezzük, hivatkozás rájuk egész számmal történik. (stdin,0), (stdout,1)
Viszont van még a standard hibacsatorna. (stderr,2)
Erre való az átirányítás, hogy a kiírandó eredményt ne a billentyűzetről várja, és ne a képernyőre írja ki.
Linux alatt gyakorlatilag minden standard outputra író program kimenete átirányítható egy tetszőleges állományba, s hasonlóképp bármelyik program, amelyik a standard inputról olvas, tetszőleges állományból veheti inputját.
A bemeneti átirányítás jele “<,, a kimenetié pedig “>,,.
Kimenet átirányításakor, ha az állomány, amibe az átirányítást eszközöltük nem üres, akkor az újonnan beleíródó adatok felülírják a tartalmát.
Ennek elkerülésére szolgál a “>>,, karakterrel jelzett additív átirányítás, ekkor az átirányított adatok a meglévőkhöz fűződnek.
A Linux/UNIX multiprogramozott operációs rendszer, így párhuzamosan több program (folyamat) fut.
Minden futó program egy processzt határoz meg, minden processznek van egy azonosító száma, amivel lehet rá hivatkozni.
INIT: a linux legfőbb szolgáltatása, ez indul elsőként, meghatározza, hogy milyen alkalmazások fognak lefutni, és milyen démonok fognak elindulni.
Démon: olyan program, ami valamilyen szolgáltatásért felelős, amely túlnyomórészt figyeli a kéréseket. (pl: apache, sendmail, smbd…)
A démonoknak átadott végrehajtási kérelmek neve a job, ezekből jön létre a queue, a sor.
A sorba rendezett feladatokat a rendszer egyenként hajtja végre.
Processek állapotai:
user running (felhasználói módban fut)
kernel running (kernel módban fut)
ready to run
sleep (valamilyen eseményre várakozik)
stopped (a folyamat megállítható, majd újraindítható)
swapping (a rendszer egy memórialapot lemezre ír/betölt)
zombie (exit után a folyamat elteszi a visszatérési értéket)
Processzek kezelése:
folyamat azonosító: PID (process ID)
egy folyamatot mindig egy másik folyamat hoz létre (kivéve az init-et) -> szülő folyamat (Parent - Process) és gyerek folyamat (Child Process), árva folyamat (orphans)
A Linux rendszer a folyamatok vezérlését a folyamatoknak küldött ún. Szignálok segítségével végzi: a Ctrl+Z billentyű például egy STOP szignált küld az előtérbenfutó processznek. Igen sok (kb. 60 db) szignál létezik, ezek közül csak néhányat említek. Processzt megszüntetni szintén szignál(ok) segítségével lehet: az előtérben futó program a Ctrl+C megnyomására egy INT szignált kap, amely rendszerint a program elhalálozását vonja maga után. Háttérben futó folyamatainkat a kill paranccsal állíthatjuk le.
Kill:
A kill a nevével ellentétben nem csak folyamatok megölésére használható, hanem tetszőlegese signalt küldhetünk vele bármely folyamatnak melynek tudjuk a tudjuk a PID számát és rendelkezünk a folyamat kezeléséhez megfelelő jogokkal. Alapértelmezés szerint (signal paraméter nélkül használva) a kill egy TERM (terminate) szignált küld a megadott folyamatnak.