Andrey Annenkov
Akademik i Akademisë Ruse të Shkencave, Drejtor i Institutit për Programimin e Sistemit të Akademisë së Shkencave Ruse, Shef i Departamentit të Programimit të Sistemit të Universitetit Shtetëror të Moskës VMiK, Kryetari i Shoqatës Ruse të Software-it të Lirë (RASPO) Viktor IVANNIKOV tha për këtë. korrespondent për nivelin e shkencës themelore ruse, problemet e trajnimit të personelit për industrinë e IT dhe shprehu pikëpamjet e tij për të ardhmen e sistemeve të dhomave operative.
- Sipas mendimit të laik, programimi i sistemit është sisteme operative, përpilues ...
Më shumë sisteme të menaxhimit të bazës së të dhënave (DBMS) dhe mjedise zhvillimi. Nuk do të them se "programimi i sistemit" është një term i vendosur. Në vitet '60, ne thërrisnim atë që bënim, por bënim atë që ju renditët. Kur Andrei Nikolaevich Tikhonov krijoi Fakultetin e Matematikës Kompjuterike dhe Kibernetikës (VMC) në Universitetin Shtetëror të Moskës, ai krijoi tre departamente programimi. Njëri prej tyre quhej Departamenti i Programimit të Sistemit, i drejtuar nga Mikhail Romanovich Shura-Bura. Në fillim të viteve '90, ai më kërkoi ta zëvendësoja në këtë post. Çfarë bën departamenti? Pikërisht ajo që keni renditur.
A është një ide tjetër e saktë: programimi i sistemit në vendin tonë u bë një biznes i pashpresë pasi u mor vendimi për të krijuar një kompjuter ES, d.m.th. rreth kopjimit të IBM / 360?
Ke pjeserisht te drejte. Kjo vlen jo vetëm për kompjuterët ES, por edhe për kompjuterët SM që kopjonin makinat DEC. Kjo ka kufizuar rëndë inxhinierët tanë dhe ka shtrydhur fushëveprimin e programuesve të sistemeve. Edhe pse duhet të them se shkollat tona për kompilatorë dhe sisteme operative ishin shumë të forta. Teknologjitë e programimit ishin gjithashtu shumë të zhvilluara, veçanërisht për aplikimet e mbrojtjes. Ato ishin programe shumë të mëdha dhe duhej të ishe në gjendje t'i kryeje. Për sa i përket sistemeve të menaxhimit të bazës së të dhënave, ato nuk janë shumë të mëdha.
- Pse Rusia nuk ka sistemin e saj operativ?
Ka pasur projekte kërkimore, natyrisht. Por nuk ka kërkesë të brendshme. Linux ka fituar popullaritet vitet e fundit dhe ne kemi ekipe që kontribuojnë në këtë projekt. Infrastruktura e zhvillimit ekziston, ju mund të punoni në të. Sepse ju duhet të vazhdoni nga realiteti: tregu rus i sistemeve operative (OS) është i vogël dhe nuk ka asnjë arsye për të zhvilluar sistemin tuaj operativ.
Linux është drejtimi kryesor i zhvillimit të sistemeve operative dhe ne duhet të zëmë një vend atje, a ju kuptoj mirë?
Po. Një sistem operativ është një program i vogël. Epo shtatë milionë rreshta. Por ka softuer të aplikuar në të. Një OS i ri do të thotë që aplikacionet duhet të rishkruhen. Çfarë kuptimi ka kjo? Linux mund të përdoret industrialisht, është mjaft e mundur të punosh në të. Për projektet kërkimore, ju mund të krijoni sistemet tuaja operative - për shembull, për të mësuar studentët në një sistem operativ të vogël.
Sistemet operative janë në majë të ndryshimit tani. Ka shumë përpjekje për të bërë diçka novatore këtu. Nuk e ndani këtë përshtypje? A kemi mundësi të bëjmë diçka vetë në fushën e sistemeve operative të ardhshme?
Po, punime të tilla janë duke u zhvilluar në botë. Ato janë të lidhura, ndër të tjera, me faktin se ju duhet të krijoni një mikrokernel të sistemit operativ, i cili nuk do të përbëhet nga shtatë milionë rreshta, por, të themi, disa dhjetëra mijëra, por në mënyrë që ky kod të mos përmbajë vërtet gabime. Kjo është një detyrë e çmendur. Por për programet e vogla mund të zgjidhet.
Ndodh gjithashtu që një person thjesht dëshiron të bëjë një sistem operativ. Për arsye estetike. Pse jo? Pse një person nuk del me diçka të re? Unë e kam hasur këtë disa herë. Dy djem, nga qytete të ndryshme, por jo nga Moska, bënë sistemet e tyre operative. Kjo është jashtëzakonisht interesante. Ata, natyrisht, morën një lloj aftësie, morën një lloj kënaqësie të brendshme. Njëri prej tyre është nga Omsk, tani student.
- Cili është roli i institutit tuaj në industri?
Nuk mund të them se jam i kënaqur me këtë rol, por niveli është i mirë. Shumë grante të përbashkëta me institucione shkencore në Evropë dhe SHBA. Djemtë tanë flasin në konferencat më prestigjioze ndërkombëtare. Nuk kam asnjë ndjenjë inferioriteti - loja është në baza të barabarta, dhe diku fitojmë. Ne demonstrojmë një nivel të mirë ndërkombëtar.
Shumë kontrata me prodhuesit kryesorë të IT-së: Intel, Microsoft, IBM, Samsung. Të gjitha projektet kanë të bëjnë me zhvillimin e teknologjive të reja.
- Dhe çfarë po ndodh me stafin në industri?
Një situatë e vështirë. Shume e rende. Tregu kërkon shumë më shumë njerëz - thjesht nuk ka mjaft prej tyre. Dhe në të gjithë botën, dhe me ne.
Kjo është një fushë specifike e veprimtarisë, konkurset e programimit të studentëve. Është si një sport profesional. Duket si basketboll studentor në Shtetet e Bashkuara - luhet nga profesionistë, jo studentë amatorë. Çdo konkurs programimi është një grup mjaft i kufizuar problemesh në një fushë specifike: programim dinamik, punë me numra shumë të mëdhenj, etj. Për të kuptuar shpejt kuptimin e problemit dhe për ta zgjidhur shpejt atë. Ne kemi nevojë për shumë orë stërvitje ditore, gjë që kanë fituesit.
Për vendin, natyrisht, ky është një prestigj i madh. Por fitoret në garat studentore nuk ndikojnë aspak në veprimtarinë e programimit profesional. Konkurse - veçmas, niveli profesional i programuesve - veçmas.
Ne kemi pasur gjithmonë mjaft njerëz të talentuar dhe programimi është një fushë shumë e përshtatshme për t'u shprehur. Sepse Zoti nuk e di se çfarë nevojitet për këtë. Si në poezi, ashtu edhe në matematikë. Nuk ka nevojë të presësh, për shembull, testet e fluturimit, siç duhet të bëjë një inxhinier aeronautik. Sidomos tani që ka internet. Brezi im po përjetonte një uri të vërtetë për informacion - ishte e vështirë të merrje artikuj shkencorë, të komunikonte me kolegët. Nuk ka problem me informacionin sot. Vetë stili i punës ka ndryshuar. Ne bëmë gjithçka nga e para. Dhe tani ka softuer me burim të hapur, dhe ju mund të merrni pjesë në zhvillimin e tij. Shumë mundësi për vetë-shprehje.
- Pra, pse nuk ka mjaft njerëz? Në fund të fundit, fusha më tërheqëse e aktivitetit ... Cila është arsyeja?
Ndoshta ka disa arsye. Kjo, natyrisht, është një mungesë e tmerrshme e personelit të kualifikuar mësimor. Personi që u jep mësim studentëve duhet të ketë përvojën e tij profesionale në fushën që ata japin. Një mësues që interpreton vetëm tekste dhe më pas jep mësim, nuk mund të krijojë një shkollë.
Traditat e arsimit tonë - sovjetik, rus - konsistojnë në faktin se mësuesi transferon përvojën personale, madje edhe jetësore. Kjo ishte forca e stilit tonë të mësimdhënies. Nuk po flas as për modelin Phystech (Instituti i Fizikës dhe Teknologjisë në Moskë. - Ed.), kur ata u përpoqën të përfshinin studentët në procesin e kërkimit nga kurset e vogla.
Ne kemi rreth njëqind studentë të Phystech dhe Universitetit Shtetëror të Moskës, 40 pasuniversitare që punojnë në institutin tonë. Por cili prej tyre mbetet në profesion? Rreth 20% (dhe ky është një tregues i mirë). Arsyeja është se djemtë fillojnë të punojnë herët. Ata sapo kanë mësuar të shkruajnë programe dhe janë marrë në punë me kohë të plotë. Nga viti i tretë. Por ata ende duhet të mësojnë dhe të mësojnë!
Dikush, natyrisht, është i detyruar ta bëjë këtë. Në kohën tonë, mjetet e të ardhurave të studentëve ishin kujdestaria, ekipet e ndërtimit dhe shkarkimi i karrocave. Tani ka më shumë mundësi. Është problematike. Një student sheh se si shoku i tij fiton një mijë dollarë, le të themi, dhe mendon: sa më keq të jem, do të shkoj edhe në punë. Edhe pse nuk keni nevojë ta bëni këtë, duhet të mësoni! Paratë do të vijnë vetë me kalimin e kohës dhe do të ketë më shumë nëse tani kaloni kohë duke studiuar.
A mund të rendisni emrat e personave që kanë pasur ndikimin më të madh në formimin e fushës së dijes në të cilën ju punoni në vendin tonë?
Në kohën time kishte pak programues, të gjithë e njihnin njëri-tjetrin. Unë kam përmendur tashmë Mikhail Romanovich Shura-Buru dhe Andrei Nikolaevich Tikhonov. Gjithashtu Andrei Petrovich Ershov, Svyatoslav Sergeevich Lavrov, Nikolai Nikolaevich Govorun, Lev Nikolaevich Korolev.
Unë kam renditur njerëzit që kanë marrë poste akademike (Shura-Bura, meqë ra fjala, nuk u bë akademik). Por kishte shumë njerëz interesantë, tepër të talentuar. Eduard Zinovievich Lyubimsky. Igor Borisovich Zadykhailo. Ata ishin programues të shkëlqyer.
Do të doja të marr një libër me fjalët "Akademia e Shkencave Ruse" në kopertinë, i cili është shtrirë në tryezën tuaj.
Je i mirepritur. Ky është një udhëzues.
A nuk ka plot shtatëqind e gjysmë anëtarë të Akademisë së Shkencave Ruse për vendin tonë dhe si e vlerësoni nivelin aktual të shkencës sonë themelore?
Gjatë viteve '90 kemi humbur kompleksin ushtarako-industrial dhe industri të tëra. Dhe nuk jam i sigurt nëse do të jetë në gjendje të arrijë. Sigurisht që humbje ka edhe në Akademinë e Shkencave. Nuk po flas për numrin e akademikëve - nuk është aq i rëndësishëm.
Kemi humbur disa breza shkencëtarësh. Më kujtohen fillimet e viteve '90. Studentët tanë, studentë të diplomuar u larguan. Ata po largoheshin. Shtresa e specialistëve është shumë e hollë dhe e larë. Por ka pasur njerëz unikë ... Ata mbeten ende, por tashmë janë njerëz të moshuar. Akademia ka humbur disa breza dhe kjo është shumë serioze. Çfarë shohim? Leksionet i mbajnë moshat 70-75 vjeçare. Mund ta imagjinoni se çfarë lloj ngarkese është? Puna e një pedagogu të mirë është e ngjashme me punën e një artisti, është një stres i madh fizik dhe emocional. Dhe kur 75-vjeçarë po i japin leksione një rryme prej 200 studentësh, nuk është shumë mirë.
Do t'i kthehem historisë së fundit të institutit. Nuk kishte kërkesë të brendshme për punë, e kam fjalën për teknologjitë e reja të programimit, në vend. Nuk kishte as para. Njerëzit emigruan ose shkonin në banka. Në çfarë kohe u bëra drejtor i institutit.
Për mua, stërvitja është një nga lopët e shenjta. Jo më kot përmenda kompanitë me të cilat kemi kontrata. Këto janë marrëveshje të kushtueshme. Ato bëjnë të mundur pagimin e një rroge të mirë për punonjësit tanë.
Por situata është alarmante. Dhe nuk është alarmante se sa anëtarë ka në akademi. Le të jenë të paktën pesë mijë të tillë, nuk më intereson. Nuk është kjo gjëja, por fakti që nuk ka djem të rinj. Edhe pse në mesin e anëtarëve të akademisë ka ende njerëz me të cilët mund të krenohet.
Ju jeni kryetar i RASPO (Shoqata Ruse e Software-it të Lirë). Çfarë po ndodh sot në organizatë?
RASPO mori një lloj fame shqetësuese. Do të dëshiroja që aktivitetet e RASPO-s të jenë më afër çështjeve reale, çështjeve teknike. Kështu që organizatat e përfshira në RASPO janë të angazhuara në zhvillimin e suksesshëm të softuerit. Ose integrim i suksesshëm, pasi RASPO ka kompani integruese. Që të funksionojnë komisionet e krijuara në RASPO: juridike, teknike etj. Tani është periudha kur secili duhet të kuptojë pse duhet të jetë në shoqatë, çfarë mund t'i japë asaj, t'i japë shoqërisë. Lapping është në progres, dhe shumë i vështirë. Ekziston një proces i zhvillimit të besimit të ndërsjellë - etik, profesional. Shpresoj se rezultatet e aktiviteteve të RASPO do të shfaqen pas gjashtë muajsh ose një viti.
Programues të talentuar nuk mungojnë as në vendin tonë, as në Perëndim.
Sidoqoftë, ka shumë pak njerëz në statusin e gurusë midis tyre - si, në të vërtetë, në çdo tjetër
zonë. Ju duhet të njihni mjeshtra të tillë të zanatit të tyre me shikim (ose të paktën me emër),
sepse e meritojnë patjetër. Sot ju prezantoj me Markun
Russinovich, një ekspert në Windows dhe më shumë.
Kush është zoti Russinovich?
Ndërsa punoja për këtë artikull, bëra një zbulim të çuditshëm -
doli se emri i Mark Russinovich (Mark Russinovich) për shumicën e njerëzve në
sot ai nuk flet fare për asgjë. Më së shumti u godita nga dy
as programuesit që nuk kanë dëgjuar kurrë për këtë. Ishte pas komunikimit me
u bë e qartë për ta se ishte vërtet e nevojshme të shkruante për Russinovich, sepse
turp, zotërinj, vetëm turp!
Pra, Mark Russinovich është një programues dhe shkrimtar amerikan, një ekspert me
me famë botërore, një nga ekspertët kryesorë në fushën e arkitekturës dhe dizajnit
sistemet operative, dhe në veçanti - pajisja e brendshme e Windows. Në vitin 2006
ai hyri në top 5 hakerët e planetit, sipas revistës eWeek, së bashku me Jeanne
Rutkovskaya dhe David Minor.
Bazuar në sa më sipër, është e lehtë të merret me mend se Marku ka më shumë
çfarëdo qoftë profili (megjithatë, historia njeh përjashtime edhe në të tilla
sfera) - ai është i diplomuar në Universitetin Carnegie Mellon, mbajtës i dy diplomave:
diploma bachelor dhe doktoraturë në shkenca kompjuterike.
Në fund të universitetit, Russinovich as që mendoi ta fikte
sigurisht, pasi ka punuar për ca kohë në qendrën kërkimore të korporatës IBM (në
ekspert i sistemeve operative). Ai nuk qëndroi atje për një kohë të gjatë dhe
së shpejti lundroni falas. Në vitin 1996, së bashku me një tjetër
zhvilluesi i softuerit Bryce Cogswell, organizoi Russinovich
sipërmarrja e saj, e cila mori emrin Winternals Software LP. Veprimtaritë e Markut
fokusuar rreth shkrimit të mjeteve të ndryshme freeware për administrim dhe
diagnostifikimi i MS Windows. Kompania e tij ndoqi të njëjtën linjë, me një
vetëm një ndryshim i vogël - produktet e kompanisë ku Russinovich pushtoi për shumë vite
posti i arkitektit kryesor të softuerit tashmë ishte paguar.
Russinovich dhe kolegët shpërndanë shërbimet e tyre përmes faqes Sysinternals.com
(dikur - ntinternals), dhe meqenëse ata qartësisht nuk përjetuan mungesë idesh - më
sot ka më shumë se 60 programe të dobishme për autorësinë e tyre. V
më i famshmi, ndoshta, mund të renditet si Monitoruesi i Procesit (më parë
- Filemon dhe Regmon), Process Explorer, RootkitRevealer dhe shërbime si NTFSDOS,
ndihmë në punë dhe, në fakt, plotësimi i boshllëqeve në Windows (për shembull, NTFSDOS
i bën të dukshme të gjitha ndarjet NTFS kur funksionojnë nën MS-DOS). Nga shërbimi më i fundit
ai ndjek faktin e thjeshtë që Russinovich shkroi drejtuesin e sistemit të skedarëve NTFS
nën DOS. Kjo, natyrisht, është larg nga meritat kryesore të tij, por jo edhe e fundit.
Ju mund t'i shkarkoni të gjitha këto lehtësira të vogla veçmas dhe
komplete të gatshme. Për shembull, një paketë poshtë
me emrin e pakomplikuar Winternals Administrator Pak. Dhe ajo që është veçanërisht interesante është
Faqja madje publikoi versione për Linux, për të cilat ekspertët e Windows-it pëlqejnë
çuditërisht, nuk harroi. Dhe në lëshimet e mëvonshme, u shfaqën versione për
Sistemet 64-bit. Me pak fjalë, gjithçka shkoi mirë derisa Microsoft u shfaq në horizont,
e madhe dhe e tmerrshme.
“Small-soft” nuk mund të kalonte vetëm pranë specialistëve të tillë të talentuar. TE
Rekordi i 2006 Winternals Software ka frymëzuar vërtet respekt dhe
në Sysinternals mund të gjeni shërbime për të gjitha rastet. Faqja e ofruar
gjëra aq të përshtatshme dhe praktike sa edhe një njohje e shkurtër me to
mjafton për të kuptuar se Windows-it i mungojnë vërtet të gjitha këto.
Rezultati i natyrshëm i interesit të shfaqur nga Microsoft ishte blerja
Softueri Winternals. Pas marrëveshjes, festa e jetës në Sysinternals
ngadalësuar pak. Për shembull, kodi burimor është zhdukur nga faqja, më parë i lirë
softueri i publikuar për shumë njerëz, versionet për Linux u zhdukën dhe menjëherë u shfaqën
hoqi shërbimet si NT Locksmith, të cilat lejuan rikuperimin e fjalëkalimit të sistemit
praktikisht në çdo mjedis. Përndryshe Microsoft nuk kishte asnjë kundërshtim
kundër ekzistencës së faqes dhe metodave të shpërndarjes së softuerit. Gjithsesi, menjëherë
pas bashkimit, Russinovich siguroi publikun se Sysinternals do të vazhdojë të funksionojë
"Pothuajse si zakonisht."
Në Microsoft, Marku ka marrë titullin krenar të Technical Fellow, i cili, në fakt,
do të thotë anëtar i këshillit teknik të një korporate. Këtë post ai e mban edhe sot e kësaj dite
ditë pune për divizionin e Platformës dhe Shërbimeve
Divizioni). Në një vend të ri, detyrat e Russinovich përfshinin punën për problemin
zbulimi i rootkits dhe krijimi i mjeteve të përshtatshme për këtë, dhe
zhvillimi i shërbimeve për të eliminuar të gjitha llojet e programeve malware. Mund të thuash
se Mark Russinovich ka ruajtur kompjuterët tanë që nga viti 2006 :).
Popullariteti
Fakti që sot Marku merret posaçërisht me çështjet e rootkit është mjaft
kurioz, sepse masat e gjera u njohën me vetë fjalën "rootkit".
faleminderit shumë atij. Kjo ndodhi në vitin 2005, madje edhe para kalimit të Russinovich në
Microsoft. Pastaj heroi ynë, në rrjedhën e testimit të mendjes së tij me një altoparlant për
vetë i quajtur RootkitRevealer, e zbuloi atë në kompjuterin e tij
ka disa aktivitete të dyshimta. I befasuar sinqerisht, Mark më vonë
shkroi në blogun e tij: “Duke marrë parasysh që jam shumë i kujdesshëm kur e përdor
Unë instaloj internetin dhe softuerin vetëm nga burime të besueshme, nuk e kisha idenë
ku mund të kisha marrë një rootkit të vërtetë dhe, nëse jo për emrat e dyshimtë të skedarëve,
Unë do të isha fajtor për gabimet në kodin RKR."
Sidoqoftë, çështja doli të mos ishte gabime të RootkitRevealer, por në të cilën Russinovich pak më parë
blerë nga Amazon.com. Dyqani online sinqerisht paralajmëroi se disku
mbrojtur nga kopjimi me anë të DRM (Menaxhimi i të drejtave dixhitale), por jo
raportuar se cilat konkretisht. Më duhej të kryeja një hetim të pavarur, në
gjatë së cilës u bë e qartë se Sony ishte duke shkuar përtej arsyes dhe për të hequr
një rootkit është i pamundur ndryshe sesa manualisht - madje hyri në HKLM \ System \ CurrentControlSet \ SafeBoot,
pra vazhdoi të funksiononte edhe në mënyrë të sigurt. I indinjuar më parë
thellësitë e shpirtit Russinovich, natyrisht, përfundimisht arriti të përballonte infeksionin, por
ai nuk ka heshtur për këtë episod, duke përshkruar me detaje atë që ka ndodhur në blogun e tij.
Komuniteti i IT-së është trazuar dhe brenda pak orësh ky informacion
të marra nga gjysma e internetit, dhe më pas nga mediat kryesore. Ai më vonë si
eksperti u shfaq në gjyqin kundër Sony, dha të shumta
intervistat dhe komentet për shtypin dhe, në përgjithësi, të tërhequr janë rritur
Kujdes. Falë këtij incidenti, masat mësuan se çfarë është një rootkit dhe
sa e keqe është, dhe gjithashtu mësova për ekzistencën e një njeriu si Marku
Rusinoviç. Doli që Marku, papritur edhe për veten e tij, u bë i famshëm.
Një turp tjetër i Russinovich, i cili i solli atij një famë të caktuar, -
Shkrimtar. Ndër të tjera, Marku është bashkautor i disa librave, ndër të cilët edhe ky
bestseller si Microsoft Windows Internals ("Struktura e brendshme e Microsoft OS
Windows "). Ai ka shkruar rregullisht shumë artikuj dhe manuale të ndryshme
përmes bashkëpunimeve me TechNet Magazine dhe Windows IT Pro (dikur Windows
Revista NT). Plus për gjithçka, Russinovich vazhdon të blogojë, për të gjetur se cilat
mund të gjendet në blogs.technet.com/MarkRussinovich. Për të tretin vit, blogu i Markut
mban pozicionin e një prej blogjeve më të mirë në mesin e të gjithë punonjësve të Microsoft.
Prezantimi
1. Sistemi operativ
1.2 Struktura dhe funksionet e OS
1.3 Historia e zhvillimit të OS
2. Alternativat e Windows
2.1.1 Historia e zhvillimit
2.1.3 Përdorimi
2.2.1 Historia e krijimit
2.2.3 Përdorimi
2.3.1 Historia e zhvillimit
2.3.3 Përdorimi
konkluzioni
Lista e literaturës së përdorur
Prezantimi
Në kohën tonë, teknologjitë e informacionit po bëhen gjithnjë e më të qëndrueshme në jetën e përditshme, dhe kompjuteri tashmë është bërë një pjesë e njohur e saj. Për shumicën e njerëzve që kanë pasur përvojë me një kompjuter, fjalët "ikonë", "dritare", "desktop", "menuja e fillimit" janë bërë të njohura dhe të kuptueshme dhe logoja e një flamuri me katër ngjyra që valëvitet nuk është befasuese. Dua të them se shumë përdorues të kompjuterëve personalë janë mësuar aq shumë me Windows, sa ndonjëherë nuk dinë as për ekzistencën e sistemeve të tjera, alternative, operative dhe aq më tepër nuk i bëjnë vetes pyetjen: "Çfarë është një sistem operativ dhe si punon?" Por njohja e gjithë kësaj jo vetëm që do të jetë e dobishme në shoqërinë moderne, por gjithashtu mund të ndihmojë në zgjedhjen e "guaskës" më të përshtatshme dhe produktive për kompjuterin tuaj. Kjo është arsyeja pse vendosa të bëj një pasqyrë të shkurtër të sistemeve operative që përdoren sot në vend të Windows të zakonshëm për të gjithë ne.
Në punën time kam përdorur kryesisht tre burime letrare. Në tekstin e E. Tanenbaum "Sistemet operative moderne" mora informacion kryesisht mbi historinë e zhvillimit të sistemeve operative. Libri “Sistemet operative, mjediset dhe predhat”, autorët e të cilit T.L. dhe Popov I.I., kam përdorur për të përcaktuar konceptin e një sistemi operativ dhe karakteristikat e UNIX OS. Dhe së fundi, libri i V.G. Olifer, N.A. Olifer. Sistemet operative të rrjetit më ndihmuan të karakterizoj funksionet kryesore të sistemit operativ dhe strukturën e tij. Gjithashtu, u përdorën burime të ndryshme të internetit, për shembull, enciklopedia falas e internetit Wikipedia.
Abstrakti im përbëhet nga dy kapituj kryesorë: sistemet operative, ku u përpoqa të shpjegoj se çfarë është sistemi operativ, si funksionon dhe për çfarë shërben, dhe alternativat e Windows, ku konsideroj drejtpërdrejt sistemet operative që përdoren në vend të Windows. Duhet theksuar se për të mos ngarkuar tekstin me përsëritje dhe për thjeshtësi paraqitjeje, në abstraktin tim kam përdorur fjalët "kompjuter", "makinë", "kompjuter" si sinonime për të treguar një kompjuter në kuptimin tonë të sotëm. E konsiderova të përshtatshme që t'i referohesha burimeve vetëm në rastin e kopjimit të saktë ose marrjes së informacionit të veçantë, për shembull, përkufizime ose klasifikime. Në të gjitha rastet e tjera, jam mbështetur vetëm në informacione nga burime letrare ose të internetit, duke i ritreguar me fjalët e mia dhe duke nxjerrë përfundime të caktuara.
Abstrakti im nuk ka për qëllim të zbulojë se cili sistem operativ është më i mirë. Qëllimi i punës sime nuk është një krahasim, por një pasqyrë e sistemeve operative. Kjo është ajo nga çfarë jam udhëhequr kur kam shkruar një ese. Kur karakterizova çdo sistem operativ, u përpoqa të tërhiqja vëmendjen në avantazhet dhe disavantazhet e tij kryesore, shtrirjen e përdorimit të tij sot dhe të nxjerr një përfundim në lidhje me konkurrencën e tij me Windows.
1.Sistemi operativ
1.1 Çfarë është një sistem operativ?
Para së gjithash, ia vlen të kuptoni se çfarë është sistemi operativ (OS).
Një sistem operativ është një grup programesh që siguron organizimin e procesit llogaritës në një kompjuter. Me fjalë të thjeshta, ky është një program i krijuar për të fshehur nga përdoruesi të gjitha kompleksitetet e "komunikimit" me një kompjuter. Dhe vështirësitë lindin shumë më tepër sesa duket në shikim të parë. Pa ndihmën e OS, edhe një operacion kaq i thjeshtë si shkrimi i një skedari në hard disk, të cilin jemi mësuar ta bëjmë duke shtypur disa taste në tastierë, është i pamundur për një person të pa iniciuar. Është e nevojshme të shkruajmë në hard disk regjistrat adresën e vendit ku duam të ruajmë skedarin tonë, adresën në memorien kryesore, numrin e bajteve që duhen ruajtur, drejtimin e veprimit, në këtë rast shkrimin. Dhe kjo është vetëm për të shkruar një skedar!
Unë mendoj se e gjithë rëndësia e shpikjes edhe të sistemeve të para operative bëhet e qartë, sepse ato lejuan të lironin një person nga komunikimi drejtpërdrejt me pajisjet, duke i siguruar programuesit një sistem komandimi më të përshtatshëm.
Sistemi operativ shërben si një lidhje midis njeriut dhe kompjuterit, duke i ofruar përdoruesit një ndërfaqe të thjeshtë, të orientuar nga skedari. Akti i shkrimit të një skedari në disk atëherë duket të jetë më i thjeshtë sesa kur duhet të kujdeseni për lëvizjen e kokave të diskut, prisni derisa ato të vendosen, etj.
Kjo është vetëm një pasqyrë e përgjithshme e sistemit operativ. Tjetra, unë propozoj të shqyrtojmë OS në më shumë detaje.
1.2 Struktura dhe funksionet e OS
Shumica e sistemeve operative moderne janë sisteme modulare (d.m.th., të ndara në pjesë të veçanta funksionale). Sigurisht, nuk ka asnjë arkitekturë të vetme OS, por ka qasje universale për strukturimin e sistemeve operative. Qasja më e zakonshme është që të ndahen të gjitha modulet e saj në dy grupe:
· Kernel - module që kryejnë funksionet bazë të OS;
· Modulet që kryejnë funksione ndihmëse të OS.
Modulet e kernelit menaxhojnë proceset, memorien, pajisjet I/O dhe më shumë. Funksionet e kryera nga modulet e kernelit janë funksionet më të përdorura, kështu që shpejtësia e ekzekutimit të tyre përcakton performancën e të gjithë sistemit në tërësi. Për të siguruar një shpejtësi të lartë funksionimi të OS, shumica e moduleve të kernelit janë të vendosura përgjithmonë në RAM, d.m.th. janë banues
Pjesa tjetër e moduleve OS (ndihmëse) kryejnë funksione të dobishme, por jo aq thelbësore, për shembull, kontrollin e shëndetit të blloqeve të kompjuterit, zbulimin e dështimeve të pajisjes, etj.
Shpesh është shumë e vështirë të dallosh programet OS dhe aplikacionet e thjeshta. Besohet se ato programe që funksionojnë në modalitetin e kernelit (d.m.th., përdoruesi nuk ka qasje harduerike në to) janë gjithmonë pjesë e sistemit operativ, ndërsa programet ndihmëse funksionojnë në modalitetin e përdoruesit (d.m.th., përdoruesi mund t'i ndryshojë ato nëse dëshiron).
Kerneli është forca lëvizëse pas të gjitha proceseve informatike dhe një përplasje e kernelit është e barabartë me kolapsin e të gjithë sistemit, prandaj zhvilluesit i kushtojnë vëmendje të veçantë besueshmërisë së kodeve dhe i mbrojnë ato nga ndërhyrja e lirë e përdoruesit.
Epo, tani le të kalojmë te funksionet kryesore që kryen OS në tërësi. Në përgjithësi, ato mund të ndahen në dy më të rëndësishmet, kjo është lidhja midis një personi dhe një makine dhe menaxhimi i burimeve të vetë makinës. Ne kemi diskutuar tashmë rëndësinë e funksionit të parë më lart, por i dyti ia vlen të ndalemi më në detaje.
Kompjuterët modernë përbëhen nga një procesor, memorie, orë, disqe, maus, ndërfaqe rrjeti, printera dhe një mori pajisjesh të tjera. Pra, funksioni i OS është shpërndarja e organizuar dhe e kontrolluar e burimeve kompjuterike ndërmjet programeve të ndryshme që konkurrojnë për të drejtën e përdorimit të tyre. Në të vërtetë, imagjinoni se çfarë do të ndodhte nëse tre programe do të funksiononin në të njëjtin kompjuter dhe të gjithë të përpiqeshin të printonin të dhënat e tyre në të njëjtin printer. Me shumë mundësi, rreshtat e parë në fletë do të shfaqen nga programi i parë, disa të tjerë nga i dyti, e kështu me radhë. Rezultati është konfuzion i plotë. Sistemi operativ i vendos gjërat në rregull në situata të tilla. Sistemi operativ fillimisht lejon hyrjen në vetëm një program, dhe dalja e tjetrit ruhet në një skedar të përkohshëm dhe vendoset në radhë për printim. Në këtë kohë, programi i dytë vazhdon të funksionojë, duke mos kuptuar që në fakt nuk po dërgon të dhëna në printer. Rezulton se OS "mashtron" programin, si të thuash. Ky ishte një shembull i shpërndarjes së përkohshme të burimeve. Shpërndarja hapësinore është po aq e rëndësishme. Ai konsiston në faktin se OS i cakton secilit program vetëm një pjesë të një burimi specifik, dhe jo të gjithë burimin në tërësi. Shembulli më i mrekullueshëm, për mendimin tim, është shpërndarja e disa programeve në RAM-in e kompjuterit. Është e vështirë edhe të imagjinohet se sa kohë do të duhej për të përpunuar komandat nëse secili program do të pajisej me të gjithë sasinë e RAM-it, dhe të gjithë të tjerët do të prisnin radhën e tyre!
Prania e të gjitha këtyre funksioneve dëshmon edhe një herë domosdoshmërinë dhe rëndësinë e sistemeve operative. Pa një OS, një kompjuter për përdoruesin është vetëm një grumbull metali, i cili është i pamundur të afrohet.
Bazuar në funksionet kryesore të OS, gjatë zhvillimit të tij ato udhëhiqen nga disa kërkesa:
· Modulariteti;
· Mundësia e zhvillimit të sistemit softuerik;
· Lehtësia e zhvillimit;
· Fleksibilitet dhe përshtatshmëri;
· Pajtueshmëria e softuerit të kompjuterëve të ndryshëm brenda një platforme harduerike;
· Ndërhyrja minimale njerëzore;
· Shkathtësia parametrike;
· Teprica funksionale (prania në sistem e disa programeve që zbatojnë të njëjtin funksion);
· Selektiviteti funksional (aftësia për të konfiguruar sistemin për një përdorues specifik).
Ju lehtë mund të imagjinoni se çfarë rruge të gjatë dhe interesante shkoi OS në zhvillimin e tij dhe me çfarë problemesh u përballën zhvilluesit për të përmbushur të gjitha kërkesat e paraqitura më sipër.
1.3 Historia e zhvillimit të OS
Sigurisht, zhvillimi i OS është i lidhur ngushtë me zhvillimin e vetë kompjuterëve. Kompjuterët e hershëm nuk parashikonin sisteme operative, kështu që të gjitha proceset e fillimit dhe ndalimit të programeve, lidhja e pajisjeve të jashtme bëheshin manualisht. Programimi u krye ekskluzivisht në gjuhën e makinës. Në atë kohë, makinat përdoreshin më shumë për qëllime kërkimore, dhe jo për zgjidhjen e problemeve specifike praktike. Nga fillimi i viteve 50, me shpikjen e kartave me grushta - karta speciale në të cilat u transferua algoritmi i ekzekutimit të programit - situata kishte ndryshuar disi, por në përgjithësi, mirëmbajtja dhe përdorimi i kompjuterëve mbeti i papranueshëm i vështirë.
Hapi i parë drejt lehtësimit të komunikimit me makinën u hodh në fund të viteve 1950 me shpikjen e përpunimit në grup. Ideja ishte të mblidhej një paketë e plotë detyrash (një kuvertë kartash të grushta), t'i transferohej në shirit magnetik dhe më pas, duke përdorur një program të veçantë (një prototip i sistemeve operative moderne), t'i lëshonte ato në mënyrë sekuenciale për ekzekutim pa pjesëmarrjen e një operatori. Një përpunim i tillë i detyrave ka reduktuar ndjeshëm kohën e veprimeve ndihmëse në organizimin e vetë procesit të llogaritjes. Njerëzit nuk duhej më të vraponin nëpër sallë për të transferuar rezultatet e përpunimit të të dhënave: ata tani dilnin në printer në një modalitet offline (d.m.th., pa komunikim me kompjuterin kryesor). Sidoqoftë, kishte edhe një disavantazh të rëndësishëm: për shkak të faktit se programuesit humbën aksesin e drejtpërdrejtë në një kompjuter, iu desh shumë më shumë kohë për të korrigjuar gabimet në programe.
Hapi tjetër drejt sistemeve moderne operative ishte shpikja e parimit të multitasking. Më parë, procesori kryesor mund të ishte i papunë shumicën e kohës, duke pritur për komandat I/O nga kaseta ose pajisje tjetër. Natyrisht, kjo ishte shumë e papërshtatshme, dhe në rastin e përpunimit të informacionit tregtar, një operacion kaq i thjeshtë mund të merrte 80% të kohës së punës. Zgjidhja e problemit ishte ndarja e kujtesës në disa pjesë, secilës prej të cilave iu dha një detyrë e veçantë. Tani procesori nuk priti për përfundimin e operacionit I / O, por kaloi në një program që ishte tashmë gati për ekzekutim.
Pas kryerjes së shumë detyrave, ekzistonte një modalitet i ndarjes së kohës. Ky modalitet ishte projektuar për sistemet me shumë terminale, kur secili përdorues mund të punonte në terminalin e tij. Për shembull, njëzet përdorues mund të jenë të kyçur në sistem dhe nëse shtatëmbëdhjetë prej tyre janë duke menduar, duke pirë kafe ose duke u marrë me biznesin e tyre, njësia qendrore e përpunimit u jepet tre përdoruesve që duan të përdorin makinën. Sidoqoftë, në sisteme të tilla, efikasiteti i përdorimit të pajisjeve ishte më i ulët, gjë që ishte një çmim për lehtësi.
Të gjitha këto risi kërkonin natyrshëm shkrimin e një sistemi operativ që mund të përdorej si në makineri të mëdha ashtu edhe në të vogla, si me një numër të madh pajisjesh periferike ashtu edhe me një numër të vogël, në fushën tregtare dhe në fushën e kërkimit shkencor. Ishte shumë e vështirë të përmbusheshin të gjitha këto kërkesa. Sistemet operative të shkruara në atë kohë ishin me miliona rreshta, shumë komplekse dhe përmbanin mijëra gabime. Megjithatë, ata gjithashtu kontribuan në zhvillimin e OS: disa nga teknikat që u përdorën në sistemet e para operative janë ende të gjalla dhe të pranishme në sistemet operative moderne.
Nga mesi i viteve 70, mini-kompjuterët po përhapeshin gjerësisht. Arkitektura e tyre është thjeshtuar shumë dhe burimet janë të kufizuara. E gjithë kjo pasqyrohet në sistemin operativ për kompjuterë të tillë. Ato janë bërë më kompakte dhe janë shumë më afër koncepteve të sistemeve operative moderne. Sistemi operativ më i zakonshëm i asaj kohe ishte UNIX, historinë e të cilit do ta shqyrtojmë më vonë.
Revolucioni i vërtetë ishte shpikja në fillim të viteve 80 të mikroqarqeve të silikonit dhe, si pasojë, shfaqja e kompjuterëve të parë personalë (PC). Për sa i përket arkitekturës, PC-të nuk ndryshonin nga mini-kompjuterët, por kostoja e tyre ishte shumë më e ulët. Kjo lejoi që ato të bliheshin jo vetëm nga universitetet, ndërmarrjet apo agjencitë qeveritare, por edhe nga njerëzit e thjeshtë. Sistemi operativ UNIX i atëhershëm i njohur ishte shumë i ndërlikuar për t'u përdorur nga jo-profesionistët. Detyra ishte krijimi i një ndërfaqeje miqësore, d.m.th. i destinuar për përdoruesin që nuk di asgjë dhe nuk dëshiron të dijë asgjë. Këtu u shfaq sistemi i mirënjohur MS-DOS (MicroSoftDisk Operating System). Duhet të theksohet se fillimisht MS-DOS kishte një ndërfaqe të linjës së komandës që nuk ishte shumë miqësore për përdoruesit. Shumë më vonë, u krijua një mjedis grafik për MS-DOS, i quajtur Windows, i cili më vonë u zhvillua në një sistem operativ të pavarur. Ajo gjithashtu mishëroi idenë e një ndërfaqe grafike të përbërë nga dritare, ikona, menu të ndryshme dhe një mi.
Nga historia e zhvillimit të sistemit operativ, është e qartë se detyra kryesore e sistemit operativ ka mbetur gjithmonë të sigurojë një ndërveprim të përshtatshëm midis një personi dhe një makine. Duket se sistemet moderne operative bëjnë më të mirën për këtë detyrë. Sidoqoftë, nga viti në vit, shfaqen gjithnjë e më shumë versione të OS, më të avancuara dhe me aftësi të reja, dhe historia e zhvillimit të sistemeve operative merr gjithnjë e më shumë vazhdimësi të reja.
2. Alternativat e Windows
2.1 UNIX OS
2.1.1 Historia e zhvillimit
UNIX u zhvillua fillimisht nga Ken Thompson i Bell Laboratories në vitin 1969 si një sistem multitasking për minikompjuterët dhe mainframes (kompjuterë të mëdhenj në madhësinë e një dhome).
Një rol të madh në bërjen e UNIX-it kaq të popullarizuar, besoj, luajti aftësia për të transferuar këtë sistem në kompjuterë të ndryshëm. Para kësaj, për secilën makinë specifike, programuesit duhej të rishkruanin sistemet nga e para, gjë që, natyrisht, nuk ishte argëtuese. Në UNIX, ky problem është zgjidhur. Ishte shkruar në një gjuhë të nivelit të lartë - C. Kjo bëri të mundur lëshimin e vetëm një versioni të OS, i cili më pas mund të kompilohej (përkthehej) në makina të ndryshme.
Në vitin 1974, UNIX u transferua në universitete për "qëllime arsimore". Për më tepër, ajo u pajis me një grup të plotë tekstesh burimore, të cilat u bënë të mundur pronarëve korrigjimin e pafund të tij. Kështu gjeti përdorim komercial UNIX dhe u bë një nga sistemet operative më të përhapura. Problemi i vetëm ishte se secili prodhues shtoi përmirësimet e veta jo standarde, kështu që për një kohë shumë të gjatë ata nuk mund të shkruanin një paketë softuerike për UNIX në mënyrë që ato të mund të ekzekutoheshin në çdo version të tij. Zgjidhja për këtë problem ishte krijimi i standardit POSIX, i cili përfshinte procedurat më të përgjithshme të qenësishme në shumicën e versioneve të UNIX. Kjo thjeshtoi disi situatën dhe solli njëfarë unitet në zhvillimin e versioneve të UNIX.
Sot, ekziston një numër i madh i kloneve të sistemit UNIX, duke përfshirë Linux, MINIX, SystemV, Solaries, XENIX, por të gjitha këto sisteme operative ruajnë parimet bazë të zbatimit të algoritmeve, strukturave të të dhënave dhe thirrjeve të sistemit.
Më interesante nga OS-të e listuara është Linux. E veçanta e këtij kloni UNIX është modeli i tij i biznesit: është softuer i lirë. Ndryshe nga Windows, Mac OS dhe sistemet komerciale të ngjashme me UNIX, Linux nuk ka një qendër gjeografike të zhvillimit. Nuk ka asnjë organizatë që e zotëron këtë sistem. Softueri Linux është rezultat i mijëra projekteve. Shumë projekte bashkojnë hakerë nga e gjithë bota, të cilët njihen vetëm me korrespondencë. Çdokush mund të krijojë projektin e tij ose të bashkohet me një ekzistues dhe, nëse është i suksesshëm, rezultatet e punës do të bëhen të njohura për miliona përdorues. Përdoruesit marrin pjesë në testimin e softuerit të lirë, komunikojnë drejtpërdrejt me zhvilluesit, gjë që u lejon atyre të gjejnë dhe rregullojnë shpejt defektet dhe të zbatojnë veçori të reja. Kjo qasje përcakton kosto-efektivitetin dhe popullaritetin e Linux. Sot, ky OS përdoret në shumë pajisje, duke filluar nga telefonat celularë, ruterët dhe duke përfunduar me automjete ushtarake pa pilot.
Bazuar në diversitetin e kësaj familje OS, mund të konkludojmë se çfarë roli të rëndësishëm ka luajtur UNIX në zhvillimin e sistemeve operative dhe, pa ekzagjerim, ta quajmë atë historikisht një nga më të rëndësishmit.
2.1.2 Përparësitë dhe disavantazhet kryesore
Avantazhet kryesore të UNIX fillimisht u vunë në idenë që u ndoq kur u krijua. "Sistemi operativ duhet të mbështetet në një numër të vogël konceptesh jo-hardware që ofrojnë së bashku një mjedis celular për zhvillimin dhe ekzekutimin e aplikacioneve." Bazuar në këtë, ekzistojnë dy avantazhe kryesore të UNIX OS: thjeshtësia dhe transportueshmëria. Kjo është ndoshta gjëja kryesore që e dallon atë nga sistemet e tjera operative.
Me thjeshtësi, nënkuptojmë se UNIX, për shkak të kompaktësisë së kernelit, nuk është kërkues për burimet e kompjuterit (në ndryshim nga i njëjti Windows). Përveç kësaj, UNIX përmban shumë përfitime të tjera.
Së pari, një model skedari i thjeshtuar që ju lejon të krijoni një numër të pakufizuar nëndrejtorish në hard diskun tuaj.
Së dyti, ai përdor vetëm gjashtë komanda bazë. Funksionimi i pirunit. Me "pirun", një proces krijon një kopje të saktë të vetvetes. Në këtë mënyrë ju merrni dy kopje identike. Kopja e krijuar më shpesh kryen një proces tjetër - ai zëvendëson veten me një program të ri. Ky është operacioni i dytë bazë. Katër thirrjet e mbetura - hapja, mbyllja, leximi dhe shkrimi - janë për të hyrë në skedarë. Këto gjashtë thirrje sistemore janë operacionet e thjeshta që përbëjnë Unix-in. Sigurisht, ka një numër të madh komandash të tjera, por duke ditur këto pesë, ju mund të kryeni lehtësisht operacionet bazë në një mjedis UNIX.
Së treti, përdorimi i një gjuhe komandimi të zhvilluar mjaftueshëm në ndërfaqen bazë të sistemit shërbeu si një thjeshtësim i rëndësishëm i UNIX. Edhe sot, me ardhjen e kornizave të shumta grafike (siç është XWindowSystem), ka shumë përdorues që preferojnë ndërfaqen kryesore të linjës së komandës.
Transportueshmëria e UNIX do të thotë se mund të përdoret në platforma të ndryshme harduerike. Për më tepër, është e mundur të ekzekutohen programet në të njëjtën kohë nga disa përdorues nga një makinë, gjë që lehtëson krijimin e rrjeteve. Nga rruga, falë këtij parimi të multi-terminalitetit, UNIX ka luajtur një rol të rëndësishëm në zhvillimin e internetit.
Sigurisht, sistemi operativ UNIX nuk është i përsosur. Mund të gjenden shembuj të dhjetëra sistemeve të tjera operative që janë bërë më të menduara, ofrojnë mjete programimi më të fuqishme etj. Disavantazhet kryesore të sistemit përfshijnë:
· Modaliteti në kohë reale nuk mbështetet (një lloj multitasking në të cilin vetë sistemi operativ transferon kontrollin nga një program i ekzekutueshëm në tjetrin);
· Rezistencë e dobët ndaj dështimeve të harduerit;
· Ulje e efikasitetit gjatë zgjidhjes së problemeve të të njëjtit lloj;
Mjetet e ndërveprimit dhe sinkronizimit të zhvilluara dobët tionet e proceseve.
Përveç kësaj, mbingarkesa është vërejtur në versionet e fundit të UNIX.
Megjithatë, pavarësisht të gjitha mangësive, familja UNIX mbetet një nga më të kërkuarat në treg dhe në të ardhmen mund të konkurrojë mirë me Windows.
2.1.3 Përdorimi
Fillimisht të dizajnuara për të shërbyer mainframe, sot sistemet operative të ngjashme me UNIX përdoren kryesisht për servisimin e serverëve, por ka versione që janë mjaft të përshtatshme për përdorim në shtëpi ose në zyrë. Gjithashtu UNIX, falë kombinimit të tij të fuqishëm të komandave standarde, është ideal për krijimin e aplikacioneve.
UNIX është i mirë për përdoruesit e fuqisë sepse kërkon njohuri për parimet e funksionimit të proceseve që ndodhin në të. Prandaj, nuk ka gjasa t'i përshtatet "fillestarëve". Megjithatë, multitasking real dhe ndarja e memories së fortë sigurojnë besueshmëri të lartë të funksionimit të sistemit dhe, nëse keni nevojë për një OS të besueshëm, fleksibël, UNIX do t'ju përshtatet qind për qind. Kjo është arsyeja pse linja UNIX është kaq popullore këto ditë. Për sa i përket besueshmërisë, shumica e sistemeve operative moderne nuk ka gjasa të jenë në gjendje të përputhen me të. Nuk është rastësi që forcat ushtarake dhe organizatat qeveritare shpesh japin preferencën e tyre ndaj sistemeve operative të ngjashme me UNIX.
Pra, duke filluar pothuajse si një projekt lodër, sot familja e sistemeve operative UNIX zbatohet me sukses në fusha të ndryshme: nga bankat dhe agjencitë qeveritare te zyrat dhe supermarketet.
2.2 OS / 2
2.2.1 Historia e krijimit
Sistemi operativ OS / 2 filloi si një zhvillim i përbashkët midis IBM dhe Microsoft (1984). Sidoqoftë, projekti më pas u shpërbë dhe Microsoft rikrijoi versionin e tij të OS / 2 në WindowsNT, dhe vetë OS / 2 vazhdoi të zhvillohej në IBM, i cili ende nuk i kushtoi vëmendjen e duhur këtij sistemi operativ. Në përgjithësi, konkurrenca për lidership në tregun e OS midis këtyre kompanive ndikoi shumë në zhvillimin e mëtejshëm të sistemeve operative të zhvilluara si nga Microsoft ashtu edhe nga IBM.
OS / 2 fillimisht u konceptua si një zëvendësim për MS-DOS. Edhe atëherë ishte e qartë se MS-DOS kishte një numër të metash të rëndësishme që lidhen me kujtesën dhe sistemin e skedarëve të kufizuar, dhe nuk mund të përdorte potencialin e plotë të kompjuterëve të asaj kohe. Konceptet pas zhvillimit të OS të ri ishin premtuese: OS / 2 do të mbështeste kryerjen e shumë detyrave parandaluese, memorie virtuale, një ndërfaqe grafike të përdoruesit dhe do të ekzekutonte aplikacionet DOS. Megjithatë, shumica e këtyre planeve nuk mund të zbatoheshin.
Versioni i parë i OS / 2 1.0, i lëshuar në 1987, përmbante shumicën e veçorive të kërkuara për një OS me shumë detyra. Megjithatë, i mungonte një paraqitje grafike dhe i mungonin drejtuesit për shumë printera të njohur dhe pajisje të tjera. Përveç kësaj, ai ishte mjaft kërkues për burimet kompjuterike; ekzekutimi dhe ndërveprimi i aplikacioneve DOS u krye shumë ngadalë, dhe ndonjëherë ishte i pamundur; një përdorues mund të punonte vetëm me një aplikacion në të njëjtën kohë, ndërsa pjesa tjetër e proceseve ekzekutoheshin në sfond. Të gjitha këto mangësi nuk lejuan që OS / 2 të "shpërthejë" tregun e sistemeve operative si UNIX. Shumica e përdoruesve zgjodhën, megjithëse jo të përsosur, por të njohur MS-DOS, ose kaluan në Windows 3.1, të lëshuar nga Microsoft në të njëjtën kohë.
Unë mendoj se IBM sapo po nxitonte të lëshonte versionet e para të OS / 2. Ndryshe, ky sistem operativ do të mund të konkurronte me linjën Windows dhe MS-DOS.
Sigurisht, me çdo version të ri, OS / 2 u bë gjithnjë e më i mirë. Tashmë në OS / 2 v2.00 (1992), mangësitë kryesore të versionit të parë u eliminuan, për më tepër, ishte sistemi i parë operativ 32-bit i disponueshëm dhe funksional për kompjuterët personalë, i cili padyshim tërhoqi vëmendjen ndaj tij në tregun e OS. . Kjo u pasua nga lëshimi i versioneve mjaft të suksesshme të rrjetit të OS / 2 (për shembull, Warp 3, WarpConnect, Warp 4). Që nga ai moment, sistemet operative të ngjashme me OS / 2 filluan të zhvillohen më shumë si ato të rrjetit.
Në 1997, kishte arsye të mira për të thënë se OS / 2 po jeton jetën e tij si një sistem operativ. Për shembull, IBM njofton zyrtarisht se po heq OS / 2 nga tregu i konsumit, departamenti i zhvillimit të OS / 2 është shpërbërë dhe përdoruesit janë këshilluar të migrojnë në sisteme të tjera operative. Megjithatë, duke parë që bota është zhytur gjithnjë e më shumë në sferën e biznesit dhe internetit, IBM rikthehet ende në mbështetje të sistemeve të ngjashme me OS / 2 dhe në 1999 prezanton një version të ri: Warp4.5 ServerforE-business (Aurora).
Kështu, familja e sistemeve OS / 2 ka perspektiva mjaft reale zhvillimi dhe është të paktën e parakohshme të flasim për zhdukjen e këtij OS nga tregu.
2.2.2 Përparësitë dhe disavantazhet kryesore
Është mjaft e vështirë të veçosh ndonjë avantazh të përgjithshëm të sistemeve të familjes OS / 2, pasi çdo version ka të mirat dhe të këqijat e veta, të cilat mund të mungojnë në përmirësimet e mëvonshme. Sidoqoftë, mendoj se sa vijon mund të konsiderohet e zakonshme për të gjitha versionet:
· Mbështetje e fuqishme për pajisjet dhe rrjetet e internetit (veçanërisht për versionet e rrjetit);
· Funksionim i qëndrueshëm i kernelit të sistemit, që do të thotë besueshmëri.
Disavantazhi kryesor dhe më i madh i OS / 2 është numri shumë i vogël i softuerëve dhe aplikacioneve të shkruara për këtë sistem operativ. Pjesërisht, mendoj se kjo është për shkak të politikës së vetë IBM. Në fillim të zhvillimit të OS / 2, IBM nuk e trajtoi këtë sistem me mjaft kujdes dhe praktikisht nuk bashkëpunoi me zhvilluesit e softuerit. Është gjithashtu befasuese që drejtuesit për këtë sistem aktualisht nuk janë të disponueshëm në faqen zyrtare të IBM. Për më tepër, asnjë nga versionet OS / 2 nuk vjen me kode parësore, d.m.th. IBM, përkundër kërkesave të shumta të përdoruesve, u privon atyre mundësinë për të zhvilluar në mënyrë të pavarur sistemin, siç është rasti me Linux. (Megjithëse me drejtësi duhet të theksohet se një version i ri i OS / 2, i quajtur osFree, aktualisht është duke u përgatitur për lëshim, i cili thjesht nënkupton kodin me burim të hapur.) Pse një qëndrim kaq i çuditshëm i IBM ndaj krijimit të tij mbetet një mister për mua .
Një disavantazh relativ i sistemit mund të quhet një proces mjaft i vështirë dhe konfuz i instalimit të OS në një kompjuter. Megjithëse, për përdoruesit e avancuar, ky nuk ka gjasa të jetë problem.
Përndryshe, OS / 2 është një sistem i qëndrueshëm që me siguri zë vendin e vet (megjithëse të vogël) në tregun e sistemit operativ.
2.2.3 Përdorimi
Sot, shumë nga korporatat më të mëdha në Evropë i besojnë OS / 2 për të menaxhuar rrjetet e tyre kompjuterike, por duhet të theksohet se OS / 2 nuk përdoret gjerësisht në Rusi. OS / 2 nuk ka qenë kurrë veçanërisht i popullarizuar si një sistem operativ në shtëpi, duke mbetur në hijen e Windows.
Sigurisht, OS / 2 përdoret si server, ku kërkohet besueshmëri dhe performancë prej tij. Për shkak të stabilitetit të tij, OS / 2 përdoret në banka si një sistem operativ për ATM. OS / 2 është gjithashtu i përshtatshëm për t'u përdorur kudo që është e nevojshme për të përpunuar sasi të mëdha informacioni, për shembull, në stacionet e motit ose në fushën e kërkimit shkencor. Më rrallë, ky sistem përdoret për të zhvilluar aplikacione. Është interesante të theksohet se OS / 2 ka fituar një popullaritet midis lojtarëve ashtu siç është Konflikti i aplikacioneve është dukshëm më i ulët se ai i së njëjtës linjë të Windows.
Pra, u njohëm me një alternativë tjetër të familjes Windows. Sidoqoftë, dyshoj se familja OS / 2 mund ta shtyjë fuqishëm Windows nga tregu i OS, të paktën sot. Para së gjithash, kjo është për shkak të sasisë së vogël të softuerit për këtë OS, dhe për këtë arsye me popullaritet të ulët në mesin e pronarëve të PC. Megjithatë, ju nuk duhet të shpërfillni OS / 2 dhe ta hidhni atë nga peshore, sepse sapo IBM t'i kushtojë vëmendje të mjaftueshme zhvillimit të saj, ajo menjëherë do të çlirojë potencialin e saj të plotë.
2.3 MacOS
2.3.1 Historia e zhvillimit
Duhet të theksohet menjëherë se MacOS është krijuar për t'u instaluar në kompjuterët e prodhuar nga Apple. E veçanta e këtyre kompjuterëve është se si softveri ashtu edhe "internalët" e vetë kompjuterit janë montuar nga një kompani, përkatësisht Apple. Kjo qasje ju lejon të arrini ekuilibrin maksimal midis softuerit dhe harduerit që do të përdoret me të, gjë që, nga ana tjetër, praktikisht eliminon mundësinë e konflikteve të harduerit që shpesh hasim kur përdorim IBMPC. Sidoqoftë, kompjuterë të tillë nuk janë idealë. Çështja është se ata janë kompjuterë monolitikë, d.m.th. është pothuajse e pamundur të lidhni pajisje të reja ose të përmirësoni ato të vjetra. Kjo, besoj, mund të jetë një disavantazh serioz për disa përdorues, veçanërisht ata që janë mësuar të montojnë kompjuterin e tyre vetë.
Është e rëndësishme të theksohet se ishte Macintosh (domethënë, të ashtuquajturit kompjuterë Apple) ishin kompjuterët e parë personalë dhe ishte MacOS ai që ishte sistemi i parë operativ komercial që i ofroi përdoruesit jo një ndërfaqe të linjës komanduese, por një grafike. kaq të njohur për ne sot, me dritare, dosje, ikona dhe treguesin e miut. Lëshimi i këtij sistemi operativ u bë një revolucion i vërtetë në botën e PC, dhe shumë nga teknikat e përdorura në të u bënë bazë për zhvillimin e sistemeve operative të ardhshme. Për shembull, OCWindows GUI është pothuajse identike me macOS GUI. Pra, mund të themi me siguri se MacOS është një lloj paraardhësi i Windows.
Versioni i parë i MacOS u lëshua në 1984, së bashku me kompjuterin e parë personal Macintosh të Apple. Ai merrte vetëm 216 KB hapësirë në disk dhe funksiononte edhe kur kopjonte nga një kompjuter në tjetrin. Por një produkt i tillë ishte plotësisht i pambrojtur nga falsifikimi, kështu që zhvilluesit i kushtuan gjithë kohën e mëtejshme jo vetëm përmirësimit teknik të tij, zgjerimit të funksionalitetit dhe stabilitetit, por edhe mbrojtjes. E meta kryesore e versionit të parë ishte se vetëm një program "i ngrirë" çoi në dështimin e të gjithë sistemit, d.m.th. nuk kishte asnjë parim parandalues të multitasking. Kjo e metë u korrigjua në versionet e ardhshme të OS. Pas versionit të parë të MacOS, u lëshuan nëntë modifikime. Me çdo version, MacOS u bë më i gjallë, efektiv, më i lehtë për t'u përdorur dhe më i besueshëm.
Deri më sot, versioni më i fundit i këtij sistemi operativ është MacOSX, i cili ka përfshirë të gjitha më të mirat nga versionet e mëparshme, dhe për mendimin tim me të drejtë mund të quhet një nga sistemet operative më të përshtatshme.
2.3.2 Përparësitë dhe disavantazhet kryesore
Debati se cila është më e mirë se platforma IBMPC apo Macintosh ka vazhduar për një kohë të gjatë. Nga këndvështrimi im, çështja e të mirat dhe të këqijat e kompjuterëve Macintosh, dhe si rrjedhojë e sistemit operativ MacOS, është mjaft relative.
Tradicionalisht, disavantazhet e macOS përfshijnë çmimin e lartë. Po, me të vërtetë, çmimet për kompjuterët Apple janë pothuajse dyfishi i çmimit të IBMPC-ve të rregullta. Por për këto para ju merrni një kompjuter të bukur me cilësi të shkëlqyer me personalitetin e tij të veçantë dhe një sistem operativ modern, të zhvilluar duke marrë parasysh të gjitha teknologjitë më të fundit dhe arritjet shkencore. Në të njëjtën kohë, MacOS u krijua posaçërisht për kompjuterët Macintosh, i cili ju lejon të përdorni aftësitë e harduerit njëqind për qind, dhe të mos paguani para për artikuj të rinj që nuk e dini kur dhe me çfarë do të jetë e mundur t'i vlerësoni.
E meta e dytë është diapazoni i kufizuar i kompjuterëve Macintosh. Rezulton se Apple po e shtyn përdoruesin në korniza të caktuara: në fund të fundit, për të shijuar të gjitha avantazhet e MacOS, ai thjesht duhet të blejë vetë një Macintosh. Por nga ana tjetër, pasi keni ardhur në dyqan, nuk duhet të mendoni gjatë se cilin Macintosh të zgjidhni, ndërsa cilësia e secilit prej tyre do të jetë në nivelin më të lartë.
Një problem tjetër i pakëndshëm është natyra e mbyllur e MacOS, e cila kryesisht ndikon në mungesën e softuerit për të nga zhvilluesit e palëve të treta. Deri më tani, disa produkte të rëndësishme softuerike të shkruara për Macintosh nuk ekzistojnë, dhe kumarxhinjtë nuk do të mund të bredhin, pasi lojërat zhvillohen kryesisht për Windows, dhe më pas për MacOS, dhe nuk do të gjeni fare lodra. Por koha nuk qëndron ende, dhe shfaqen organizata që janë të angazhuara në zhvillimin e produkteve softuerike për MacOS, dhe zhvilluesit e njohur të softuerit janë të interesuar që produkti i tyre të funksionojë në kompjuterët Macintosh. Më e rëndësishmja, Apple ka përfshirë BootCamp në versionin më të fundit të MaOS, duke e bërë të lehtë instalimin dhe përdorimin e çdo softueri në kompjuterët Macintosh.
Gjithashtu ndër avantazhet e padyshimta të MacOS, mendoj, është mungesa e konflikteve midis softuerit dhe harduerit, me të cilin i njëjti Windows nuk mund të mburret fare, dhe mbrojtja pothuajse e plotë kundër viruseve, krimbave dhe shpirtrave të tjerë të këqij, sepse numri i malware që mund të infektojë MacOS është praktikisht e barabartë me zero. Prandaj, besoj se ky sistem operativ ende përmban më shumë avantazhe sesa disavantazhe.
Debati se cili është më i mirë mund të vazhdojë pafundësisht, por nëse pyet ata që kanë vendosur dhe kanë blerë një kompjuter Macintosh, nëse pranojnë ta ndryshojnë atë në një tjetër, me shumë mundësi do të merrni një përgjigje negative. Përdoruesit e Macintosh i duan kompjuterët e tyre. Kjo mund të shpjegohet me faktin se menaxhmenti i Apple i krijon produktet e tij kryesisht për njerëzit. Strategjia e tyre kryesore është bukuria dhe komoditeti. Përveç kësaj, të gjitha zhvillimet e tyre janë në hap me kohën, madje edhe pak më përpara. Blerja e një kompjuteri Macintosh me MacOS OS, mund të jeni i sigurt se ai nuk do të vjetërohet në gjashtë muaj, por do të jetë i rëndësishëm për një kohë të gjatë.
.3.3 Përdorimi
Duke marrë parasysh të gjitha avantazhet e MacOS, menjëherë lind pyetja pse ai ende nuk është aq i përhapur sa konkurrenti i tij kryesor, OS i mirënjohur Windows. Përgjigja për të rrjedh nga mangësitë e sa më sipër: çmimi i lartë, mungesa e softuerit, modelet e kufizuara, etj. Prandaj, shumica e përdoruesve preferojnë konfigurimin e njohur IBMPC me Windows-in e tij të njohur.
Sidoqoftë, pavarësisht kësaj, MacOS ende fitoi një popullaritet të konsiderueshëm në sferën e biznesit dhe në mesin e profesionistëve të përfshirë në grafikë kompjuterike dhe printim.
Nisur nga kjo, mendoj se nuk është e largët koha kur kompjuterët e Apple me sistemin operativ macOS do të bëhen kaq të njohur (dhe kanë të gjitha parakushtet për këtë) saqë do të konkurrojnë me Microsoft-in me sistemin e tij operativ Windows.
konkluzioni
Pra, këtu jemi në fund të përmbledhjes sonë të alternativave të Windows. Sigurisht, ka shumë sisteme të tjera operative, përveç atyre të pranishme në punën time, që mund të zëvendësojnë Windows. Jam përpjekur të konsideroj vetëm ato më të përdorurat. Mund të themi me siguri se mes tyre nuk ka të “keq” apo “të mirë”. Secili prej sistemeve operative të konsideruara ka të mirat dhe të këqijat e veta. Përdorimi i tyre varet nga qëllimi i aplikimit dhe, në përputhje me rrethanat, nga detyrat që u janë caktuar atyre. Disa sisteme operative janë ideale për përpunimin e sasive të mëdha të informacionit dhe dallohen nga besueshmëria e tyre, për shembull, linja e sistemeve OS / 2. Të tjerat janë të përballueshme, si Linux. Të tjerë të tjerë kënaqen me ngjyrat dhe pamjen e tyre, për shembull MacOS.
Natyrisht, është e vështirë të mos pajtohesh që ideja e Microsoft-it do të mbetet lider në mesin e softuerëve në tregun e OS për një kohë të gjatë, veçanërisht në mesin e sistemeve operative "shtëpiake". Ka arsye mjaft të kuptueshme për këtë: karakteri masiv, disponueshmëria, lehtësia e përdorimit, etj. Megjithatë, ka konkurrentë mjaft të denjë të përshtatshëm edhe për përdorim shtëpiak. Më e habitshme nga këto sisteme, për mendimin tim, është macOS. Ky sistem ka të metat e tij, por të gjitha ato humbasin në sfondin e komoditetit dhe besueshmërisë së tij. Përveç kësaj, Windows nuk është as një sistem i përsosur. Vetëm konfliktet e aplikacioneve vlejnë shumë dhe kërkesat e Windows për burimet e harduerit nuk janë aspak të ulëta.
Në çdo rast, kur zgjidhni një sistem operativ, nuk duhet të udhëhiqeni nga trendi i modës. Siç thashë, para së gjithash duhet të vazhdoni nga detyrat që duhet të kryejë OS. Në të vërtetë, siç zbuluam që në fillim të punës, sistemi operativ është lidhja kryesore lidhëse kur një person punon me një kompjuter. Suksesi i kësaj pune, dhe thjesht komoditeti i saj, mund të varet fuqimisht nga zgjedhja e OS.
1. Olifer V.G., Olifer N.A. Sistemet operative të rrjetit. - SPb .: Peter, 2002 -544 f.
2. - 400 shek.
3. Tanenbaum E. Sistemet operative moderne. 2nd ed. - SPb .: Peter, 2002 - 1040.
4. Kuznetsov S. "UNIX ka vdekur, dhe unë jam gjallë" - Artikull në internet (http://www.citforum.ru/database/articles/art_7.shtml)
5. QËLLIMI DHE FUNKSIONET E SISTEMIT OPERATIV. - Artikull në internet (http://sapr.mgsu.ru/biblio/ibm/contents/nazn.htm#UNIX)
6.www.maclinks.ru - faqe e dedikuar për macOS
7. Wikipedia - enciklopedia e lirë (www.wikipedia.org)
Partyka T.L., Popov I.I. Sistemet Operative, Mjediset dhe Predhat: Një Tutorial. - M .: FORUM: INFRA - M, 2003.
V.G. Olifer, N.A. Olifer. Sistemet operative të rrjetit. - SPb .: Peter, 2002
Tanenbaum E. Sistemet operative moderne. 2nd ed. - SPb .: Peter, 2002
Partyka T.L., Popov I.I. Sistemet Operative, Mjediset dhe Predhat: Një Tutorial. - M .: FORUM: INFRA - M, 2003.
Kuznetsov S. "UNIX ka vdekur, por unë jam ende gjallë." - Artikull në internet. (http://www.citforum.ru/database/articles/art_7.shtml)
Wikipedia është enciklopedia e lirë (www.wikipedia.org)
QËLLIMI DHE FUNKSIONET E SISTEMIT OPERATIV. - Artikull në internet (http://sapr.mgsu.ru/biblio/ibm/contents/nazn.htm#UNIX)
OS
OS
Leksioni numër 5
Sistemi operativ
1. Qëllimi dhe funksionet bazë të sistemit operativ.
Me termin "sistem operativ" nënkuptojmë një kompleks
programe funksionet e të cilave janë të kontrollojnë përdorimin dhe
shpërndarja e burimeve të sistemit kompjuterik. Ne e thamë atë në
sistemi informatik ka burime fizike, pra ato burime që
i lidhur me pajisje reale (disqe magnetike, RAM,
koha e procesorit). Ne gjithashtu thamë se sistemi është i suksesshëm
ka funksione logjike (nganjëherë ato quhen virtuale)
burime, pra burime që nuk janë në formën e pajisjeve reale
ekzistojnë, por zbatohen në formën e disa mjeteve të ofruara
tek përdoruesi. Burimet fizike dhe logjike do t'i quajmë thjesht
burimet e sistemit kompjuterik.
Çdo sistem operativ (OS) operon me disa entitete,
të cilat së bashku me metodat e menaxhimit të tyre e karakterizojnë në masë të madhe
Vetitë. Njësitë e tilla mund të përfshijnë konceptet e një skedari, një procesi,
objekt etj. Çdo OS ka grupin e vet të entiteteve të tilla. Për shembull, në OS
Windows NT, entitete të tilla përfshijnë konceptin e një objekti dhe pas
ofrohen të gjitha funksionet e mundshme për të menaxhuar këtë ent. Nëse ne
le të shohim UNIX, pastaj në të një entitet i tillë, para së gjithash, është
koncepti i një skedari, dhe së dyti, koncepti i një procesi.
Një proces është një entitet që është i pranishëm praktikisht në
të gjitha OS. Një proces është një program që zotëron burime.
Konsideroni dy programe (d.m.th. kodin dhe të dhënat që përdoren) dhe
merrni parasysh të gjitha ato burime që i përkasin programit (këto mund të jenë:
Hapësira RAM, të dhënat në një pajisje ruajtëse të jashtme,
pronësia e burimeve të tjera, për shembull, linjat e komunikimit). Nëse grupet
burimet që u përkasin të dy programeve përkojnë, atëherë në këtë rast ne nuk përkojmë
ne mund të flasim për këto programe si dy procese - ky është një
procesi. Nëse çdo program ka grupin e vet të burimeve, për më tepër, këto
grupet mund të kryqëzohen, por jo të përkojnë, atëherë po flasim për dy
proceset.
Në rastin kur grupet e burimeve të disa proceseve kanë
kryqëzim jo bosh, atëherë kemi një pyetje për përdorimin, pra
të quajtura, burime të përbashkëta. Ne folëm për këtë pjesërisht në të fundit
leksione: mbani mend shembullin me pajisjen e printimit. Mund të kemi disa
procese, secila prej të cilave ka një pajisje si burim të saj
printoni dhe në çdo kohë mund t'i referoheni këtij burimi me një porosi
për të printuar disa informacione. Sinkronizimi i punës së proceseve me shembull
pajisje printimi na ilustroi një nga funksionet e OS, që është
menaxhimi i funksionimit të proceseve. Le të shohim se çfarë kuptohet
nën kontrollin e procesit.
Menaxhimi i procesit:
1. Menaxhimi i kohës së qendrës
procesor.
2. Menaxhimi i "swap" dhe buffer input.
3. Menaxhimi i burimeve të përbashkëta.
Problemet kryesore të kontrollit të procesit.
E para është të kontrolloni përdorimin e kohës së CPU
(CPU), ose kjo çështje nganjëherë referohet si planifikimi i CPU-së, d.m.th. menaxhimi
në cilën pikë kohore cila nga detyrat ose cili nga proceset do të jetë
Veprimtaria e vetë CPU-së: në cilin nga proceset do të ekzekutohet CPU.
E dyta është menaxhimi i "swap"-it dhe buffer-it të hyrjes. Supozoni një situatë
kur një numër i madh njerëzish, për shembull i gjithë kursi, janë ulur pranë kompjuterëve,
dhe të gjitha në të njëjtën kohë filluan disa detyra në formën e proceseve. Në sistem
u formuan shumë detyra (garantuar më shumë se njëqind). Dhe i gjithë kompjuteri
sistemi nuk mund të pranojë njëqind detyra për punë në modalitetin e shumëprogramimit -
është shumë. Në këtë rast, formohet i ashtuquajturi bufer i hyrjes
detyrat, ose buferi hyrës i proceseve, pra buferi në të cilin
ato procese që presin fillimin e përpunimit të tyre nga procesori. Ngrihet
problemi i renditjes në të cilën proceset përzgjidhen nga ky buffer për të filluar përpunimin.
Kjo është një detyrë e planifikimit të tamponit.
Tani le të shqyrtojmë problemin e planifikimit të "shkëmbimit". Përpunues
disa procese janë duke u përpunuar dhe ne jemi përballë detyrës së çlirimit
RAM real për detyra të tjera. Në këtë rast, ekziston
nevoja për të pompuar disa nga detyrat e përpunuara në një të jashtme
Pajisja e memories. Çfarë algoritmi do të përdorim për t'i nxjerrë këto
detyrat? Cila do të jetë strategjia e pompimit? Ju mund të pomponi, për shembull, secilin
një problem madje. Si është pak a shumë fitimprurëse organizimi i procesit të pompimit -
Ky është problem.
E treta është menaxhimi i burimeve të përbashkëta. Ekziston një grup burimesh
qasja në të cilën në momente të caktuara kohore organizohet në emër të
procese të ndryshme. Kjo është e njëjta përplasje me pajisjen e printimit. Nje nga
funksionet, e cila përcakton kryesisht vetitë e OS, ky është një funksion
sigurimin e organizimit të ndërveprimit të proceseve dhe përdorimin e përbashkët
burimet. Problemi nga shembulli me pajisjen e printimit zgjidhet lehtësisht, por
nëse dy programe kanë një pjesë të përbashkët RAM, atëherë kontrolloni
një burim i tillë i përbashkët është një detyrë e frikshme.
Tani le të hedhim një vështrim në dizajnin e OS. Pothuajse çdo OS ka
koncepti thelbësor. Thelbi i OS është zakonisht pjesa e tij rezidente, domethënë ajo
pjesë e OS që nuk merr pjesë në proceset e shkëmbimit (është gjithmonë
i pranishëm në RAM) dhe funksionon në modalitetin OS, ose në
mbikëqyrësi (në të njëjtën mënyrë të specializuar për të cilën folëm
në leksionin e fundit). Bërthama përfshin kontrollet bazë për kryesoren
entitete specifike për një OS të caktuar dhe mund të përfshijnë gjithashtu një grup
programe që ofrojnë kontrollin e disa pajisjeve fizike. V
Funksionet e kernelit përfshijnë trajtimin e ndërprerjeve.
Ne ndonjëherë do t'i referohemi programeve të menaxhimit të burimeve si drejtues.
pajisje (fizike ose logjike). Për shembull, kerneli i OS duhet të përfshijë
Drejtues i kujtesës me akses të rastësishëm.
sistemi informatik. Niveli i parë përbëhet kryesisht nga shoferë
pajisje fizike. Niveli tjetër është menaxhimi i logjikës
atëherë drejtuesit e kontrollit të skedarëve mund të shfaqen në skemën tonë, të cilat, në
janë në fakt të lidhura me drejtuesit logjik të menaxhimit të diskut, dhe ata në
janë nga ana e tyre të lidhur me drejtuesit e pajisjeve fizike reale dhe kështu
Nuk është aspak e nevojshme që të gjithë përbërësit e OS të punojnë në modalitet
mbikëqyrësi ose në modalitetin OS. Shumë nga komponentët që logjikisht
mjaft larg nga kerneli, ato mund të funksionojnë në një përdorues të zakonshëm
modaliteti. Gjithashtu nuk është e nevojshme, të gjithë këta përbërës të OS funksionojnë në një banor
modaliteti. Zakonisht, për shumë funksione kjo nuk kërkohet.
Tani le të kalojmë në një ekzaminim më të detajuar të funksioneve kryesore të OS.
Kontrollimi i përdorimit të kohës së CPU-së.
Në fakt, varet nga cili algoritëm për zgjedhjen e një problemi për t'u transferuar në të
Aktiviteti i CPU-së është zbatuar në OS, shumë reale operacionale
vetitë e këtij OS. Zgjedhja e algoritmit përcaktohet pothuajse tërësisht nga ato
kriteret e performancës që përdoren për të vlerësuar performancën
Puna e OS. Prandaj, ne jemi me ju për të menaxhuar përdorimin e kohës së CPU
konsideroni në sfondin e shqyrtimit të llojeve të OS.
Situata e parë. Unë kam një numër të madh detyrash ose programesh,
që kërkon një sasi të madhe të fuqisë llogaritëse të sistemit. Këto janë detyrat
të cilat quhen probleme të numërimit; ato janë intensive llogaritëse
dhe përdorimi i pakët i pajisjeve të jashtme. Këto detyra duhet të kryhen në
një sistem kompjuterik. Cili do të jetë kriteri i efikasitetit
që sistemi të funksionojë kur kryen këtë grup detyrash? Çfarë grupi
parametrat mund të merren dhe të thuhet: nëse janë të mëdhenj, atëherë është mirë nëse
perkundrazi a eshte keq? Për një situatë të tillë, kriteri i efikasitetit të punës
sistemi kompjuterik është shkalla e përdorimit të CPU. Nëse ai është i vogël
boshe (d.m.th. funksionon në modalitetin e gatishmërisë dhe të gjitha proceset janë të zëna
shkëmbimi, ose OS kërkon kohë), atëherë mund të themi se i tillë
sistemi funksionon në mënyrë efikase. Kjo mund të arrihet duke përdorur
algoritmi përkatës i planifikimit, i cili është si më poshtë.
Ne nisim grupin e detyrave që kemi për përpunim.
Aftësitë e OS (ose maksimale, ose të gjitha detyrat), e cila është e siguruar
modaliteti me shumë programim. Algoritmi për caktimin e kohës së CPU-së në këtë
rasti do të jetë si vijon: nëse CPU i ndahet njërit prej proceseve, atëherë kjo
procesi do të pushtojë CPU-në derisa të ndodhë një nga situatat e mëposhtme:
1. Duke iu referuar një pajisjeje të jashtme.
2. Përfundimi i procesit.
3. Fakti fiks i looping procesit.
Sapo ndodh një nga këto situata, kontrolli transferohet
një proces tjetër. Numri i transferimeve të kontrollit nga një proces në
tjetra minimizohet. Që kur transferohet kontrolli nga një proces
në një OS tjetër, ai duhet të kryejë një sërë veprimesh të caktuara, dhe kjo është një humbje
kohë, atëherë këtu këto humbje minimizohen. Kjo mënyrë funksionimi i OS
i quajtur modaliteti i shpërthimit. Një OS që funksionon në këtë modalitet
quajtur një grup OS.
Tani imagjinoni një situatë ku një numër i konsiderueshëm njerëzish
është në laboratorin e kompjuterave dhe secili prej tyre redakton disa
teksti. Çdo terminal ka kopjen e vet të redaktuesit të tekstit.
Le të shohim se çfarë ndodh me sistemin nëse zbatojmë algoritmin e planifikimit,
të përcaktuara për rastin e parë. Supozoni se një nga përdoruesit është pak
fjeti pas terminalit dhe nuk tregoi asnjë aktivitet. Koha e CPU-së do të jetë
është e lidhur me këtë proces, sepse ky proces nuk kryen një shkëmbim dhe nuk e bën
përfundoi sepse redaktori është gati për të shkuar. Në këtë kohë, të gjitha të mbetura
përdoruesit do të duhet të presin zgjimin e të fjeturit. Do të paloset
situata e ngrirjes. Kjo do të thotë se një algoritëm që është i mirë për të parën
rasti, për këtë sistem nuk është i përshtatshëm as me makinën më të fuqishme.
Prandaj, për detyrat që zgjidhin problemin e sigurimit të një numri të madh të
përdoren përdoruesit e shërbimeve kompjuterike (detyrat ndërvepruese).
algoritme të tjera të bazuara në kritere të ndryshme të performancës.
Për një sistem të tillë, kriteri i kohës së pritjes së përdoruesit është i përshtatshëm:
në momentin që dërgoi urdhër për të kryer ndonjë veprim, deri në momentin
reagimi i sistemit ndaj këtij urdhri. Sa më efikas të funksionojë sistemi, aq më shumë është
koha mesatare e pritjes në sistem është më e vogël.
Le të shqyrtojmë situatën për rastin e dytë. Sistemi përmban disa
numri i proceseve, dhe detyra e planifikuesit është të shpërndajë kohën e CPU-së kështu
në mënyrë që koha e përgjigjes së sistemit ndaj kërkesës së përdoruesit të ishte
minimale, ose të paktën të garantuara. Propozohet si më poshtë
skema. Sistemi përdor disa parametër (t, i cili quhet
sasia e kohës (në përgjithësi, një sasi e kohës është një vlerë,
të cilat mund të ndryshohen gjatë konfigurimit të sistemit). Të gjitha proceset e shumta,
që është në multiprogramim ndahet në dysh
nënbashkësi. Nëngrupi i parë përbëhet nga ato procese që nuk janë ende
gati për të vazhduar ekzekutimin: për shembull, ato procese që janë urdhëruar
shkëmbeni veten dhe prisni rezultatet e saj. Dhe ka procese që janë gati
zbatimi. Puna do të kryhet si më poshtë. Procesi
e cila aktualisht është duke zënë CPU-në do ta zotërojë atë deri në
ndodhja e një prej ngjarjeve të mëposhtme:
1. Trajtimi i një urdhri këmbimi.
2. Përfundimi i procesit.
3. Ezaerimi i kuantumit të alokuar për këtë proces
koha (t.
Kur ndodh një nga këto ngjarje, programuesi i OS zgjedh nga
procese të gatshme për t'u ekzekutuar, disa procese dhe transferojnë burime në të
CPU. Dhe ai e zgjedh këtë proces në varësi të algoritmit
planifikimi që është përdorur në këtë OS të veçantë. Për shembull,
procesi mund të zgjidhet rastësisht. Mënyra e dytë është ajo
ka, si të thuash, një anashkalim të njëpasnjëshëm të proceseve, domethënë ne morëm
punoni fillimisht një nga proceset, pastaj lirohet dhe koha e CPU-së do të jetë
ofrohet në procesin e ardhshëm të gatshëm për ekzekutim.
Kriteri i tretë me të cilin zgjidhet detyra e radhës mund të jetë
koha që procesi i dhënë nuk është shërbyer nga CPU. Në këtë rast, sistemi
mund të zgjedhë procesin me kohën më të gjatë të tillë. Këto algoritme
duhet të implementohen në OS, që do të thotë se ato duhet të jenë të thjeshta, përndryshe
sistemi do të funksionojë në mënyrë joefektive, për vete (megjithëse ka sisteme të tilla:
në veçanti, familja Windows vuan).
Ky lloj OS quhet OS me ndarje kohe. Ajo punon në një modalitet
në të cilën koha e përgjigjes së sistemit ndaj kërkesës së përdoruesit minimizohet. V
në mënyrë ideale, për shkak të faktit se koha e përgjigjes ndaj kërkesës është minimale,
përdoruesit duhet t'i jepet iluzioni se të gjitha burimet e sistemit
i jepet vetëm atij.
Tani le të shohim problemin tjetër. Supozoni se kemi një aeroplan
i kontrolluar nga autopilot, i cili kryen një operacion në autopilot
rënie. Çdo aeroplan ka një pajisje që mat lartësinë nga
avion në sipërfaqen e tokës. Mënyra e funksionimit të avionit është e tillë që kontrolli
funksionet e tij kryhen nga një kompjuter sipas një programi të caktuar.
Pra, nëse kemi një sistem autopilot dhe avioni po zbret, ky është sistemi
duhet të kontrollojë lartësinë e fluturimit. Kompjuteri qendror i këtij avioni
mund të zgjidhë disa probleme: mund të kontrollojë lartësinë e fluturimit,
niveli i karburantit në rezervuarë, disa tregues të performancës së motorit, etj.
Secili prej këtyre funksioneve menaxhohet nga procesi i tij. Supozoni y
ne kemi një sistem sistem operativ grumbull, dhe ne monitorojmë me kujdes nivelin e karburantit në rezervuarë. Në
Kjo, padyshim, krijohet një situatë emergjente, sepse avioni vazhdon
zvogëlohet, por OS nuk e vëren atë.
Le të themi se kemi një sistem të ndarjes së kohës. Një nga cilësitë
sistemi i ndarjes së kohës është joefikas për faktin se në
sistemi siguron një numër të madh kalimesh nga procesi në
proces, dhe ky funksion është mjaft i mundimshëm. E njëjta situatë: lartësia
shkon në zero, dhe OS është i angazhuar në riinstalimin e tabelave të shtëpisë. Të tillë
opsioni gjithashtu nuk është i përshtatshëm.
Për të zgjidhur këtë lloj problemi, ju nevojiten mjetet tuaja të planifikimit. V
Në këtë rast, përdoren të ashtuquajturat sisteme operative në kohë reale, kryesore
kriter i së cilës është koha e përgjigjes së garantuar të sistemit ndaj
ndodhja e një ngjarjeje nga një grup i paracaktuara
ngjarjet. Kjo do të thotë, sistemi ka një grup ngjarjesh për të cilat sistemi në cilindo
situatat do të reagojnë dhe do t'i përpunojnë ato për një kohë të paracaktuar.
Për shembullin tonë, një ngjarje e tillë mund të jetë ardhja e informacionit nga
sensori i lartësisë. Në realitet, ato mjaft të thjeshta përdoren për OS të kësaj klase.
algoritme. I gjithë planifikimi qëndron në këtë kriter, d.m.th.
është e garantuar që ngjarja do të përpunohet në një kohë që nuk i kalon disa
vlera e pragut. Por OS në kohë reale zakonisht ka të vetin
një pajisje specifike, e cila përcaktohet jo vetëm nga kjo e thjeshtë
algoritmi i planifikimit, por edhe riorganizimi i brendshëm i sistemit.
Duke e përmbledhur nën funksionin e kontrollit të përdorimit
Koha e CPU-së dhe planifikimi i CPU-së, ju tërheq vëmendjen në dy fakte. Fakti i parë
kështu janë algoritmet që zbatohen në sistemin e planifikimit
shpërndarja e kohës së CPU-së përcakton kryesisht vetitë operacionale
sistemi informatik. Kam dhënë në mënyrë specifike shembuj, duke sugjeruar
përdorni OS të ndryshëm për qëllime të ndryshme. Fakti i dytë. Ne kemi konsideruar tre
Llojet tipike të OS: sistemet e përpunimit të grupeve, sistemet e ndarjes
sistemet në kohë dhe në kohë reale. Sot mund të flasim për
fakti që sistemi në kohë reale është një klasë e veçantë e OS. E garantuar
Windows OS nuk do të menaxhojë asnjë objekt në të cilin kjo është reale
koha është shumë kritike. Gjithashtu nuk do të menaxhojë objekte të tilla dhe OS
SOLARIS ose LINUX, etj., sepse këto sisteme nuk janë sisteme
kohe reale.
Dy mënyrat e para, shpërthimi dhe ndarja e kohës, mund të imitohen
në sisteme të tilla operative të pranuara përgjithësisht. Me të vërtetë, OS i madh dhe serioz janë
sisteme të përziera, d.m.th. e kanë në elementet e planifikimit të CPU-së
si algoritmet që ju lejojnë të menaxhoni problemet e numërimit, ashtu edhe algoritmet,
duke lejuar menaxhimin e detyrave ndërvepruese ose detyrat e korrigjimit,
të cilat kanë nevojë për pak CPU.
Një shembull i një organizimi të tillë të planifikimit të CPU-së mund të jetë sa vijon
skema. Planifikuesi është ndërtuar mbi një skemë me dy nivele. Ne besojmë se
një grup problemesh mund të përmbajë, për shembull, numërimin e problemeve dhe
detyra interaktive. Niveli i parë përcakton përparësinë ndërmjet të dyjave
klasa detyrash dhe ose i jep CPU-së së pari në detyrën llogaritëse, ose në një interaktive
detyrë. Dhe niveli i dytë përcakton atë për të cilën folëm më parë, d.m.th.
si të zgjidhni një detyrë brenda së njëjtës klasë dhe si ta ndërprisni atë. Të tillë
sistemi i përzier mund të funksionojë si më poshtë. Niveli i parë
planifikimi do të funksionojë sipas parimit të mëposhtëm: nëse për momentin nuk ka
asnjë detyrë e vetme interaktive e gatshme për t'u kryer (dhe kjo është mjaft reale
situata nëse përdoruesit janë duke redaktuar tekst), atëherë CPU
kalohet në detyrat e numërimit, por shtohet një kusht: sa më shpejt
shfaqet të paktën një detyrë ndërvepruese, detyra e numërimit ndërpritet dhe
kontrolli transferohet në bllokun e detyrave ndërvepruese. Kjo është ajo që shqetëson
funksioni i parë i kontrollit të procesit.
Menaxhimi i buferit të shkëmbimit dhe hyrjes.
Këtu algoritmet e planifikimit janë të nevojshme, por jo aq kritike. V
sistemet reale shpesh ndajnë një buffer swap, d.m.th. atë hapësirë
në mediat e jashtme, ku informacioni pompohet nga operacioni
memoria dhe buferi hyrës i proceseve. Ky është vëzhgimi i parë.
Vërejtje e dytë. Sistemet operative moderne janë mjaft "dembel" dhe pompojnë
shpesh kryhen jo në njësi të blloqeve të kujtesës së procesit, por pompohen
i gjithë procesi. Kjo ngre dy pyetje: cili është kriteri i zëvendësimit
procesi dhe cili është kriteri për të zgjedhur nga buferi i procesit që ne
duhet të futet për multiprogramim. Opsioni më i thjeshtë
është përdorimi i kohës së kaluar në një gjendje të caktuar. V
rasti i parë, nëse vendosim çështjen e pompimit të procesit nga aktivi
gjendjet nga numri i përpunuar në zonën e shkëmbimit, atëherë mund ta marrim atë
procesi që është në gjendje përpunimi për kohën më të gjatë
koha astronomike. Procesi i kundërt mund të jetë simetrik, d.m.th. ne
ne mund të marrim nga buferi hyrës i proceseve procesin që është atje më i gjatë
e vendosur. Në fakt, këto janë algoritme të thjeshta dhe reale të planifikimit, dhe
ato mund të modifikohen sipas kritereve të ndryshme. Nje nga
kriteret, nëse të gjitha detyrat ndahen në kategori të ndryshme, domethënë munden
të jenë detyra të OS - në këtë rast, ato konsiderohen para së gjithash (dhe
mes tyre ekziston një algoritëm për vlerësimin e kohës së kaluar atje) dhe kjo është e gjitha
detyra të tjera. Ky model është i ngjashëm me modelin e padrejtësisë në jetë.
në një shoqëri ku ka njerëz të gjithëfuqishëm të cilëve u lejohet gjithçka, por ka
njerëz që mund të presin.
Menaxhimi i burimeve të përbashkëta.
Këtu do të përcaktojmë vetëm problemin, sepse zgjidhjet e tij specifike
do të shikojmë shembullin e UNIX OS.
Supozoni se ka dy procese që ndajnë një të përbashkët
Hapësira RAM. Në këtë rast, burimet e përbashkëta mund
punojnë në mënyra të ndryshme, d.m.th. nuk përjashtohet situata kur dy procese
në fakt janë të vendosura në makina të ndryshme, por ato janë të lidhura nga një fushë e përbashkët operative
memorie. Në këtë rast, ka një problem me buferimin e punës me kujtesën,
sepse secila prej makinerive ka mekanizmat e saj të leximit të tamponimit -
rekorde. Këtu lind një situatë e keqe kur gjendja fizike
kujtesa nuk korrespondon me përmbajtjen e saj reale. Dhe gjithashtu ka
disa probleme për një OS që funksionon në dy makina.
Problemi i radhës. Le të ketë dy procese që funksionojnë
një makinë. Duhet të ketë mjete të caktuara që do të lejojnë
sinkronizoni aksesin në kujtesën e përbashkët, domethënë, ju lejon të krijoni
kushtet në të cilat shkëmbimi i secilit prej proceseve në zhvillim me operacional
kujtesa do të shfaqet si duhet. Kjo do të thotë që çdo herë që lexoni
informacioni nga memoria e përbashkët duhet të garantohet që të gjitha
përdoruesit që filluan të shkruajnë diçka në këtë memorie, ky proces është tashmë
përfunduar - duhet të ketë sinkronizim në shkëmbim me memorie të përbashkët.
Në realitet, zgjidhja e problemeve shpesh nuk e kërkon këtë
burimet e përbashkëta, si kujtesa e përbashkët, por unë do të doja që proceset të bëjnë
të cilat funksionojnë në të njëjtën kohë, mund të kenë njëfarë ndikimi në secilën prej tyre
mbi një mik. Efekti është i ngjashëm me atë të ndërprerjeve. Për ta zbatuar këtë në
shumë sisteme operative kanë mjete për transmetimin e sinjaleve ndërmjet proceseve, atëherë
ka disa emulim softuerësh të ndërprerjeve. Një proces thotë -
kaloni sinjalin në një proces tjetër. Një ndërprerje ndodh në një proces tjetër
ekzekutimi i këtij procesi dhe transferimi i kontrollit te disa
një funksion i paracaktuar që duhet të trajtojë sinjalin e marrë. Kjo
funksioni i tretë i OS.
Unë tërhoqa vëmendjen tuaj për funksione të tilla të OS që ndikojnë në të
vetitë operacionale. Në realitet, çdo OS përmban gjithashtu një grup të madh
funksione të tjera që e bëjnë këtë sistem të funksionojë.
Leksioni numër 6
Në leksionin e fundit, folëm për faktin se pothuajse çdo
sistemi operativ ofron buffering I/O. Në fakt,
është një nga funksionet kryesore të sistemit operativ. Ngjashëm me luftën kundër
shpejtësi të ndryshme të aksesit në komponentë të ndryshëm të sistemit kompjuterik
sistemi operativ prezanton buferimin e softuerit brenda kufijve të tij,
i cili gjithashtu zgjidh çështjet dhe problemet e zbutjes së kohës së aksesit
sinkronizimi në përgjithësi (shembull me një pajisje printimi). Zbutja e problemeve
qasja është se pothuajse çdo sistem operativ
ka bufera të memories që grumbullojnë akses në ruajtjen e jashtme
pajisja (VCU) është e ngjashme me bufferimin e harduerit kur punoni me funksionalitet
memorie. Kjo lejon një optimizim të konsiderueshëm të sistemit operativ.
Një tregues i pranisë së një bufferimi të tillë është një kërkesë për të ndaluar
drejtimin e sistemit operativ përpara se të fikni pajisjen. Për shembull, duke punuar
me sistemin operativ MS-DOS, mund ta fikni kompjuterin tuaj në çdo kohë
kohë, sepse nuk ka një tampon të tillë në të. Në sistemet operative
si Windows dhe UNIX, konsiderohet e gabuar thjesht të fikni makinën kur
sistemi i punës, në këtë rast ekziston mundësia që
disa humbje informacioni (që, për shembull, momentet e porositjes për një shkëmbim dhe
shkëmbimi i drejtpërdrejtë nuk është i njëjtë). Shkalla e këtij buferimi
përcakton efikasitetin real të sistemit. Kur filloi fakulteti ynë
u shfaq Pentiums, u zbulua se kur punoni me Windows 95
praktikisht nuk ka asnjë ndryshim cilësor nëse sistemi funksionon
procesor 486 ose Pentium. Kjo sugjeron atë efikasitet
sistemi nuk mbështetet në efikasitetin e punës me një pajisje të jashtme. Nëse
merrni sistemin operativ UNIX, atëherë ky ndryshim do të jetë i dukshëm, pasi
këtu shpejtësia e procesorit ka një efekt më të fortë në cilësinë e sistemit,
në vend të Windows 95, sepse Windows 95 shkëmbehet me
media e jashtme është shumë më tepër për shkak të disa "marrëzive" të algoritmeve
puna e buferimit me pajisje të jashtme.
2. Sistemi i skedarëve.
Thamë se secili prej sistemeve operative funksionon
disa entitete, njëra prej të cilave është një proces. Ka një të dytë
një ent që është gjithashtu i rëndësishëm është koncepti i një skedari. Sistemi i skedarëve është
një komponent i sistemit operativ që siguron organizimin e krijimit,
ruajtja dhe aksesi në grupet e të dhënave të emërtuara. Këto grupe të emërtuara
të dhënat quhen skedarë.
Karakteristikat themelore të skedarit
1. Një skedar është një objekt që ka një emër dhe ju lejon të veproni me të
një sekuencë e disa karaktereve, gjatësia e të cilave varet nga specifika
sistemi operativ.
2. Pavarësia e skedarit nga vendndodhja. Për të punuar me një skedar specifik
nuk kërkohet të kesh informacion për vendndodhjen e këtij skedari në pjesën e jashtme
pajisje.
3. Një grup funksionesh I/O. Pothuajse çdo sistem operativ
përcakton në mënyrë të paqartë grupin e funksioneve që mundëson shkëmbimin me skedarin. Zakonisht,
ky grup funksionesh përbëhet nga pyetjet e mëposhtme:
1. Hapni skedarin për punë. Ju mund të hapni një ekzistues,
ose një skedar të ri. Mund të lindë pyetja - pse hapni skedarin?
është një mjet për të deklaruar në mënyrë qendrore
sistemi operativ me të cilin skedari do të punojë një specifik
procesi. Dhe ajo tashmë nga ky informacion mund të marrë disa
zgjidhje (për shembull, bllokimi i aksesit në këtë skedar për të tjerët
proceset).
2. Lexo/Shkruaj. Zakonisht, shkëmbimi i skedarëve mund të organizohet
disa blloqe të dhënash. Blloku i të dhënave me të cilin ndodh
shkëmbimi mbart një thelb të dyfishtë. Nga njëra anë, për çdo
sistemi informatik njeh madhësitë e blloqeve të të dhënave, të cilat
më efektive për shkëmbim, domethënë është softuer
dimensionet e harduerit. Nga ana tjetër, këto të dhëna bllokojnë kur
shkëmbimi real mund të ndryshojë mjaft arbitrarisht
programues. Funksionet e leximit/shkrimit zakonisht përfshijnë madhësinë
blloku i të dhënave që do të shkëmbehet dhe numri i blloqeve të të dhënave që
duhet lexuar ose shkruar. Nga madhësia e bllokut të zgjedhur
të dhënat mund të varen nga efikasiteti i shkëmbimeve reale, sepse
të cilat, supozojmë për një makinë me madhësi efektive
Blloku i të dhënave është 256 Kb, dhe ju dëshironi të kryeni shkëmbime nga
128 Kb, dhe ju bëni dy goditje për të lexuar tuajin
blloqe logjike prej 128 Kb. Ka shumë të ngjarë që në vend të
për të lexuar një bllok 256 Kb në një shkëmbim, ju aplikoni dy
herë në një bllok dhe lexoni së pari gjysmën, dhe më pas
një tjetër. Këtu ka elementë joefikasiteti, megjithëse mund të jenë
të zbutet nga sistemi operativ "i zgjuar", dhe nëse nuk e bën
zbutet, atëherë është faji juaj.
3. Menaxhimi i treguesit të skedarit. Me pothuajse çdo të hapur
një skedar lidh konceptin e një treguesi skedari. Ky tregues,
në analogji me regjistrin e numëruesit komandues, në çdo moment të kohës
tregon adresën e ardhshme relative në dosje me të cilën
mund te nderrohet. Pas shkëmbimit me këtë bllok, treguesi
bartet në pozicion përmes bllokut. Për të organizuar punën me
skedari duhet të jetë në gjendje të manipulojë këtë tregues. ka
një funksion i menaxhimit të treguesit të skedarit që lejon
në mënyrë arbitrare (brenda disponueshmërisë) lëvizni treguesin përgjatë
dosje. Një tregues është një variabël i aksesueshëm për programin,
i cili shoqërohet me funksionin e hapur të skedarit (i cili e krijon këtë
variabël).
4. Mbyllja e skedarit. Ky operacion mund të kryhet në dy
përmbajtjen e skedarit. 2) Shkatërroni skedarin.
Pas mbylljes së skedarit, të gjitha komunikimet me të ndërpriten dhe ai vjen
në një gjendje kanonike.
4. Mbrojtja e të dhënave. Shumë vendime strategjike përsëriten si në
niveli i harduerit dhe në nivelin e sistemit operativ. Nëse kujtojmë
modaliteti me shumë programe, atëherë një nga kushtet e nevojshme për ekzistencën e tij
është të sigurojë mbrojtje (memorie dhe të dhëna). Nëse kemi parasysh dosjen
sistemi, atëherë është i njëjtë me sistemin operativ, mund të jetë
përdorues i vetëm. Në këtë rast, nuk ka asnjë problem për mbrojtjen e të dhënave,
sepse personi që drejton këtë sistem operativ është
mjeshtër i të gjithë skedarëve. Shembuj të sistemeve me përdorues të vetëm janë MS-DOS ose
Windows 95. Mund të nisni makinën dhe të shkatërroni të gjithë skedarët e të tjerëve
përdoruesit që ndodhen në disk, sepse në këto sisteme
nuk ka mbrojtje. Sistemi me shumë përdorues siguron korrektësi
puna e shumë përdoruesve. MS-DOS gjithashtu mund të ekzekutohet
multiprogramimi, por nuk është mjaft i saktë, sepse gabimi në
një proces mund të mbishkruajë sistemin operativ dhe fqinjin
procesi. Gjithashtu, në sistemin operativ Windows 95, shumë
përdoruesit, por kjo punë është e pasaktë, sepse kjo funksionon
sistemi nuk ofron të gjitha të drejtat e mbrojtjes. Pra multiplayer
sistemi duhet të sigurojë mbrojtjen e informacionit nga të paautorizuarat
akses. Në fakt, problemi i mbrojtjes nuk lidhet vetëm me dosjen
sistemi. Në realitet, sistemi operativ siguron mbrojtjen e të dhënave në të gjitha
zonat: këto janë skedarë, procese dhe burime që u përkasin proceseve,
lançuar si një përdorues. Këtu ju tërheq vëmendjen
ky fakt sepse për dosjet kjo është pika më kritike.
Karakteristikat themelore të sistemeve të skedarëve.
Sistemi i skedarëve përfshin natyrshëm të gjitha ato veti që
janë listuar për skedarë, por shton disa të tjera. Këto veti
lidhur me organizimin strukturor të sistemit të skedarëve.
Le të hedhim një vështrim në një hapësirë OVC dhe të shohim se si ne
ne mund të organizojmë vendosjen e skedarëve brenda kësaj hapësire.
1. Organizimi në një nivel i skedarëve në segmente të afërta. Afati
"Single-level" do të thotë që sistemi ofron punë me skedarë
emërtuar në mënyrë unike. Në hapësirën e OVC-së, disa
një zonë për ruajtjen e të dhënave të quajtur drejtori. Drejtoria ka
strukturën e mëposhtme:
| emri | blloku i fillimit | blloku i përfundimit |
"Blloku i fillimit" i referohet disa adresave relative
Hapësira OVC nga e cila fillon skedari me emrin e dhënë. "E fundme
blloku "përcakton bllokun e fundit të skedarit të dhënë. Funksioni i hapjes së skedarit
reduktohet në gjetjen e emrit të skedarit në drejtori dhe përcaktimin e fillimit të tij dhe
fund (në realitet, të dhënat mund të zënë pak më pak hapësirë, kjo do të jetë
thënë më vonë). Ky veprim është shumë i thjeshtë, përveç kësaj drejtoria mund të ruhet
në kujtesën e sistemit operativ, dhe në këtë mënyrë zvogëloni numrin e shkëmbimeve.
Nëse krijohet një skedar i ri, ai shkruhet në hapësirën e lirë.
Ngjashëm me drejtorinë e emrave, mund të ketë një tabelë me hapësira të lira
(fragmente).
Leximi/shkrimi ndodh pothuajse pa shkëmbime shtesë, që kur
duke hapur marrim gamën e vendosjes së të dhënave. Leximi zhvillohet në
sipas kësaj strukture blloku dhe asnjë informacion shtesë
nuk kërkohet, kështu që shkëmbimi është shumë i shpejtë.
Çfarë do të ndodhë kur duhet të shkruani një shtesë
informacion, por nuk ka hapësirë të lirë pas këtij skedari? Në këtë rast
sistemi mund të bëjë dy gjëra. Së pari, ajo do të thotë se nuk ka vend dhe ju
duhet të bëjnë diçka vetë, për shembull, të fillojnë një proces që
do ta zhvendosë këtë skedar në një vend tjetër dhe do të shtojë informacionin që dëshironi. Kjo
transferimi është një funksion mjaft i shtrenjtë. Mundësia e dytë është në këmbim
do të refuzohet. Kjo do të thotë që kur hapni skedarin, ishte e nevojshme paraprakisht
rezervoni një vend shtesë; ndërsa sistemi i skedarëve kontrollon
madhësia e tamponit të lirë, dhe nëse është e vogël, atëherë kërkon hapësirë të lirë ku
ky skedar do të gjendet.
Pra, shohim se ky organizim është i thjeshtë, efektiv në shkëmbime, por
nëse nuk ka hapësirë të mjaftueshme për skedarin, fillon joefikasiteti. Për atë
megjithatë, gjatë funksionimit afatgjatë të një sistemi të tillë skedarësh në disk, ndodh që
e njëjta gjë që ndodhi me RAM - fragmentimi. Kjo eshte
një situatë kur ka fragmente të lira, por mes tyre nuk ka njeri ku
mund të vendosë skedarin. Luftimi i fragmentimit për një organizatë të tillë
sistemi i skedarëve - ky është kompresim periodik, kur një kohë e gjatë,
një proces i rëndë dhe i rrezikshëm për përmbajtjen e sistemit të skedarëve, i cili
i shtyp të gjithë skedarët fort me njëri-tjetrin.
Një organizatë e tillë mund të jetë e përshtatshme për një përdorues të vetëm
sistemi i skedarëve, sepse me një numër të madh përdoruesish, shumë
fragmentimi do të ndodhë shpejt, dhe fillimi i vazhdueshëm i ngjeshjes është vdekje për të
sistemeve. Nga ana tjetër, sistemi është i thjeshtë dhe nuk kërkon pothuajse asnjë
shpenzimet e përgjithshme.
2. Sistemi i skedarëve me organizim të skedarëve bllok. Hapësira OVC
të ndarë në blloqe (të njëjtat blloqe që janë efikase për shkëmbim). V
në një sistem skedari të këtij lloji, shpërndarja e informacionit është e ngjashme
shpërndarja e informacionit të procesit në RAM me faqe
organizimi. Në përgjithësi, një grup numrash shoqërohet me çdo emër skedari.
blloqe pajisjesh që përmbajnë të dhënat e këtij skedari. Për më tepër, numrat
këto blloqe janë në një rend arbitrar, domethënë, blloqet mund të shpërndahen
në të gjithë pajisjen pa ndonjë renditje të veçantë. Me një organizim të tillë, nuk ka
fragmentimi, megjithëse mund të ketë humbje të shumëfishta të një blloku (nëse skedari mori të paktën
një bajt në një bllok, atëherë i gjithë blloku konsiderohet të jetë i zënë). Prandaj jo
problemet e kompresimit dhe ky sistem mund të përdoret kur
organizatë me shumë përdorues.
Në këtë rast, një grup atributesh shoqërohet me çdo skedar: emri i skedarit, emri
përdoruesi nga i cili aksesohet skedari. Një organizim i tillë
ju lejon të largoheni nga veçantia e emrave, e cila kërkohej në të kaluarën
rast. Në një sistem të tillë, unike e emrave kërkohet vetëm midis skedarëve.
një përdorues.
Organizimi i skedarëve të tillë mund të bëhet përmes një drejtorie. Struktura e drejtorisë
ndoshta tjetra. Drejtoria përmban vargje; çdo rresht i-të
korrespondon me bllokun e i-të të sistemit të skedarëve. Kjo linjë përmban
informacion nëse ky bllok është i lirë apo i zënë. Nëse ai
i zënë, atëherë kjo rresht përmban emrin e skedarit (ose një lidhje me të), emrin
përdorues dhe mund të ketë disa informacione shtesë.
Gjatë shkëmbimit, sistemi mund të veprojë në mënyra të ndryshme. Ose gjatë hapjes
skedari, sistemi kalon nëpër të gjithë drejtorinë dhe ndërton një tabelë korrespondence
blloqet logjike të skedarit, vendosja e tyre në disk. Ose me çdo shkëmbim
kryhen kërkimet për këtë ndeshje.
Ky organizim i sistemit të skedarëve është brenda një niveli të vetëm
një përdorues, domethënë, të gjithë skedarët janë të lidhur në grupe duke u përkasin
disa përdorues.
3. Sistemi i skedarëve hierarkik. Të gjithë skedarët në sistemin e skedarëve
ndërtuar në një strukturë të quajtur pemë. Në rrënjët e pemës
gjendet e ashtuquajtura rrënja e sistemit të skedarëve. Nëse nyja e pemës
është një fletë, atëherë ky është një skedar që mund të përmbajë të dhënat e përdoruesit,
ose të jetë një skedar drejtorie. Nyjet e një peme përveç gjethes janë
skedarë-drejtori. Emërtimi në një sistem skedari të tillë hierarkik mund
ndodhin në mënyra të ndryshme. Lloji i parë është emërtimi relativisht i skedarëve
direktoriumi më i afërt, pra nëse shikojmë skedarët që janë
më afër direktorisë F0 është skedari F1, i cili gjithashtu është
drejtoria dhe skedari F2. Për emërtimin e suksesshëm në një sistem të tillë në një
emrat e nivelit nuk mund të përsëriten. Nga ana tjetër, që nga të gjitha dosjet
lidhur me një pemë, mund të flasim për të ashtuquajturin emër të plotë
skedar, i cili përbëhet nga të gjithë emrat e skedarëve që përbëjnë shtegun nga
rrënja e sistemit të skedarëve në një skedar specifik. Emri i plotë i skedarit F3 do të jetë
shënohet kështu: / F0 / F1 / F3. E mira e një organizate të tillë është se ajo
ju lejon të punoni me një emër të shkurtër skedari (nëse sistemi
supozohet se jemi duke punuar në këtë direktori), dhe me emrin e plotë
dosje. Emrat e plotë të skedarëve janë shtigje, dhe në çdo pemë nga rrënja e saj deri në
e çdo nyje ka vetëm një mënyrë, prandaj, kjo zgjidh
problemi i unifikimit të emrave. Herën e parë që kjo qasje u përdor në
sistemi operativ Multix, i cili u zhvillua në Universitetin e Berkeley
në fund të viteve '60. Kjo zgjidhje e bukur filloi të shfaqej më vonë
shumë sisteme operative. Sipas kësaj hierarkie, secila prej dosjeve
ju mund të lidhni disa atribute që lidhen me të drejtat e aksesit. Të drejtat
të dy skedarët e përdoruesve dhe drejtoritë mund të kenë akses.
Struktura e këtij sistemi është e mirë për organizimin e punës me shumë përdorues,
për shkak të mungesës së një problemi emërtimi, dhe një sistem i tillë mundet shumë mirë
Ndërto.
4. Personalizimi dhe mbrojtja e të dhënave në sistemin operativ. Kjo nuancë,
të cilat do t'i shikojmë tani, të thjeshta dhe komplekse. E thjeshtë - sepse ne
le të themi fjalë për fjalë disa fraza për të, por të vështira, sepse ka
probleme për të cilat mund të flitet për një kohë të gjatë.
Personifikimi është aftësia e sistemit operativ për të identifikuar
përdorues specifik dhe, në përputhje me këtë, pranoni disa
veprime, veçanërisht për mbrojtjen e të dhënave.
Nëse shikojmë sistemin tonë operativ MS-DOS të preferuar,
atëherë nuk kishte asnjë koncept të një përdoruesi me të gjitha pasojat pasuese -
është një përdorues.
Niveli i dytë i sistemeve operative janë sistemet operative që
lejojnë përdoruesit të regjistrohen, por të gjithë përdoruesit prezantohen
në formën e një grupi të vetëm të disa lëndëve dhe nuk lidhen në asnjë mënyrë me njëra-tjetrën.
Shembuj të sistemeve të tilla operative janë disa sisteme operative.
Sistemet IBM për kompjuterët mainframe. Për shembull, pedagogu nuk e di se kush
nga dëgjuesit e tij se cilit grup i përket, por të gjithë të ulur para tij,
përdoruesit e kursit të tij. Kjo është edhe e mirë edhe e keqe. Për sa i përket dëgjimit
kursi i leksioneve është i mirë, por që ky ligjërues të kryejë një lloj sondazhi
kjo është e keqe, sepse brenda një dite ai nuk do të ketë kohë të intervistojë të gjithë. Ai ka nevojë
do t'i ndajë disi të gjithë dëgjuesit, por si - nuk dihet.
Prandaj, me një personifikimi të tillë njëdimensional, të gjitha
ato funksione për të cilat folëm (në veçanti, mbrojtja), por të tilla
organizimi i përdoruesve nuk nënkupton formimin e grupeve të përdoruesve.
Dhe është e përshtatshme për mua që, për shembull, në serverin tonë të fakultetit, im
laboratori ishte ndarë, dhe brenda këtij laboratori do të ishte e mundur
i jepni njëri-tjetrit lejet e skedarëve, etj.
Prandaj, i ngjashëm me sistemin e skedarëve, një hierarkik
organizimi i përdoruesve. Kjo do të thotë, ne kemi konceptin e "të gjithë përdoruesve"
dhe koncepti i "grupit të përdoruesve". Ka përdorues të vërtetë në grup.
Një organizim i tillë hierarkik i personifikimit përfshin sa vijon
momente. Kur regjistroni një përdorues, së pari duhet
lidheni atë me një grup - mund të jetë një laborator, departament ose
grup studimi. Meqenëse përdoruesit janë të kombinuar në grupe, duket
aftësia për të ndarë të drejtat e aksesit në burimet e përdoruesit. Kjo eshte
përdoruesi mund, për shembull, të deklarojë se të gjitha burimet e tij janë të disponueshme për të
të gjithë përdoruesit e grupit. Një skemë e tillë mund të jetë me shumë nivele (grupe
të ndarë në nëngrupe etj.) me një shpërndarje të përshtatshme të të drejtave dhe
mundësitë. Tani ka sisteme operative në të cilat të drejtat
aksesi mund të përcaktohet jo vetëm nga një strukturë e tillë hierarkike, por edhe
mund të jetë më komplekse, d.m.th të drejtat e aksesit mund të shtohen duke e shkelur këtë
hierarkia.
Leksioni numër 7
3. Sistemi operativ UNIX.
Ne kalojmë në mësimin e sistemit operativ UNIX, si shumë
vendimet që merren në sistemet operative, ne do t'i bëjmë
merrni parasysh shembullin e këtij sistemi operativ.
Në mesin e viteve '60, AT & T's Bell Laboratories kryen
kërkimin dhe zhvillimin e një prej sistemeve të para operative në moderne
kuptimi i tij është sistemi operativ Multix. Ky sistem operativ
kishte vetitë e një sistemi operativ të ndarjes së kohës,
sistem me shumë përdorues, dhe gjithashtu në këtë sistem u propozuan
Vendimet kryesore për organizimin e sistemeve të skedarëve, në veçanti, ishin
propozohet një sistem skedari i ngjashëm me pemën hierarkike. Nga ky zhvillim
pas një kohe sistemi operativ UNIX filloi. Nje nga
historia e zhvillimit të këtij sistemi sugjeron se kompania kishte të panevojshme
një kompjuter PDP-7 me softuer shumë pak të zhvilluar dhe të kërkuar
një makinë që do të mundësonte organizimin e një pune të rehatshme për përdoruesit,
në veçanti përpunimi i informacionit tekstual. Një grup i famshëm njerëzish është
Ken Thompson dhe Dennis Ritchie filluan të projektonin një sallë të re operacioni
sistemeve. Një version tjetër i kësaj historie thotë se ata dyshohet se ishin të fejuar
zbatimin e disa lojërave dhe mjetet që ishin në dispozicion të tyre,
doli të ishte i papërshtatshëm - atëherë ata vendosën të luanin me këtë makinë. Si rezultat
u shfaq sistemi operativ UNIX.
Një tipar i këtij sistemi ishte se ishte i pari sistematik
një program që është shkruar duke përdorur një gjuhë të ndryshme nga
gjuha e makinerisë (assembler). Me qëllim të shkrimit të këtij sistemi
software, në veçanti sistemin operativ UNIX, gjithashtu
u krye një punë që filloi me gjuhën BCPL. Prej saj u formua
gjuha B, e cila vepronte me fjalë makinerike. Abstragim i mëtejshëm i makinës
fjalët - BN, dhe në fund gjuha C. Që nga viti 1983, sistemi operativ UNIX (i tij
versioni origjinal) u rishkrua në gjuhën C, dhe doli që rreth
90% e sistemit operativ ishte shkruar në gjuhë të nivelit të lartë, jo
në varësi të arkitekturës së makinës, dhe 10% e këtij sistemi ishte shkruar në
montues. Dhjetë përqindja përfshin kohën më kritike
pjesë të sistemit operativ.
Pra, rezultati i parë i rëndësishëm dhe revolucionar ishte përdorimi i
gjuhë të nivelit të lartë. Ky fakt shkaktoi diskutime, sepse askush
besonte se kjo mund të ishte afatgjatë, sepse gjithmonë gjuha e lartë
niveli u shoqërua me joefikasitet të madh. Gjuha C ishte
projektuar në mënyrë të tillë që të lejonte, nga njëra anë, të shkruante
programe mjaft efektive, nga ana tjetër, e transmetojnë atë në
kod efikas.
Vetia e parë e gjuhës C që e bëri atë më efikase është
duke punuar me tregues. Vetia e dytë është ajo për
Në programimin në gjuhën e asamblesë, ne shpesh përdorim efekte anësore.
Për shembull, efekti kur rezultati i vlerësimit të disa shprehjeve është
jo vetëm vlera e regjistruar, por edhe disa vlera të ndërmjetme,
të cilat mund t'i shkruani në lëvizje për përdorim të mëvonshëm. Këto
mundësitë u bënë të disponueshme në gjuhën C, sepse koncepti i një shprehjeje në
gjuha C është shumë më e gjerë se në ato gjuhë që ishin në dispozicion në atë kohë
koha. Në veçanti, operacioni i caktimit u shfaq në vend të operatorit
detyrë, e cila lejoi programimin e efekteve anësore. Këto
vetitë dhe përcaktoi "vitalitetin" e gjuhës, përshtatshmërinë për programim
komponentët e sistemit dhe aftësia për të përkthyer në mënyrë optimale kodin e ndryshme
Nga pikëpamja profesionale (kanonike), C është e tmerrshme
gjuhe. Kërkesa kryesore për gjuhët
programimi, është për të garantuar sigurinë e programimit.
Mjetet gjuhësore duhet të minimizojnë gjasat e futjes së gabimeve në
program, dhe sigurisht një nga mjetet e tilla të gjuhëve moderne është
sa vijon: shtypur fort (d.m.th. nuk mund të shtoni, për shembull
një ndryshore numër i plotë me një real, pa konvertim përpara këtij lloji
njëri prej tyre në llojin e tjetrit). Gjuha C ka aftësinë për të konvertuar
llojet sipas parazgjedhjes. Një tjetër gjë kriminale është sigurimi i kontrollit
qasja në kujtesën e programit (d.m.th. nëse qeliza e memories përmban
është një numër real, atëherë nuk mund ta interpretojmë në asnjë mënyrë tjetër).
Mundësia e përdorimit të pakontrolluar të këtyre vlerave sigurohet nga
tregues. Për më tepër, përmes një treguesi, ju mund të "mashtroni" funksionet në
pajtueshmëria dhe mospërputhja e parametrave aktualë me parametrat formalë
etj. Vetia e tretë është kontrolli mbi ndërveprimin e moduleve. Shumë
gabimet shfaqen nëse një grup i
parametrat formal, dhe thirrja në të ndodh në një grup të ndryshëm
(dhe ndryshimet mund të jenë si në numrin e parametrave ashtu edhe në lloje). V
gjuha C gjithmonë mund të mashtrojë programin - në vend të një parametri zyrtar
të një lloji, jepni një parametër të një lloji tjetër dhe në vend të dhjetë parametrave, kaloni
një. Kjo çon në gabime.
Këtu janë tre pozicione në të cilat gjuha C nuk i plotëson kërkesat.
sigurinë. Megjithatë, përvoja tregon se më këmbëngulësit janë
gjuhë të këqija (nga ky këndvështrim).
Pra, viti 1973 është viti i shfaqjes së sallës së operacionit të shkruar në gjuhën C
Sistemet UNIX. Cilat janë veçoritë kryesore të këtij sistemi? Së pari
prona është koncepti i skedarëve. Objekti kryesor që vepron
sistemi operativ është një skedar. Skedari nga një këndvështrim operativ
Sistemet UNIX janë një pajisje e jashtme. Një skedar është një direktori që
përmban informacion në lidhje me skedarët që përmban. Dhe kështu me radhë, me radhë
të cilat mund të funksionojnë.
Vetia e dytë është struktura e veçantë e sistemit operativ. Ndryshe nga
nga sistemet operative të mëparshme, në të cilat secila komandë ishte "e lidhur"
brenda sistemit operativ, d.m.th. nuk mund të modifikohej në asnjë mënyrë,
në UNIX, problemet e komandës trajtohen në mënyrë shumë elegante. Së pari, UNIX
deklaron një ndërfaqe standarde për kalimin e parametrave nga jashtë në brendësi
procesi. Së dyti, të gjitha komandat zbatohen si skedarë. Do te thote,
që lirisht mund të shtoni komanda të reja në sistem, si dhe të hiqni dhe
modifikoni ato. Domethënë, sistemi UNIX është i hapur dhe mund të zhvillohet lehtësisht.
Le të fillojmë të shikojmë veçoritë specifike të sistemit operativ.
Sistemi i skedarëve. Organizimi i dosjeve. Puna me skedarë.
Sistemi i skedarëve UNIX është një hierarkik me shumë përdorues
sistemi i skedarëve. Ne e vizatuam strukturën e saj në leksionin e fundit. Ajo
e përfaqësuar nga një pemë, rrënja e së cilës është e ashtuquajtura rrënja
katalogu. Nyjet përveç gjetheve të pemës janë drejtori. Gjethe
mund të jenë ose skedarë (në kuptimin tradicional) ose drejtori boshe.
Sistemi përcakton konceptin e emrit të skedarit - ky është emri me të cilin shoqërohet
një grup të dhënash brenda drejtorisë së cilës i përket ky skedar. Përveç kësaj
Për më tepër, ekziston koncepti i një emri të plotë - kjo është një rrugë unike nga rrënja e skedarit
sistemet në një skedar specifik. Lejohet të përputhet me emrat e skedarëve të vendosur
në drejtori të ndryshme.
Në fakt, sistemi i skedarëve nuk është plotësisht i ngjashëm me pemën. ka
mundësia e thyerjes së hierarkisë me anë të asociimit
emra të shumtë (emrat e plotë) me të njëjtën përmbajtje të skedarit janë, pra
hierarkike dhe si pemë.
Sistemi operativ UNIX përdor një hierarki me tre nivele
përdoruesit (të gjithë përdoruesit janë të ndarë në grupe), struktura e të cilave në
rasti i përgjithshëm është shqyrtuar në ligjëratën e mëparshme. Në këtë drejtim, secili
një skedar i sistemit të skedarëve ka dy atribute. Atributi i parë është, pra
thirri, pronari i dosjes. Ky atribut lidhet me një specifikë
përdoruesi që zotëron skedarin. Pronari i skedarit mund
bëhet i paracaktuar nëse krijoni këtë skedar, dhe ekziston gjithashtu një komandë që
ju lejon të ndryshoni pronarin e një skedari. Atributi i dytë është atributi i lidhur me
Mbrojtja e hyrjes në skedar (më shumë për këtë më vonë).
Qasja në çdo skedar është e rregulluar në tre kategori. E para
me siguri mund të bëjë çfarë të dojë me këtë skedar. Kategoria e dytë është
të drejtat e grupit të cilit i përket pronari i dosjes (përveç të drejtave
duke përjashtuar grupin përkatës. Në këto tre kategori
tre veprime janë të rregulluara - leximi nga një skedar, shkrimi në një skedar dhe ekzekutimi
dosje. Çdo skedar përcakton nëse një përdorues i një kategorie të caktuar mundet
procesi.
Puna me skedarë
Konsideroni strukturën e sistemit të skedarëve në një disk. Për çdo
Sistemi informatik, është përcaktuar koncepti i ruajtjes së jashtme të sistemit
pajisje (SVZU). SVZU është një pajisje që aksesohet nga
ngarkuesin e harduerit të makinës për të nisur sistemin operativ. gati
çdo kompjuter ka një gamë të hapësirës së adresave të memories,
e vendosur në të ashtuquajturën memorie vetëm për lexim (ROM). V
ROM përmban një program të vogël (hardware bootloader) që, kur
ndezja ose rindezja e vështirë e makinës, i referohet fiks
bllokoni SVZU, e vendos atë në RAM dhe transferon kontrollin tek
adresa fikse që i përket të dhënave të lexuara. Besohet se kjo
blloku i të dhënave që është lexuar është i ashtuquajturi ngarkues i softuerit.
Duhet të theksohet se ngarkuesi i harduerit është i pavarur nga sistemi operativ.
sistemi, dhe ngarkuesi i ngarkimit është një komponent i sistemit operativ.
Ai tashmë e di se ku ndodhen të dhënat e nevojshme për të nisur sallën e operacionit.
Në çdo sistem, pranohet të ndahet hapësira e marrjes së ajrit në disa
zonat e të dhënave të quajtura blloqe. Madhësia logjike e bllokut
është një atribut fiks i sistemit operativ. Në sallën e operacionit
në sistemet UNIX, madhësia e bllokut përcaktohet nga disa parametër që mund
ndryshojnë në varësi të versionit të sistemit. Për saktësi, ne do
themi se blloku logjik i VCU është 512 bajt.
Le të paraqesim hapësirën e adresave të SVZU në formën e një sekuence
blloqe. Blloku zero SVZU është blloku i nisjes, ose blloku, në
i cili përmban ngarkuesin e softuerit. Vendosja e këtij blloku në zero
blloku SVZU përcaktohet nga hardueri, sepse ngarkuesi i harduerit
gjithmonë i referohet bllokut zero. Ky është komponenti i fundit i skedarit
sistemi që varet nga hardueri.
Blloku tjetër është superblloku i sistemit të skedarëve. Ai përmban
informacion operacional për gjendjen aktuale të sistemit operativ, si dhe
të dhëna për cilësimet e sistemit të skedarëve. Në veçanti, superblloku
përmban informacion në lidhje me numrin e të ashtuquajturave inode në
sistemi i skedarëve. Gjithashtu, superblloku përmban informacione për numrin e blloqeve,
duke krijuar sistemin e skedarëve, si dhe informacione rreth blloqeve të lira
skedarë, për inode falas dhe të dhëna të tjera,
duke karakterizuar kohën, datën e modifikimit dhe parametra të tjerë të veçantë.
| Bllok | Superblo | Rajoni | Blloqe | Rajoni |
| fillestar | në | indeks | skedarë | ruaj |
| shkarkime | skedar | përshkrues | | |
| | sistemet | s | | |
Superblloku ndiqet nga një zonë inode (hapësirë).
Një inode është një strukturë e veçantë e të dhënave të sistemit të skedarëve që
e cila vendoset në një korrespondencë një-për-një me çdo skedar.
Madhësia e hapësirës inode përcaktohet nga parametri
gjenerimi i një sistemi skedarësh nga numri i inodeve që
janë të specifikuara në superbllokun. Çdo inod përmban sa vijon
informacion:
2. Fusha e kodit të sigurisë.
4. Gjatësia e skedarit në bajt.
Hapësira tjetër në sistemin e skedarëve janë blloqet e skedarëve. Kjo
hapësira në pajisjen e sistemit në të cilën ndodhet i gjithë informacioni,
të ruajtura në skedarë dhe rreth skedarëve që nuk përshtateshin në blloqet e mëparshme
sistemi i skedarëve.
Zona e fundit e të dhënave zbatohet ndryshe në sisteme të ndryshme, por
prapa blloqeve të sistemit të skedarëve është zona e ruajtjes.
Kjo është struktura konceptuale e një sistemi skedarësh. Tani merrni parasysh
Superbllok. Dy të fundit janë me interesin më të madh në superbllokun.
fushat: fushat e informacionit për blloqet e skedarëve të lirë dhe blloqet e indeksit të lirë
përshkruesit. Në sistemin e skedarëve UNIX, ndikimi i dy faktorëve është i dukshëm.
Faktori i parë është se sistemi i skedarëve u zhvillua në ato ditë,
kur vëllimi i një hard disk 5-10MB konsiderohej shumë i madh. Brenda strukturës
hapësirën e pajisjes së jashtme. Faktori i dytë është një veti e sistemit të skedarëve
për të optimizuar aksesin. Kriteri i optimizmit për akses - numri i shkëmbimeve
sistemi i skedarëve me një pajisje të jashtme për të cilën prodhohet
plotësimi i nevojave.
Lista (marrëveshja) e blloqeve të skedarëve të lirë përbëhet nga pesëdhjetë
elemente dhe merr 100 bajt. Në një tampon prej pesëdhjetë
elementet, regjistrohen numrat e blloqeve të lira të hapësirës së blloqeve të kujtesës. Këto
numrat shkruhen nga elementi i dytë deri në të dyzetë e nëntën. Elementi i parë
vargu përmban numrin e hyrjes së fundit në këtë grup. Element zero
lista vazhdon, e kështu me radhë.
Nëse një proces duhet të zgjerojë madhësinë e skedarit
bllok shtesë falas, më pas sistemi sipas treguesit Numri i bllokut (NB)
zgjedh një element të grupit (një kopje e superbllokut është gjithmonë e pranishme në
RAM, pra, për pothuajse të gjitha veprimet e tilla, sistemi nuk ka
duhet t'i drejtohet SVZU) dhe ky bllok i jepet përkatësisë
skedar për shtesën (në këtë rast, treguesi NB është rregulluar). Nëse
madhësia e skedarit zvogëlohet ose i gjithë skedari fshihet, atëherë
numrat e lëshuar shkruhen në grupin e blloqeve të lira, ndërsa
po korrigjohet edhe treguesi NB.
Meqenëse madhësia e grupit është pesëdhjetë elementë, ekzistojnë dy të mundshme
situata kritike. E para është kur, kur lironi blloqe të reja, jo
arrin të vendosë numrat e tyre në këtë grup, pasi ai tashmë është i mbushur. Në atë
rast, një bllok i lirë zgjidhet nga sistemi i skedarëve (në këtë rast, ai
hequr nga lista e blloqeve të lira) dhe grupi i mbushur i blloqeve të lira
kopjuar në këtë bllok. Pas kësaj, vlera e treguesit NB rivendoset në zero, dhe në
elementi zero i grupit shkruhet numri i bllokut për të cilin kemi zgjedhur
duke kopjuar grupin tonë në të. Si rezultat, me lëshim të vazhdueshëm
blloqe, formohet një listë në të cilën numrat e absolutisht të gjithëve
blloqe të lira të sistemit të skedarëve.
Situata e dytë kritike është kur ju duhet të merrni një bllok falas, por
përmbajtja e grupit është shteruar. Në këtë rast, sistemi vepron si më poshtë: nëse
elementi zero i listës është zero, atëherë kjo do të thotë se gjithçka është ezauruar
hapësirën e sistemit të skedarëve dhe shfaqet një mesazh për këtë. Nëse ai nuk e bën
është zero, atëherë përmbajtja e tij është e barabartë me adresën e vazhdimit të vargut, dhe
sistemi operativ lexon bllokun përkatës dhe e alokon atë
vazhdimi në vendin e grupit në superbllokun.
Vargu i dytë, i cili është në superbllokun, është një grup i përbërë nga
njëqind elemente dhe që përmbajnë numra inodë të lirë.
Puna me këtë grup është e thjeshtë. Për sa kohë që ka vend në këtë
array, pastaj kur lironi inode, inode të lira
përshkruesit shkruhen në hapësirën e lirë të grupit. Nëse vargu është plot
plotësisht, atëherë shkrimi në këtë grup ndalon. Nëse, përkundrazi, përmbajtja
vargu shterohet, pastaj fillon procesi, i cili
skanon rajonin inode dhe popullohet në përputhje me rrethanat
grup me vlera të reja. Një situatë është e mundur kur ju duhet të krijoni një skedar, d.m.th.
nevojitet një inode e re dhe nuk ka elementë në grup, dhe
procesi i ekzekutimit gjithashtu nuk gjeti asnjë inode falas. Kjo
situata e dytë kur sistemi detyrohet të deklarojë se burimi është shteruar
(e para është kur mbarojnë blloqet e lira të sistemit të skedarëve).
Leksioni numër 8
Përshkruesit e inodit. Inodet marrin shumëfish në një rresht
blloqet e ekzekutimit në disk. Madhësia e zonës inode përcaktohet nga
parametri (i cili është përcaktuar gjatë instalimit të sistemit) që përcakton
numri i inodeve për një sistem skedar të caktuar.
Madhësia e zonës është e barabartë me produktin e kësaj sasie nga madhësia e indeksit
përshkrues.
Një inode është një objekt UNIX që vendoset në një reciproke
një përputhje një me një me përmbajtjen e skedarit, përveç nëse
një skedar është një skedar i veçantë i lidhur me një pajisje të jashtme. V
në inode, ekzistojnë fushat e mëposhtme:
1. Fusha që përcakton llojin e skedarit (drejtori ose jo).
2. Fusha e kodit të sigurisë.
3. Numri i lidhjeve në këtë inode është nga të gjitha të mundshmet
drejtoritë e sistemit të skedarëve (në rast të shkeljes së skedarit
sistemet). Nëse vlera e kësaj fushe është zero, atëherë konsiderohet se
kjo inode është falas.
4. Gjatësia e skedarit në bajt.
5. Statistikat: fusha që karakterizojnë datën dhe orën e krijimit etj.
6. Fusha e adresimit të bllokut të skedarëve.
Vini re se nuk ka asnjë emër skedari në inode,
edhe pse ky objekt karakterizon përmbajtjen e skedarit. Le të shohim se si
organizohet adresimi i blloqeve në të cilat ndodhet përmbajtja e skedarit.
Fusha e adresimit përmban numrat e dhjetë blloqeve të para të skedarëve. Nëse
skedari është i vogël, atëherë të gjitha informacionet në lidhje me vendosjen e blloqeve të tij janë brenda
inode. Nëse skedari i kalon dhjetë blloqe, ai fillon
për të punuar një strukturë të caktuar liste. Elementi i njëmbëdhjetë i fushës së adresimit
përmban numrin e bllokut nga hapësira e bllokut të skedarit që përmban 128
lidhjet me blloqet e këtij skedari.
Në rast se skedari është edhe më i madh, atëherë përdoret i dymbëdhjeti
elementi i fushës së adresimit. Ai përmban numrin e bllokut, i cili përmban 128
regjistrimet e numrave të bllokut, secili përmban 128 numra bllok të skedarit
sistemet, domethënë këtu përdoret indirekcioni i dyfishtë. Nëse skedari është ende
më shumë, atëherë përdoret elementi i trembëdhjetë dhe trefishi
indirekt (ngjashëm me dyfishin, por duke shtuar një nivel më shumë).
Kufiri i madhësisë së skedarit (me një madhësi blloku prej 512) do të jetë (128 + 1282 +
1283) * 512 bajt = 1 GB + 8 MB + 64 Kb> 1 GB.
Ne ramë dakord me ju që gjatë kursit tonë do të paguajmë
vëmendje ndaj mospërputhjes së shpejtësive dhe zbutjes së saj. E para
problem - nëse sistemi i skedarëve nuk kishte një grup të lirë
blloqe, ju do të duhet të kërkoni disi falas
bllokon dhe puna do të ishte e çmendur dhe sistemi i skedarëve do të rrëzohej
nivel ideologjik. Po kështu me listën inode falas,
megjithëse kërkimi këtu do të ishte më i lehtë sesa për blloqe falas, por megjithatë,
ka edhe këtu elementë optimizimi. Adresimi indirekt i bllokut
skedarët ju lejon të rritni shpenzimet e përgjithshme të blloqeve të leximit të skedarëve
në përpjesëtim me madhësinë e këtij skedari. Kjo do të thotë, nëse skedari është i vogël, atëherë faturat
nuk ka kosto, sepse kur hapni një skedar, a
një kopje të inode-së së skedarit dhe asnjë thirrje shtesë në VCU
ju mund të arrini në cilindo nga dhjetë blloqet e skedarit menjëherë. Nëse është e nevojshme
punoni me blloqe të vendosura në nivelin e parë të indirekcionit, më pas
shfaqet një shkëmbim shtesë, por në të njëjtën kohë mund të bëhet qasja
tashmë në 128 blloqe. Arsyetim i ngjashëm për blloqet e dytë dhe të tretë
urdhëroj. Duket se e keqja është se kur shkëmbeni me një skedar të madh duhet ta bëni
bëni shumë shkëmbime shtesë, megjithatë sistemi UNIX është i ndërlikuar -
ai përdor tamponim të thellë të shkallëzuar të shkëmbimeve OCD. Kjo eshte
nëse marrim disa shpenzime në të njëjtin nivel, atëherë ata
kompensohet në një nivel tjetër të optimizimit të ndërveprimit të sistemit me
memorie të jashtme.
Blloqe skedarësh. Hapësira e bllokut të skedarëve është një me një
mënyrë për shkak të informacionit në superblock.
Zona e kursimit të procesit. Edhe pse kjo zonë është përshkruar pas blloqeve
skedarë, por mund të gjendet në ndonjë skedar të sistemit të skedarëve
ose në një vend arbitrar të VCU-ve të tjera. Varet nga zbatimi specifik
sistemeve. Në thelb, kjo zonë është një zonë e dobishme në të cilën
proceset pompohen dhe kjo zonë përdoret gjithashtu për të
optimizimi i nisjes së proceseve më të përdorura duke përdorur,
i ashtuquajturi t-bit i skedarit (më shumë për këtë më vonë).
Pra, ne shqyrtuam strukturën e sistemit të skedarëve dhe të tij
organizimi në një pajisje të sistemit. Si çdo ndërtim sistemi,
struktura e sistemit të skedarëve dhe algoritmet përkatëse janë të thjeshta
në mënyrë që kur punoni me ta, kostot e përgjithshme të mos shkojnë përtej
e arsyeshme. Sistemi i skedarëve UNIX është padyshim më optimal në punën reale
Sistemi i skedarëve Windows NT (krahaso datat e zhvillimit !!!), për shkak të thjeshtësisë
dhe optimizimi që ndodh në çdo hap.
Katalogjet
Thamë se një nga vetitë e sistemit operativ UNIX
është se të gjitha informacionet gjenden në skedarë, d.m.th. nuk ka
tabela speciale të përdorura nga sistemi operativ, për
duke përjashtuar ato tabela që krijon, në të cilat tashmë funksionojnë
Hapësira RAM. Drejtoria, për sa i përket sistemit të skedarëve,
Ky është një skedar që përmban të dhëna për ato skedarë që u përkasin
katalogu.
Drejtoria A përmban skedarët B, C dhe D, megjithëse
që skedarët B dhe C mund të jenë edhe skedarë edhe drejtori, dhe
skedari D është një direktori.
Katalogu përbëhet nga elementë që përmbajnë dy fusha. Fusha e parë është
numri inode, fusha e dytë është emri i skedarit që
lidhur me inodin e dhënë. Numrat e indeksit
përshkruesit (në hapësirën inode) fillojnë me një.
Inode e parë është inode e drejtorisë. Në përgjithësi
drejtoria mund të përmbajë rekorde që i referohen të njëjtit indeks
përshkrues, por direktoria nuk mund të përmbajë hyrje me të njëjtin emër.
Emri është unik brenda drejtorisë, por me përmbajtjen e skedarit mundet
mund të shoqërohet një numër arbitrar emrash. Prandaj, ka disa
paqartësi në përkufizimin e konceptit të një skedari në sistemin operativ UNIX.
Skedari rezulton të jetë jo vetëm një grup të dhënash me emër: ai ka
inode dhe mund të ketë shumë emra (d.m.th., emri është dytësor
komponent).
Kur krijoni një drejtori, dy hyrje krijohen gjithmonë në të: një hyrje në
një skedar special me emrin "." (pika) me të cilën lidhet indeksi
përshkruesi i vetë drejtorisë dhe skedari ".." (dy pika), me të cilin
lidhet inode (ID) e drejtorisë prind. Për tonë
për shembull, drejtoria A ka, për shembull, ID me numrin 7 dhe drejtoria D ka ID me
numri 5. Skedari F ka ID # 10, skedari G ka ID # 101. Në këtë rast, dosja -
Drejtoria D do të ketë përmbajtjen e mëposhtme:
| Emri | ID # |
| "." | 5 | Hyrja e parë është një vetë-hyrje. |
| ".." | 7 | Hyrja e dytë është për prindin (drejtoria A). |
| | | drejtoria. |
| "G" | 101 | Kjo do të jetë përmbajtja e drejtorisë D. |
Dallimi midis skedarit të drejtorisë dhe skedarëve të zakonshëm të përdoruesit është
përmbajtjen e fushës së llojit të skedarit në ID. Për direktorinë rrënjë, fusha prind do të jetë
referojuni vetes.
Tani le të hedhim një vështrim të shpejtë se si mund të përdoren emrat plotësisht të kualifikuar.
dhe strukturën e drejtorisë. Në sistem, në çdo moment funksionimi
përdoruesi përcaktoi drejtorinë aktuale, domethënë direktorinë dhe të gjithë shtegun nga
rrënja e lidhur me këtë direktori, e cila zëvendësohet si parazgjedhje me
të gjithë emrat e skedarëve që nuk fillojnë me karakterin "/". Nëse drejtoria aktuale është D,
atëherë mund të flisni vetëm për skedarët F dhe G, dhe nëse keni nevojë të shkoni te skedari B,
atëherë ju duhet të përdorni emrin e plotë ose skedarin special "..", d.m.th., në
në këtë rast ndërtimi “../B”. Ne i referohemi skedarit ".." - kjo është
do të thotë që ju duhet të lexoni ID-në e prindit dhe ta përdorni atë për të arritur te përmbajtja
drejtoria A. Më pas, në dosjen e skedarit A, zgjidhni një rresht me emrin B dhe
përcaktoni ID-në e skedarit B dhe më pas hapni skedarin. I gjithë ky operacion
kërkon mjaft kohë, megjithatë, duke qenë se skedarët nuk hapen shpesh, kjo
nuk do të ndikojë në shpejtësinë e sistemit.
Thamë se me të njëjtën përmbajtje mund të shoqërohet
emra të shumtë, d.m.th. skedarë me të njëjtën
ID. Ka një problem - si sinkronizohet puna me përmbajtjen e skedarit
nëse hapet me procese të ndryshme ose me emra të ndryshëm. Në UNIX, kjo është
është zgjidhur mjaft saktë (ne do ta shqyrtojmë këtë pak më vonë).
Skedarët specialë të pajisjes
Ne tashmë njohim dy lloje skedarësh: skedarët e drejtorive dhe skedarët e punës, në
cilat të dhëna ruhen. Ekziston një lloj i tretë - skedarët e pajisjes. Kjo
varieteti karakterizohet nga lloji i specifikuar në ID. Përmbajtja e skedarëve
nuk ka pajisje, por ka vetëm një ID dhe një emër. ID-ja tregon informacion rreth
çfarë lloj pajisjeje lidhet me këtë skedar: i orientuar nga bajt
pajisje ose pajisje e orientuar nga blloku. I orientuar nga bajt
një pajisje është një pajisje që shkëmbehet një nga një
byte (p.sh. tastierë). Një pajisje e orientuar nga blloku është
një pajisje me të cilën mund të shkëmbehen blloqet.
Ekziston gjithashtu një fushë që përcakton numrin e drejtuesit të lidhur me këtë
pajisje (një pajisje mund të ketë drejtues të shumtë, por jo
anasjelltas). Kjo fushë është në fakt një numër në tabelën e drejtuesve
klasën përkatëse të pajisjeve. Ka dy tabela në sistem: për bllok-
dhe për pajisjet e orientuara nga bajt. Gjithashtu, ID përcakton disa
një parametër dixhital që mund t'i kalohet drejtuesit si
duke specifikuar informacione për punën.
Organizimi i shkëmbimit të të dhënave me skedarë
Le të përcaktojmë fillimisht se çfarë është I/O e nivelit të ulët
sistemi. Sistemi i skedarëve UNIX përcakton disa të veçanta
funksionet e quajtura thirrjet e sistemit. Thirrjet e sistemit
kryeni qasje të drejtpërdrejtë në sistemin operativ, domethënë këtë
funksionet që kryejnë disa nga veprimet e sistemit operativ. Zbatimi
funksionet e sistemit dhe bibliotekës (për shembull, matematika) në rrënjë
eshte ndryshe. Nëse funksioni i bibliotekës është i ngarkuar në trupin e procesit,
kush e përdor këtë bibliotekë, pastaj të gjitha veprimet në shumicën e rasteve
do të ekzekutohet brenda këtij procesi dhe thirrja e sistemit do të kryhet menjëherë
transferon kontrollin në sistemin operativ dhe ai kryen porositë
veprim. Në UNIX, për të siguruar I/O të nivelit të ulët, d.m.th.
I/O, i cili zbatohet përmes thirrjeve të sistemit, është
grup funksionesh. Këtu janë ato kryesore:
1. hapur - Hap një skedar ekzistues. Një nga parametrat e këtij funksioni
është një varg me emrin e skedarit dhe kthen një numër,
i cili quhet përshkrues i skedarit. Në trupin e procesit të përdoruesit,
dhe gjithashtu në të dhënat që lidhen me këtë proces vendoset
(me përjashtim të kodit dhe të dhënave, natyrisht) disa informacione shërbimi, në
në veçanti, tabelën e përshkruesit të skedarit. Ajo, si të gjitha tavolinat në
Sistemi UNIX, pozicional, d.m.th. numrat e përshkruesit përputhen
numër rekord në këtë tabelë. Me përshkrues skedari (FD)
emri i skedarit dhe të gjitha atributet e nevojshme për të punuar me të janë të lidhura.
Numrat FD janë unikë brenda një procesi të vetëm. Ekziston një e ngjashme
krijimin e funksionit - funksion për hapjen e një skedari të ri.
2.lexo / shkruaj - lexo / shkruaj thirrjet e sistemit, parametrat e të cilave
është numri FD dhe disa atribute që nuk janë aq të rëndësishme për
konsiderata jonë.
3. mbyll - një thirrje sistemi për të përfunduar punën me një skedar, një parametër
që është numri FD. Pas thirrjes së këtij funksioni FD
bëhet falas, dhe puna e këtij procesi me skedarin përfundon.
Këtu janë disa thirrje sistemore që ofrojnë I / O (nga rruga, ato
pothuajse nuk shtoni asnjë kod në programin tuaj). Shih detajet
më vete. Unë solla në vëmendjen tuaj se këto janë thirrje sistemore, sepse
që I/O mund të bëhet edhe përmes bibliotekave I/O. Për
nga kjo ekziston i ashtuquajturi shkëmbim skedarësh dhe funksionet fopen, fread, dhe
etj. (parashtesa me f). Këto janë funksione të bibliotekës. Vetë këto funksione thërrasin
te funksionet e nivelit të ulët brenda vetes.
Konsideroni organizimin e shkëmbimit nga pikëpamja sistemore në sallën e operacionit.
Sistemi UNIX. Kur organizoni një shkëmbim, sistemi operativ ndahet
dhe të dhënat e lidhura me sistemin operativ.
Hapni tabelën inode të skedarit. Tabela e parë e të dhënave,
sistemi operativ i lidhur - tabela inode
skedarë të hapur (TIDOF). Kjo tabelë përmban rekorde, secila prej të cilave
përmban një kopje të inode për çdo të hapur në sistem
dosje. Blloqet e skedarëve arrihen përmes kësaj kopjeje. Secili
të dhënat e tabelës përmbajnë gjithashtu një fushë që karakterizon numrin e të hapurve në
sistemin e skedarëve duke përdorur përshkruesin e dhënë (counter). Kjo është, nëse
i njëjti skedar hapet në emër të dy proceseve, më pas i shkruan TIDOF
krijohet një, por çdo hapje shtesë e këtij skedari rritet
numërues për njësi.
Tabela e skedarëve. Tabela e skedarit (TF) përmban informacionin e emrit
Leksioni numër 9
Thamë që sistemi mund të punojë me përmbajtjen e skedarit në vëllim dhe
vetëm nëse procesi ka regjistruar dëshirën e tij për të punuar me të
me këtë skedar. Fakti i një regjistrimi të tillë quhet hapja e dosjes. Në
hapja e një skedari brenda një procesi secili emër i skedarit që hapet
(mund të hapet një skedar ekzistues, ose një i ri) vendoset
që përputhet me një numër të plotë unik të quajtur skedar
përshkruesi (FD). Brenda procesit, PD-të numërohen nga 0 në k-1.
Vlera k është një parametër i konfigurimit të sistemit operativ që përcakton nëse
sa skedarë të hapur njëkohësisht mund të ketë një proces. Këtu
duhet theksuar se po flasim për numrin e skedarëve të hapur njëkohësisht
(e shkruar gjithashtu në çdo libër UNIX), megjithatë, në fakt, k është
numri maksimal i PD-ve që mund të shoqërohen me një
skedar, sepse i njëjti skedar brenda një procesi mund të hapet nga dy
herë, dhe formohen dy PD. Ku do të çojë kjo, ne do të shqyrtojmë disa
më vonë, por kjo është mjaft e saktë. Pas hapjes së skedarit, të gjitha operacionet e shkëmbimit
kryhen përmes udhëzimeve të përshkruesit të skedarit (d.m.th. emri nuk është askund tjetër
e paspecifikuar). Çdo përshkrues skedari ka një numër parametrash të lidhur me të.
(rreth tyre pak më vonë).
Le të shohim se si organizohet I/O, ose më saktë, përpunohet.
shkëmbim i nivelit të ulët, nga pikëpamja e sistemit operativ. Tani do të jetë
tregoi për skemën logjike të organizimit të hyrje/daljes, për skemën reale
rregulluar disi ndryshe, por kjo nuk është aq e rëndësishme për ne.
Të gjitha të dhënat me të cilat funksionon sistemi ndahen në dy
klasës. Lloji i parë i të dhënave janë të dhënat që lidhen me sallën e operacionit.
sistemi, domethënë të dhënat në të gjithë sistemin. Këto të dhëna përfshijnë TIDOF.
Madhësia e tabelës është fikse dhe përcaktohet nga numri i të hapurve njëkohësisht
FD. Çdo hyrje në këtë tabelë përmban disa informacione, ndër
për të cilat do të jemi të interesuar në vijim:
1) Një kopje e ID-së së skedarit të hapur. Për çdo skedar të hapur, identifikoni atë
karakterizon përmbajtjen e këtij skedari, të kopjuar dhe vendosur në
TIDOF. Pas kësaj, të gjitha manipulimet me skedarin (për shembull, duke ndryshuar
adresimi i skedarit) ndodh me një kopje të ID-së, jo me vetë ID-në në disk.
TIDOF ndodhet në RAM, d.m.th. qasje në informacion në
ajo kryhet shpejt.
2) Një numërues i skedarëve të hapur aktualisht të lidhur me këtë ID. Kjo
do të thotë se për çdo numër hapjesh skedarësh të lidhur me
i dhënë ID, sistemi funksionon me një kopje të vetme të kësaj ID.
Tani le të kalojmë në të ashtuquajturën tabelë skedarësh (TF). Tabela e skedarëve
përbëhet nga një numër fiks regjistrimesh. Çdo hyrje TF
korrespondon me një skedar të hapur në sistem ((ose, më saktë, FD)). Për më tepër, në
në shumicën dërrmuese të rasteve, kjo është një korrespondencë një me një.
Rasti kur kjo nuk është një korrespondencë një me një, ne
konsideroni më poshtë. Çdo rekord TF përmban tregues leximi/shkrimi nga
dosje. Kjo do të thotë se nëse i njëjti skedar është i hapur në dy procese
ose dy herë në të njëjtin proces, atëherë çdo zbulim ka treguesin e vet, dhe
ata nuk varen nga njëri-tjetri (pothuajse gjithmonë, me përjashtim të disave
rastet). Çdo rekord TF përmban të ashtuquajturin indeks
trashëgimia është një numër i plotë.
Këto të dhëna janë në nivelin e sistemit operativ, d.m.th. të dhënat që përshkruajnë
gjendja e problemit në sistemin në tërësi.
Çdo proces shoqërohet me një të ashtuquajtur tabelë të skedarëve të hapur.
(Flota e Paqësorit). Numri i rekordit në këtë tabelë është numri FD. Çdo rresht i kësaj
informacioni në lidhje me treguesit e lidhur me FD është, si të thuash, i copëtuar. Me nje
dorë, përshkruesit e skedarëve janë të dhëna që janë një atribut i një procesi,
nga ana tjetër, një tregues është të dhëna që janë një atribut i një operimi
sistemeve. Duket se nuk është logjike, dhe tani do të shqyrtojmë se çfarë është kjo
shfaqet palogjikshmëria. Për ta bërë këtë, merrni parasysh shkurtimisht konceptin
çështjet që lidhen me formimin e procesit. Sistemi operativ UNIX
ka një funksion fork (). Kjo është një thirrje sistemi. Kur hyni në këtë sistem
thirrjes, ndodh një veprim në sistem, i cili për shumicën e
mund t'ju duket e pakuptimtë - procesi po kopjohet, në
me të cilin është ndeshur ky funksion, d.m.th. krijohet një proces binjak. Per cfare
kjo është e nevojshme, do ta them pak më vonë.
Formimi i një procesi binjak ka vetitë e mëposhtme. Së pari
pronë: proces-son, i cili do të formohet pas thirrjes së funksionit
fork () ka të gjithë ata skedarë që u hapën në procesin e babait. E dyta -
sistemi lejon, me disa mjete të veta, të identifikojë se ku
procesi është babai, dhe ku procesi është djali, megjithëse në rastin e përgjithshëm janë absolutisht
janë të njëjta.
Supozoni se ekziston procesi # 1 dhe një tabelë e hapur
skedarët numër 1. Në këtë proces, hapet një skedar me emrin Emri dhe ky skedar
përshkruesi i skedarit I është hartuar. Kjo do të thotë se në
linja përkatëse e Flotës së Paqësorit do të jetë një rekord që ka një lidhje me TF. Në TF
janë përcaktuar disa atribute që lidhen me hapjen e skedarit, dhe ka gjithashtu
treguesin e leximit/shkrimit, d.m.th. treguesi me të cilin po punojmë,
shkëmbimi i informacionit me skedarin. Regjistrimet në TF kanë një lidhje me TIDOF, në
e cila përmban një kopje të ID-së që korrespondon me skedarin e quajtur Emri.
Supozoni se ky proces rihap skedarin me emrin Emri.
Sistemi i caktoi atij përshkruesin e skedarit J. kjo
hapja korrespondon me vijën J-të të TOF të procesit të parë. Në këtë postim
hapja e skedarit Emri. Dhe ndërsa indekset e trashëgimisë për të dyja rastet
do të jetë e barabartë me një. Kjo hyrje do të ketë të tyren, të lidhur me këtë zbulim,
lexoni / shkruani tregues. Treguesit e përshkruesit të skedarit I dhe J janë të pavarur
nga njëri-tjetri, d.m.th. kur lexoni / shkruani përmes përshkruesit të skedarit I,
treguesi J përshkrues i skedarit nuk do të ndryshojë. Kjo hyrje do të lidhet
në të njëjtën inode nga TIDOF, dhe vlera e numëruesit do të jetë
është e barabartë me dy.
Supozoni se procesi # 1 bëri një thirrje në funksionin fork (),
u formua një kopje e procesit dhe, për më tepër, të dy kopjet fillojnë të punojnë në dalje
nga fork (), dhe TOP # 2 do të shoqërohet me procesin e dytë. Njësoj do të jetë
Emri i skedarit hapet nga ID I dhe ID J. Por në këtë rast, kur procesi është marrë
hapni skedarët e trashëguar nga prindi, më pas lidhjet nga linjat përkatëse
Flota e Paqësorit do të zhvillohet jo në rekordet e reja TF, por në të njëjtat në të cilat
referuar FD-së përkatëse nga prindi. Këto procese kanë tregues leximi
hyrjet do të jenë të njëjta, d.m.th. nëse e lëvizni treguesin në një proces,
atëherë automatikisht do të lëvizë edhe për një proces tjetër. Ky rast është si
koha kur nuk ka korrespondencë një-për-një ndërmjet linjave TF dhe
linjat e Flotës së Paqësorit. Kur krijohen këto lidhje, numëruesi rritet me dy. DHE,
në përputhje me rrethanat, nga ID, për shkak të adresimit të blloqeve, qasja në
blloqe skedarësh. Ky organizim informativ i këmbimit do të thotë se shkëmbimi
përmbajtja e çdo skedari trajtohet në mënyrë qendrore, d.m.th. në fund
si rezultat, të gjitha urdhrat e këmbimit kalojnë në një rekord të vetëm, pavarësisht sa shumë
skedarët e lidhur me këtë ID nuk ishin të hapur në sistem. Nuk ka
përplasjet, kur në kohë fillon konfuzioni në të ekzekutuarit, ose
shkëmbime të paplotësuara të lidhura me një përshkrues.
Me çdo formim të një procesi të ri, sistemi vendoset a priori
përshkruesit zero, të parë dhe të dytë të skedarit nga TOF, duke i shoqëruar ato me
skedarë të paracaktuar. Zero PD shoqërohet me skedarin e hyrjes së sistemit, me
zakonisht ka një tastierë të jashtme të lidhur me të. FD e parë është
një skedar standard dalës, i lidhur zakonisht me një ekran monitori. Së dyti
FD është një skedar standard dalës për mesazhet diagnostike, me të gjithashtu
zakonisht shoqërohet me një ekran monitori.
Merrni parasysh, për shembull, veprime tipike kur i referoheni njërit apo tjetrit
thirrjet e sistemit.
Thirrja e funksionit fork (). Siç e dini, kur thirrni këtë funksion
sistemi krijon një kopje të procesit origjinal. Në të njëjtën kohë, sistemi kopjon Flotën e Paqësorit
një proces në TOF të procesit pasardhës, dhe gjithashtu rritet me një
indeksi i trashëgimisë në vargjet TF të lidhura me skedarë të hapur
procesi origjinal dhe gjithashtu rrit numëruesin e skedarëve të hapur të lidhur me
ID-ja e të dhënave, në TIDOF.
Thirrja e funksionit të hapur (). Kur thirret ky funksion,
në vijim:
1. Emri i plotë përcakton drejtorinë në të cilën
2. Përcaktohet numri i ID-së. Numri i ID përdoret për të kërkuar
Tabela TIDOF.
3. Nëse gjendet një hyrje me numrin e specifikuar, rregulloni numrin
linjën përkatëse të TIDOF dhe shkoni në hapin 5.
4. Nëse linja nuk gjendet, ndodh formimi
një linjë të re që korrespondon me ID-në e re dhe angazhojeni atë
5. Korrigjojmë numëruesin e referencave (shigjetat) për rekordin TIDOF. Numri
të dhënat në TIDOF regjistrohen në regjistrimin TF, si dhe në TOF
numri i datave të Flotës së Paqësorit i kthehet programit, në të cilin
Gjatë operacioneve I/O, veprimet e sistemit janë të dukshme.
Ndërveprimi me pajisjet. Ne kemi thënë tashmë se të gjitha pajisjet
që shërbehen nga sistemi operativ UNIX mund të jenë
klasifikohen në dy lloje - pajisje të orientuara nga bajt dhe bllok-
pajisje të orientuara. Duhet të theksohet se e njëjta pajisje në
sistemi mund të konsiderohet si i orientuar në bajt ashtu edhe në bllok.
orientuar (për shembull, memorie me akses të rastësishëm). Prandaj, ekziston
Drejtues të orientuar drejt bllokut dhe të orientuar nga bajt. Në leksionin e fundit, ne
konsiderohen skedarë të veçantë të lidhur me pajisje të jashtme, dhe
foli për faktin se ekziston një tabelë e drejtuesve të pajisjeve të orientuara nga blloku
dhe një tabelë të drejtuesve të pajisjes të orientuar drejt bajtit. Prandaj, këto
Tipari kryesor i organizimit të punës me bllok të orientuar
pajisje është aftësia për të shkëmbyer tampon. Përfundimi është
tjetër. Në RAM-in e sistemit organizohet një grup buffer, ku
çdo bufer është një bllok në madhësi. Secili prej këtyre blloqeve mund të jetë
lidhur me një drejtues të njërit prej bllokut fizik të orientuar
pajisje.
Konsideroni se si kryhet sekuenca e veprimeve gjatë ekzekutimit
bllok nga numri i pajisjes M.
1. Ndër tamponët e grupit të tamponit, kryhet një kërkim për të specifikuarit
bllok, d.m.th. nëse gjendet një bufer që përmban bllokun N-të të M-të
pajisjen, atëherë ne rregullojmë numrin e këtij buferi. Në këtë rast,
nuk ndodh asnjë akses në një pajisje të vërtetë fizike, por
Operacioni i leximit të informacionit është një paraqitje e informacionit
nga buferi i gjetur. Shkoni në hapin 4.
2. Nëse kërkimi për buferin e specifikuar është i pasuksesshëm, atëherë në grupin e tamponit
kërkimi i një buferi për leximin dhe vendosjen e të dhënëve
bllokoj. Nëse ka një tampon të lirë (në të vërtetë, kjo situatë
është e mundur vetëm në fillim të sistemit), atëherë ne rregullojmë numrin e tij dhe
shkoni në hapin 3. Nëse një tampon i lirë nuk gjendet, atëherë ne
zgjidhni buferin që nuk është aksesuar për më gjatë
koha. Nëse ka një flamur të caktuar në tampon
informacionin e regjistruar në tampon, atëherë ka
shkrimi real i bllokut të buferuar në fizik
pajisje. Pastaj ne rregullojmë numrin e tij dhe gjithashtu shkojmë te
3. Blloku N-të i pajisjes M lexohet në gjetur
4. Numëruesi i kohës në këtë bufer është rivendosur dhe
duke rritur numëruesit në buferët e tjerë me një.
5. Si rezultat i leximit, kalojmë përmbajtjen e kësaj
Ju mund të shihni se ekziston një optimizim i lidhur me minimizimin këtu
thirrje reale në një pajisje fizike. Kjo është mjaft e dobishme kur
funksionimin e sistemit. Blloqet shkruhen në mënyrë të ngjashme. Kështu që
Bufferimi I/O i nivelit të ulët organizohet në këtë mënyrë.
Përfitimet janë të qarta. Disavantazhi është se sistemi në këtë rast
është kritike për fikjen e paautorizuar, d.m.th.
një situatë kur buferat e sistemit nuk shkarkohen, por ndodh një jonormale
ndërprerja e ekzekutimit të programeve të sistemit operativ, gjë që mund të çojë në
humbja e informacionit.
Disavantazhi i dytë është se për shkak të bufferimit,
në kohë, fakti i referimit në sistemin për një shkëmbim dhe një shkëmbim real. Kjo
disavantazhi manifestohet në rast se, në shkëmbimin real fizik
ndodh një përplasje. ato. është e nevojshme, supozojmë, për të shkruar një bllok, atë
shkruhet në buffer dhe nga sistemi merret një përgjigje se shkëmbimi ka përfunduar
me sukses, por kur sistemi e shkruan këtë bllok në OVC nuk dihet. Në
kjo mund të shkaktojë një situatë jonormale për faktin se regjistrimi mund
të mos kalojë, për shembull, për shkak të defekteve në media. Rezulton një situatë kur
të cilin thirrja në sistemin për funksionin e shkëmbimit për procesin ishte e suksesshme
(procesi mori përgjigjen se gjithçka ishte regjistruar), por, në fakt, shkëmbimi jo
Kështu, ky sistem është krijuar për pajisje të besueshme dhe
kushtet e duhura të funksionimit profesional. Për të luftuar gjasat
humbja e informacionit në rast situatash emergjente, sistemi është i mjaftueshëm
"I zgjuar" dhe vepron si duhet. Përkatësisht, sistemi ka një parametër të caktuar,
e cila mund të ndryshojë shpejt, e cila përcakton periudhat kohore,
përmes të cilit ricilësohen të dhënat e sistemit. E dyta - ka
komanda që mund të aksesohet nga përdoruesi është komanda SYNC. Me këtë
komanda shpërndan të dhënat në disk. Dhe së treti, sistemi ka
disa teprica, e cila lejon, në rast të humbjes së informacionit, të prodhohet
një grup veprimesh që rivendosin informacionin ose blloqe të diskutueshme që
nuk mund të identifikohej nga skedari që i përket, do t'i shkruhet
një vendndodhje specifike në sistemin e skedarëve. Në këtë vend mund të provohen
analizoni dhe rivendosni manualisht, ose humbni diçka. Tona
universiteti ishte një nga të parët në vend që filloi të funksiononte një sallë operative
Sistemi UNIX, dhe tani mund të themi se problemet e mosbesueshmërisë së sistemit,
për sa i përket humbjes fatale të informacionit, nuk kishte asnjë.
Sot filluam një bisedë për faktin se kemi thirrje sistemore dhe
Bibliotekat I/O. Një mjet tjetër që lejon
optimizoni performancën e sistemit, është biblioteka standarde I/O,
lidhur me skedarin e përfshirjes stdio.h. Thelbi i shkëmbimit konceptual është i njëjtë
njëjtë si kur organizoni I/O të nivelit të ulët. Dallimi është
që nëse open () kthen numrin e përshkruesit të skedarit, kthehet fopen ().
një tregues për një strukturë të tipit të veçantë FILE. E dyta dhe kryesore
Është një bibliotekë funksionesh. Shumë nga funksionet e shërbimit të ofruara nga kjo
biblioteka zbatohen brenda hapësirës tuaj të adresave. V
në veçanti, një funksion i tillë i shërbimit është një nivel tjetër i bufferimit
hyrje dalje. Thelbi i tij qëndron në faktin se në burimet e procesit mundeni
caktoni një buffer që do të funksionojë në mënyrë të ngjashme me grupin e tamponit
sistemi operativ dhe, i cili minimizon aksesin e procesit tuaj në
sistemi thërret I/O. Kuptohet që kjo bibliotekë I/O
zbatohet nga një program që përdor thirrjet e sistemit
hyrje dalje. Kjo do të thotë që shfaqet një faktor i dyfishtë buffering, megjithëse
kjo rrit pasigurinë.
Bufferimi i dyfishtë është padyshim një gjë e dobishme. Kjo ju lejon të kontaktoni
për të lexuar ose shkruar përmes funksioneve të bibliotekës me vëllime të dhënash në gjysmë blloku
ose në një të tretën e bllokut, dhe nëse këto pjesë shkojnë në një rresht, atëherë vetë sistemi është për shkak të
buffering, mbledh këto pjesë dhe në vend të disa thirrjeve në sistem
në thirrje bëhet vetëm një telefonatë. Është fitimprurëse. Është e pafavorshme që kjo
buferimi organizohet brenda hapësirës së adresave të procesit me
me të gjitha pasojat që pasojnë (sinkronizimi në shkëmbime humbet në këtë
nëse procese të tjera janë duke punuar me këtë skedar përmes kësaj biblioteke,
sepse trupi i çdo procesi ka buferin e vet, i cili mund
grumbullohen këto të dhëna dhe asnjë uniformitet, i cili është në
skema që kemi konsideruar nuk funksionon). Megjithatë, standardi
biblioteka I / O është një mjet i dobishëm; ajo ka edhe mjetet
duke bllokuar këtë buffering.
Leksioni numër 10
Në leksionin e fundit, ne diskutuam pikat e mëposhtme që lidhen me
organizimi i funksionimit të sistemit të skedarëve. Kjo është një organizatë sistematike
shkëmbim i nivelit të ulët. Ne zbuluam se duke organizuar të dhënat,
sistemi operativ UNIX me mjete mjaft të thjeshta dhe "transparente".
zgjidh problemet e konflikteve të mundshme në rastin e disa hapjeve të një dhe
të njëjtin skedar. Kemi parë që të gjitha hapjet e të njëjtit skedar (nën
skedar, ne nuk e kuptojmë emrin, por përmbajtjen) përfundimisht zbehet për të punuar
me një kopje të vetme të letërnjoftimit. Ne kemi zbuluar se pothuajse të gjitha zbulimet
skedarët e lidhur me të njëjtën ID, u japin proceseve aftësinë për të punuar
me treguesit e vet për të lexuar/shkruar në dosje, me përjashtim të rasteve,
kur një dosje në proces është marrë me trashëgimi, d.m.th. dosja është marrë
nga procesi babai përmes funksionit fork () nga procesi son.
Ne kemi zbuluar se sistemi i ndan pajisjet e servisuara
në dy klasa: të orientuara nga blloku dhe të orientuara nga bajt. Njësoj
pajisja mund të jetë e orientuar drejt bajtit dhe e bllokut
i orientuar. Varet si nga vetë pajisja ashtu edhe nga disponueshmëria
drejtues - programe që kontrollojnë këtë pajisje. Një shembull i tillë
pajisja është RAM.
Ne shqyrtuam parimet e organizimit të një shkëmbimi të nivelit të ulët për
pajisje të orientuara nga blloku, dhe në kuadër të kësaj u njohëm
mjete buffering që përdoren në UNIX OS, thelbi i të cilave
është se, për analogji me buferët e leximit/shkrimit nga operative
memorie (hardware), sistemi operativ krijon softuer
mjete që ju lejojnë të minimizoni numrin e thirrjeve në
pajisje fizike. Ky mekanizëm dalloi dhe dallon në mënyrë të favorshme sistemin operativ UNIX.
Duhet të theksohet këtu se clipboarding mund të jetë me shumë nivele.
Niveli i parë shtesë mund të shfaqet për faktin se pajisja
mund të ketë buferat e veta harduerike, të zbatuara në analogji me buferët
kujtesë e gjallë.
Ne folëm gjithashtu për faktin se përveç I/O të nivelit të ulët, me
të cilat shoqërohen me funksione që ofrojnë thirrje të sistemit (hap, lexo, shkruaj
etj.), Ka aksesorë të nivelit të lartë - ky është standardi
biblioteka e hyrjes / daljes stdio.h, lidhja e së cilës ju lejon të përdorni
për organizimin e shkëmbimeve, një nivel më shumë buffering (ky është një optimizim
thirrjet e sistemit) që shoqërohet me procesin, d.m.th.
buffering ndodh në kurriz të burimeve të procesit. Ne vlerësuam atë që është e mirë
çfarë nuk shkon. Natyrisht, buffering redukton numrin e shkëmbimeve me
pajisje e jashtme e ngadaltë, dhe sa më shumë nivele të tilla, aq më pak
ka shkëmbime. Megjithatë, e keqja është se për shkak të tamponimit,
besueshmëria e sistemit. Për shembull, kur sistemi fiket papritur
furnizimi me energji elektrike, të gjithë buferët humbasin informacionin. Momenti i adresimit të shkëmbimit është larg
shkëmbim real, dhe për këtë arsye mund të ndodhin situata të pakëndshme. Por pavarësisht
Këto mangësi, përvoja tregon se ndodh humbja fatale e informacionit
rrallë.
Unë do të doja të tërhiqja vëmendjen tuaj në masën në të cilën UNIX i ruan thirrjet në VCU.
Superblloku është në RAM, dhe veprime reale me informacion
superblloqet nuk e kanë origjinën nga disku, por nga RAM, megjithëse këtu
ndodh i njëjti problem me fikjen e paautorizuar të energjisë.
Kur hapim skedarin, ne punojmë me ID. Ne zbuluam se duke punuar me ID
kryhet nëpërmjet punës me një kopje të saj të vendosur në softuer
tabelat në RAM. Kjo do të thotë se nuk ka pothuajse asnjë shpenzim
kostot e lidhura me skedarë të vegjël, dhe ky shpenzim i përgjithshëm është i vogël kur
duke punuar me skedarë të mëdhenj. Rezulton se pothuajse e gjithë infrastruktura,
duke mbështetur punën e sistemit të skedarëve, funksionon në kurriz të thellë
tamponim i shkallëzuar.
Atributet e skedarit
Folëm për organizimin e përdoruesve të sistemit; ajo ka
strukturë hierarkike me tre nivele.
Çdo përdorues i përket grupit. Sipas hierarkisë
përdoruesve, është përcaktuar një hierarki e mbrojtjes së skedarëve dhe të drejtave të përdoruesve.
Koncepti i pronarit të skedarit është përcaktuar. Pronari origjinal i skedarit është
përdoruesi (ose më mirë, procesi i përdoruesit) që krijoi këtë skedar. atribut
"Pronari i skedarit" mund të ndryshohet me komandën changeown. Çdo skedar ka
atributet e sigurisë që lidhen me hierarkinë. Ju keni të drejta aksesi për disa
veprimet e skedarit nga pronari i skedarit. Këto janë lejet e leximit, në
regjistrim, për ekzekutim. Çdo skedar, përveç të drejtave që lidhen me nivelin
përdorues, ka të drejta që lidhen me nivelin e grupit. Është e drejtë për të gjithë
përdoruesit e grupit të cilit i përket pronari i skedarit, me përjashtim të
vetë (d.m.th., të drejtat e pronarit dhe grupit të tij janë të ndryshme). Kategoria e tretë
mbrojtja - gjithë pjesa tjetër. Këto janë të drejtat që kanë të gjithë përdoruesit.
sistemet, me përjashtim të pronarit dhe grupit të tij. Sistemi ka një komandë
lejet ndryshojnë modalitetin e ndryshimit.
Përveç atributeve të aksesit, çdo skedar mund të ketë shenja, në
veçanërisht, të ashtuquajturat. t-bit dhe s-bit, të cilat janë vendosur gjithashtu nga disa
ekipi. Ne, duke ditur tashmë strukturën e sistemit të skedarëve, kuptojmë se, në parim,
skedari mund të jetë shumë i fragmentuar. Për më tepër,
skedari mund të jetë i madh, dhe kur hapni një skedar të madh, ndodhin shpenzime të përgjithshme
kostot që lidhen me aksesin në blloqe të largëta të një skedari. Prandaj, zbulimi
skedari është një proces i gjatë. Për të optimizuar këtë veprim, në
sistemi ka aftësinë të shënojë skedarët e ekzekutueshëm me një t-bit. Më pas
ndodh si më poshtë: në rast se thirret një skedar i ekzekutueshëm,
shënohet me një t-bit, pastaj në thirrjen e parë gjatë seancës së sistemit,
kopjimi i trupit të skedarit në zonën e ruajtjes. Sa herë që telefononi përsëri
file, së pari skanohet drejtoria e zonës së ruajtjes dhe në atë
nëse skedari që kërkoni është atje, atëherë skedari nuk është i ngarkuar nga OVC,
por nga kjo zonë. Kjo do të thotë, kjo është një mënyrë tjetër për të minimizuar thirrjet në OVC.
Zakonisht, aftësia për të vendosur t-bit është prerogativë e sistemit
administratori, dhe administratori i sistemit zgjedh ato procese (dhe
përkatësisht skedarë), të cilët duhet të shënohen me një t-bit. Zakonisht ato janë të shënuara
ato procese që përdoren më shpesh (nëse, për shembull, ka
punëtori, ka kuptim të shënoni skedarin e përpiluesit me një t-bit).
Ne do ta mbulojmë S-bit disi sipërfaqësisht, por do t'i kthehemi më vonë.
Ekziston problemi i mëposhtëm. Të gjitha fondet e sistemit i përkasin dikujt, pasi të gjitha
do të thotë, të gjitha komandat (përveç disa atyre të integruara) në finale
llogaria janë skedarë që kanë një pronar. Disa nga
këto komanda mund t'i referohen skedarëve të caktuar të sistemit. Ngrihet
problemi që lidhet me faktin se nga njëra anë duhet të ketë mbrojtje kundër
akses i paautorizuar në skedar. Nga ana tjetër, të gjitha skuadrat kanë
të drejtat e mundshme për të gjitha kategoritë. Si të jesh? Është e mundur të shënohet
disa skedarë janë s-bit. Pronari i skedarit s-bit mbetet i njëjtë, por
kur nis këtë skedar, zotëruesi i procesit që e nisi këtë skedar,
jepen të drejtat për të aksesuar të dhënat nga pronari i skedarit origjinal.
Supozoni se ekziston një skedar i ekzekutueshëm me emër dhe funksionon disi-
Kjo është mënyra me skedarin 2, i cili përmban informacion konfidencial.
Supozoni se skedari përditëson skedarin2 i cili përmban informacione rreth
të gjithë përdoruesit e regjistruar dhe, në veçanti, skedari mund të ndryshojë
fjalëkalimin e përdoruesit në sistem. Nëse unë ekzekutoj skedarin në emrin tim, atëherë ata munden
lindin dy situata: ose nuk mund të punoj me file2, i cili përmban
kredencialet e përdoruesit sepse është e mbyllur për të gjithë
pjesa tjetër; ose është e hapur për të gjithë, atëherë nuk ka mbrojtje. Në këtë rast
s-bit punon. Thelbi i punës së tij është si më poshtë. Nga pronari
skedari burimor është ROOT i përdoruesit. Supozoni se ky skedar donte
ekzekutoni një përdorues të quajtur MASH. Nëse MASH e ekzekuton këtë skedar dhe nuk ka s-
bit, rezulton se pronari i skedarit është ROOT, dhe pronari
procesi u bë MASH. Në këtë rast, skedarët që nuk janë në dispozicion të përdoruesit
MASH do të jetë i paarritshëm për procesin e tij dhe MASH nuk do të jetë në gjendje ta ndryshojë atë
fjalëkalimin në sistem. S-bit ju lejon të zgjeroni të drejtat e pronarit (ROOT) të skedarit
zotëruesi (MASH) i procesit (i nisur nga ky skedar) dhe për kohëzgjatjen e seancës
punën e procesit, të gjitha ato dosje që ishin në dispozicion do të jenë në dispozicion të tij
pronari i skedarit (ROOT).
Pyetja tjetër: si interpretohen lejet e drejtorisë
(pasi edhe drejtoritë janë skedarë)? Leje për të lexuar nga
direktori do të thotë që lejohet të futet në drejtori dhe të hapë skedarë nga kjo
drejtoria. Leja e shkrimit ofron mundësinë për të krijuar dhe
shkatërroni skedarët në këtë direktori. Leja e ekzekutimit është
aftësia për të kërkuar në një direktori të caktuar (për shembull, duke përdorur komandën ls).
Sistemi i skedarëve nga këndvështrimi i përdoruesit.
Le të hedhim një vështrim në strukturën e sistemit të skedarëve nga këndvështrimi
përdorues. Kjo strukturë do të konsiderohet për një përgjithësim
sistemi operativ, pasi struktura e tij aktuale mund të ndryshojë.
Ekziston një skedar me emrin unix në direktorinë rrënjë. Ky është i njëjti skedar
i cili niset nga bootloader dhe i cili formon kernelin
Katalogu ETC. Kjo direktori përmban skedarë standard të të dhënave
sistemet dhe komandat që ofrojnë një nivel kontrolli
funksionimin e sistemit. 1. Skedari passwd. Të gjithë përdoruesit në
sistemi regjistrohen përmes këtij skedari. Kjo do të thotë se nëse
përdoruesi mund të punojë, atëherë ka një rresht në skedarin passwd të shënuar
emri i përdoruesit që përmban një grup të dhënash të ndara me
karakter ndarës. Në mënyrë të veçantë, rreshti në skedarin passwd përmban numrin
grupi të cilit i përket përdoruesi ndonjëherë mund të përmbajë
një fjalëkalim të koduar për përdoruesin që të hyjë në sistem. i koduar -
do të thotë se sistemi po përdor një mundësi të dykuptimtë reciproke
hartëzimi i një sekuence karakteresh në një kod dhe në sistem
shfaqja e këtij fjalëkalimi ruhet. UNIX-et moderne ruajnë fjalëkalimet në
një bazë të dhënash të veçantë të sigurt (edhe pse skedari passwd është gjithashtu i pranishëm),
sepse skedari passwd zakonisht është i hapur për lexim, algoritmi i konvertimit
zakonisht njihet dhe është e mundur të merret me mend fjalëkalimi.
duke karakterizuar mbiemrin, emrin dhe patronimin e përdoruesit; fushë në të cilën
tregohet statusi i përdoruesit; fusha që përmban direktorinë "home".
E njëjta linjë tregon (ose mund të tregohet) me cilin interpretues
komandat që ky përdorues do të ekzekutojë. Mund të ketë edhe më shumë
parametrave.
2. Skedari rc. Ky skedar përmban një grup prej
komandat që do të ekzekutohen kur sistemi operativ të fillojë.
Për shembull, në nisje, sistemi operativ mund të fillojë një proces
kontrollimi i sigurisë së sistemit të skedarëve.
Ju lutemi vini re se sistemi operativ UNIX, me përjashtim të
disa raste, përmban të gjithë informacionin e sistemit të tij në mënyrë të zakonshme
skedarët e tekstit. Ky informacion është i lehtë për t'u parë dhe i lehtë
rregulluar. Në një kohë, ky ishte një hap revolucionar.
3. E njëjta direktori përmban komanda që lejojnë
ndryshoni fjalëkalimet e përdoruesve (passwd i ekzekutueshëm), lejoni
"Monotoni" sistemet e skedarëve lokalë në sistemin e skedarëve dhe
për të bazuar të njëjtat sisteme lokale, ju lejon të filloni procesin
testimi dhe korrigjimi i sistemit të skedarëve. Ky proces kontrollon skedarin
sistem për një grup të caktuar karakteristikash, për shembull, një grup të lirë
skedarët, kur kombinohen me shumë skedarë të zënë, duhet të japin gjithçka
Drejtoria BIN. Ky katalog përmban një numër dërrmues të standardeve
komandat e sistemit në dispozicion të përdoruesit.
Drejtoria MNT. Ky është drejtoria në të cilën mund të "montoni" lokale
sistemet e skedarëve. Deri më tani, ne besuam se sistemi i skedarëve
të pritur në një pajisje, por në realitet nuk është. Ekziston një bazë
sistemi i skedarëve në pajisjen e sistemit, dhe ekziston një arbitrar (në
kufijtë e arsyeshëm) numri i sistemeve të skedarëve lokalë që
montohen në sistem duke përdorur disa komanda. Rrënja lokale
sistemi i skedarëve do të jetë drejtoria MNT.
Katalogu DER. Kjo direktori përmban skedarë të lidhur me
drejtues të veçantë të pajisjeve të jashtme, të tilla si drejtuesit e konsolës,
printim linear etj. A ju kujtohet se skedarët e lidhur me drejtuesit
pajisjet e jashtme, në ID-në e lidhur me emrin e tyre, kanë shenjën
fakti që kjo është një pajisje skedari, dhe gjithashtu kanë lidhje në ID me ato përkatëse
tavolina shoferi. Këto skedarë nuk kanë përmbajtje.
Drejtoria USR. Kjo direktori ka një nëndrejtori LIB në të cilën zakonisht
ka biblioteka që zbatojnë disa funksione grupi,
ofruar për përdoruesit, përfshirë. C përpilues me përkatëse
bibliotekat mbështetëse.
Gjithashtu, ekziston një nëndrejtori BIN (/ USR / BIN), i cili përmban
nga administratori i sistemit komandat shtesë "homespun", sepse e tyre
vendosja në drejtorinë / BIN konsiderohet e pasaktë.
PËRFSHIJ nëndirektorinë. A ju kujtohet se si duket linja e përfshirjes
Kjo linjë udhëzon paraprocesorin C të marrë një skedar nga drejtoria
/ USR / PËRFSHIJ. Kjo direktori ka nëndrejtoritë e veta, dhe ne jemi të interesuar
Nëndirektoria SYS (/ USR / INCLUDE / SYS). Ai përmban skedarë të përfshirë,
lidhur me aftësitë e sistemit, në veçanti sinjal.h është
një numërim i atyre sinjaleve që mund të shkëmbehen ndërmjet dy proceseve.
Pra, ne kemi përfunduar përshkrimin e sistemit të skedarëve dhe mund të konkludojmë se
sistemi i skedarëve UNIX është hierarkik, me shumë përdorues. Skedari
Sistemi UNIX ka buffering të thellë me shumë nivele për shkëmbime me
pajisje reale. Sistemi i skedarëve UNIX është informues
bazën e funksionimit të sistemit operativ. Është një skedar i zgjerueshëm
sistemi, duke ruajtur integritetin e tij, d.m.th. ndërsa gjithmonë
ka vetëm një rrugë nga rrënja e saj deri te ndonjë nyje (ose gjethe).
Sistemi i skedarëve UNIX, për sa i përket organizimit logjik të skedarëve, ka
strukturën e tij të qartë dhe transparente. Kjo imponon disa kushte
mbi administrimin e sistemit, sepse ka probleme të koordinimit të të drejtave të aksesit në
komponentë të ndryshëm të sistemit të skedarëve, ka probleme me vendosjen e një të reje
informacion brenda sistemit të skedarëve.
-----------------------
Indeksi i trashëgimisë