Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Windows Phone
  • Mbi zhvillimin e sistemeve operative vendase. "Nuk ka asnjë arsye për të zhvilluar sistemin tuaj operativ" strukturën dhe funksionet e OS

Mbi zhvillimin e sistemeve operative vendase. "Nuk ka asnjë arsye për të zhvilluar sistemin tuaj operativ" strukturën dhe funksionet e OS

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ë

Artikujt kryesorë të lidhur