A gyakorlat anyaga két részből áll:
1.1 A particionálás fogalma: a merevlemez tárolóterületének felosztása több, önálló fájlrendszer tárolására alkalmas részre, melyek önállóan formázandók és saját meghajtóazonosító betűvel (pl. C:, D:, E:, stb) érhetők el. Nincs meghajtóazonosítója és nem kell formázni a boot-manager partíciót (lásd később).
1.2.A particionálás szükségessége, indoka:
1.3. A particionálás eszköze: az FDISK segédprogram, mely az operációs rendszerek része. Egyes operációs rendszerek telepítési folyamatának része a beépített lemezparticionálás (pl. WinXP). Létezik már particionált lemezt a tartalom sérülése nélkül az üres területen tovább particionálni képes program is (pl. Partition Magic, ill. a LINUX segédprogramja). A particionálás általában a merevlemez teljes tartalmának elvesztésével jár, ezért előtte a mentés kötelező. Az aktív partíció beállítására is használható az FDISK.
1.4. Partíciófajták: primary (elsődleges) és extended (kiterjesztett) partíciók. A primary partíciók tipikusan operációs rendszerek számára célszerűek. A primary partíciók az egyetlen C: meghajtójelzésen osztozkodnak, azaz mindegyik C: jelű lesz, amiből az is következik, hogy egyidejűleg csak egy lehet aktív, elérhető, használható közülük, egymással nem tudnak kommunikálni, állományokat cserélni. Primary partíciót igényel az IBM Boot Manager-e is, amely lehetővé teszi a különböző partíciókon levő operációs rendszerek közötti választást (az aktív partíció rejtett kijelölése) a rendszer betöltődése (boot) elején egy menüvel. A primary partíciókat, amennyiben operációs rendszert telepítünk rá, általában a merevlemez első 1024 cilinderén belül kell elhelyezni. Az extended partició általában a primary partíciókat követően a merevlemez végén kerül kialakításra. Az extended partíción egy, vagy több logikai meghajtót alakíthatunk ki a partícionálás során, amelyeket később önállóan formázhatunk, tetszőleges fájlrendszerre. Mindegyik logikai meghajtónak saját meghajtóazonosítója van, pl. D:, E:, F:, stb. Ezeken a meghajtókon lévő állományokat egyidejűleg elérhetjük, egyikről a másikra, vagy a C: meghajtóra/ról másolhatjuk (feltéve, hogy azonos fájlrendszerűek). Több operációs rendszer kivételként telepíthető logikai meghajtóra is. Egy merevlemezt max. négy partícióra oszthatunk, amely lehet max. 4 primary és 0 extended, vagy max. 3 primary és 1 extended partíció egyetlen merevlemez esetén. Két merevlemez esetén a számok megduplázódnak.
Példa egy merevlemez particionálására:
----------------------------------| | primary (WINXP) C: | primary partició | --------------------------------| | primary (WinME) C: | primary partició | --------------------------------| | logikai meghajtó D: | \ |---------------------------------| \ | logikai meghajtó E: | \ extended partició |---------------------------------| / | logikai meghajtó F: | / ----------------------------------| /
1.5. Boot Manager-es indítás: több operációs rendszert tartalmazó merevlemezről történő rendszertöltés esetén alkalmazhatjuk pl. az IBM OS/2 operációs rendszerhez mellékelt FDISK programmal létrehozható Boot Managert. Ebben az esetben a merevlemez legelején egy 1Mbyte-os Boot Manager partíciót kell létrehoznunk, majd a további primary partíciókba telepíthetjük a kívánt operációs rendszereket. Ilyen esetben a kívánt operációs rendszert egy, a rendszertöltés legelején betöltődő menüről választhatjuk. (A Windows operációs rendszerek a második oprendszer felinstallálásakor automatikusan létrehozzák a boot menüt.)
1.6. Meghajtóazonosítók automatikus kiosztása a rendszer indításakor (Mapping): ez a funkciója az aktuálisan töltött operációs rendszernek arra szolgál, hogy az operációs rendszer által kezelt fájlrendszerrel (fájlrendszerekkel) formázott logikai meghajtókhoz (és csak azokhoz) meghajtóazonosítókat rendeljen. Például egy WinXP-s NTFS rendszerre formázott logikai meghajtóhoz nem fog meghajtóazonosítót rendelni egy WINDOWS98 operációs rendszer, az azon lévő állományok láthatatlanok lesznek a WINDOWS98-ból.
|-----------------------------------| | primary (WIN98) C: | primary partició, aktív | --------------------------------- | | primary (WinXP) | primary partició, most nem elérhető | --------------------------------- | | FAT16 D: | elérhető logikai meghajtó |---------------------------------- | | NTFS | most nem elérhető logikai meghajtó |---------------------------------- | | FAT32 E: | elérhető logikai meghajtó |---------------------------------- |
A meghajtóazonosítók operációsrendszer töltésekori automatikus kiosztása, hozzárendelése azzal a veszéllyel járhat, hogy pl. egy második merevlemez gépbeszerelése után az első merevlemez logikai meghajtóinak azonosítói megváltoznak és a rajtuk levő programokban található, meghajtóazonosítót is tartalmazó útvonalmegadások, állományhivatkozások hibássá válnak és a programok nem működnek. A korszerű operációs rendszerek, mint pl. a WinXP, lehetővé teszik a meghajtók betűjelének megváltoztatását, így ez a gond elkerülhető.
Az alábbi példán bemutatjuk a mikroprocesszor működését. Forrás: Intel homepage. (http://www.intel.com/education/mpuworks/glossary.htm) (Úgy látom, 2003-ra a link megszűnt…, DL)
Az erősen egyszerűsített mintapélda processzorának felépítése az alábbi ábrán látható:
|---------------------------------------- |-------------------------------------------- |----------------| | Aritmetikai-logikai | Vezérlőegység | Előrendező | | egység | | egység | |---------------------------------------- |-------------------------------------------- | | | Regiszterek | Dekódoló egység | | | | | | |---------------------------------------- |-------------------------------------------- |----------------| | Adat cache | Busz egység | Utasítás | | X,Y,Z,W,... | | cache | |---------------------------------------- |-------------------------------------------- |----------------| /\ Output / \ \ / Input \ /
Az egyes részek:
Busz egység: az a hely, ahol az utasítások áramlanak a memória és a mikroprocesszor között.
Utasítás cache: gyorsítótár, amelyben a soronlevő utasítások egy része tárolódik azért, hogy a mikroprocesszornak ne kelljen minden utasításért a számítógép központi memóriájához fordulnia. Ez a gyors utasításelérés a feldolgozást gyorsítja, mivel az utasítások már oda vannak készítve az Előrendező egységhez, amely azokat a feldolgozáshoz megfelelő sorrendbe rendezi.
Előrendező egység: az aktuális utasításokra, vagy végrehajtandó feladatokra alapozva ez az egység dönti el, hogy mikor vegye az utasításokat az Utasítás cache-ből, és mikor a számítógép központi memóriájából. Amikor az utasítások betöltődnek, az előrendező egység számára a legfontosabb feladat hogy meggyőződjön arról, hogy az utasítások megfelelően vannak sorba állítva a Dekódoló egységbe való küldéshez.
Dekódoló egység: egyszerűen dekódolja, vagy lefordítja a komplex gépi kódú utasításokat olyan egyszerű alakra, amelyet az Aritmetikai-logikai egység (ALU) és a Regiszterek közvetlenül tudnak kezelni. Ez a feldolgozást még hatékonyabbá teszi.
Vezérlőegység: ez az egyik legfontosabb része a mikroprocesszornak, mivel a teljes folyamatért ez felel. A Dekódoló egység utasításaiból kiindulva vezérlőjeleket hoz létre, amelyek megmondják az Aritmetikai-logikai egységnek és a Regisztereknek, hogyan működjenek, mivel végezzék el a feladatot és az eredménnyel mit kezdjenek. A Vezérlőegység biztosítja, hogy minden a megfelelő helyen és időben történjen.
Aritmetikai-logikai egység (ALU): a csipben zajló feldolgozás utolsó állomása. Az ALU a csip okos része, amely végrehajtja az olyan parancsokat, mint az összeadás, kivonás, szorzás, osztás. Kezeli a logikai utasításokat is, mint pl. az OR, AND és NOT. A Vezérlőegység mondja meg az ALU-nak, mit csináljon, azután elviszi az adatokat az ALU közeli tartozékából, a Regiszterekből, hogy befejezze a feladatot.
Regiszterek: olyan kis tárolóterületek adatok számára, amelyeket az ALU használ a Vezérlőegységtől kapott feladatainak végrehajtása közben. Az adatok jöhetnek az Adat cache-ből, a központi memóriából, vagy a Vezérlőegységből és a Regiszterek speciális részeiben tárolódhatnak. Ez az ALU számára az adatok elérését gyorssá és hatékonnyá teszi.
Adat cache: Az Adat cache szorosan együtt dolgozik a feldolgozó társegységekkel, az ALU-val és a Regiszterekkel, valamint a Dekódoló egységgel. Ez az a hely, ahol a Dekódoló egységből speciálisan címkézett adat tárolódik az ALU általi későbbi felhasználás céljára és ahol a végső eredmények előkészülnek a számítógép különböző részeibe való szétosztásra.
Központi memória: Ez egy nagy adattároló a számítógépen belül, de a processzoron kívül. A Központi memória küldhet adatokat vagy utasításokat az Előrendező egységbe, amely gyakran az Utasítás cache-ben tárolja ezeket későbbi felhasználásra.
a., A 2-es billentyű megnyomása riasztja a mikroprocesszort (ebben a túlzottan egyszerűsített mintapéldában) és jelez az Előrendező egységnek, hogy kérjen be a számítógép központi memóriájából egy, az új adatra, a 2-re vonatkozó utasítást, mivel nincs semmilyen utasítás az Utasítás cache-ben erre vonatkozóan.
b., A számítógép központi memóriájából a Busz egységen keresztül bejön az új utasítás a mikroprocesszorba és tárolásra kerül az Utasítás cache-ben, ahol az X:=2 ( az X Adat cache rekesz vegyen fel majd 2-es értéket) utasításként kerül tárolásra.
c., Az Előrendező egység ezután kér egy másolatot az Utasítás cache-ben tárolt X:=2 utasításról és elküldi azt a Dekódoló egységnek további feldolgozásra.
d., A Dekódoló egységben az X:=2 utasítás lefordítódik, vagy dekódolódik bináris kódra amely továbbítódik a Vezérlő egységhez és az Adat cache-hez, hogy megmondja nekik, mit csináljanak ezen utasítás végrehajtása érdekében.
e., Mivel a Dekódoló egység megadta, hogy a 2 értéket további felhasználásra az Adat cache-ben kell tárolni, a Vezérlőegység most végrehajtja az X:=2 utasítást. Ez azt eredményezi, hogy a 2 érték az Adat cache X nevű rekeszébe íródik, ahol további felhasználásra vár.
a., Amikor megnyomjuk a 3-as billentyűt, az Előrendező egység kéri az erre az új értékre vonatkozó utasítást a számítógép központi memóriájából és az Utasítás cache-ből. Mivel ilyen utasítást az Utasítás cache-ben nem talál, ezért az utasítást a központi memóriából várja.
b., Hasonlóan az X:=2 utasításhoz, az új utasítás betöltődik a számítógép központi memóriájából és eltárolódik az Utasítás cache következő rekeszében, ahol az Y:=3 utasításként jelenik meg.
c., Az Előrendező egység ezután átvesz egy másolatot az Utasítás cache-beli Y:=3 utasításról és átküldi a Dekódoló egységnek további feldolgozásra.
d., A Dekódoló egységben az Y:=3 utasítás lefordítódik, vagy dekódolódik bináris kódra amely továbbítódik a Vezérlő egységhez és az Adat cache-hez, hogy megmondja nekik, mit csináljanak ezen utasítás végrehajtása érdekében.
e., Mivel a Dekódoló egység megadta, hogy a 3 értéket további felhasználásra az Adat cache-ben kell tárolni, a Vezérlőegység most végrehajtja az Y:=3 utasítást. Ez azt eredményezi, hogy a 3 érték az Adat cache Y nevű rekeszébe íródik, és a 2 értékkel együtt további utasításra vár.
a., Amikor megnyomjuk a + billentyűt, az Előrendező egység a számítógép központi memóriájából és az Utasítás cache-ből erre az új adatra (a + jelre) vonatkozó utasítást kér, mely csak a központi memóriából jöhet most.
b., Amiatt, hogy ez (az összeadás) egy új utasítás, a + betöltődik a központi memóriából a mikroprocesszorba és az Utasítás cache következő szabad rekeszében tárolódik Z:=X+Y (Z legyen egyenlő X+Y) utasításként, jelezve, hogy az összeadás művelete fog majd lezajlani.
c., Az Előrendező egység ezután kér egy másolatot az Utasítás cache-beli Z:=X+Y utasításról és átküldi azt a Dekódoló egységbe további feldolgozásra.
d., A Dekódoló egységben a Z:=X+Y lefordítódik, vagy dekódolódik és átkerül a Vezérlő- egységbe és az Adat cache-be hogy megmondja nekik, mit csináljanak ezen utasítás végrehajtása érdekében. Az ALU szintén kap egy üzenetet, hogy hajtson majd végre egy ADD (összeadás) műveletet.
e., A Vezérlőegység megfejti a kódot és utasítja az ALU-t az ADD művelet végrehajtására, amelyet az el is végez, az Adat cache-ből felküldött X és Y értékekkel. Az ALU azután letárolja az eredményként kapott 5-ös értéket a vele szoros kapcsolatban álló Regiszterek egyik rekeszében.
a., Amikor megnyomjuk az = gombot, az Előrendező egység ismét átkutatja az Utasítás cache-t az új adatra, az = jelre vonatkozó új utasítás után, de ott nem találja.
b., Az = jelre vonatkozó utasítás a központi memóriából jön a mikroprocesszorba a Busz egységen át és az Utasítás cache-ben kerül eltárolásra, mint 'Print Z' .
c., Ezután az Előrendező egység egy másolatot kér az Utasítás cache-ből a 'Print Z' utasításról és átküldi azt a Dekódoló egységbe további feldolgozásra.
d., A Dekódoló egységben a 'Print Z' bináris alakra fordítódik vagy dekódolódik amelyet a Vezérlőegység kap meg, hogy tudja, mi a teendője.
e., Most, miután a Z értéke már korábban kiszámítódott és a Regiszterben várakozik, a Print parancsnak csak ki kell olvasnia és kiírnia a képernyőre hogy végülis megláthassuk a 2+3= eredményét. A mikroprocesszor megoldotta a feladatot számunkra.