pangunahing - Kusina
Mag-download ng isang encyclopedia ng lahat tungkol sa mga operating system. Mga libro sa operating system. Pangkalahatang-ideya ng hardware ng computer

1 Pagsisimula sa Mga Operating System

1.1 Layunin at pag-andar ng operating system

Ang operating system ng isang computer ay isang hanay ng magkakaugnay na mga programa na gumaganap bilang isang interface sa pagitan ng mga application at mga gumagamit sa isang banda, at ang hardware ng computer sa kabilang banda. Gumagawa ang operating system ng dalawang pangkat ng mga pag-andar:

Nagbibigay sa gumagamit o programmer ng isang pinalawig na virtual machine sa halip na ang totoong hardware ng computer;

Pinapataas ang kahusayan ng paggamit ng computer sa pamamagitan ng makatuwiran na pamamahala ng mga mapagkukunan nito alinsunod sa ilang pamantayan.

Ang gumagamit, bilang panuntunan, ay hindi interesado sa mga detalye ng computer hardware device, nakikita niya ito bilang isang hanay ng mga application na maaaring nakasulat sa isa sa mga wika ng pagprograma. Ang operating system ay nagbibigay sa programmer ng isang bilang ng mga kakayahan na maaaring magamit ng mga programa sa pamamagitan ng mga espesyal na utos na tinatawag na system call. Samakatuwid, ang isang application ng software ay may kasamang maraming mga tawag sa system na kinakailangan, halimbawa, upang gumana kasama ang mga file. Itinatago ng operating system ang mga detalye ng hardware mula sa programmer at nagbibigay ng isang maginhawang interface para sa pagpapatupad ng operating environment system.

Sa parehong oras, ang operating system ay kumikilos bilang isang tagapamahala ng mapagkukunan. Sa ilalim ng pamamaraang ito, ang trabaho ng operating system ay upang magbigay ng isang organisado at kontroladong paglalaan ng mga processor, memorya, at I / O sa pagitan ng iba't ibang mga programa. Ang operating system ay may mga sumusunod na tampok:

Ang mga pag-andar ng operating system ay gumagana sa parehong paraan tulad ng natitirang software - ipinatupad ito bilang magkakahiwalay na mga programa o isang hanay ng mga programa, nagpapatakbo ng mga proseso;

Dapat ilipat ng operating system ang kontrol sa iba pang mga proseso at hintaying maglaan ang processor ng oras dito muli upang maisagawa ang mga tungkulin nito.

Kasama sa pamamahala ng mapagkukunan ang sumusunod na pangkalahatang, mga independyenteng gawain na mapagkukunan:

Pagpaplano ng mapagkukunan - iyon ay, pagtukoy kung aling proseso, kailan at sa anong dami (kung ang mapagkukunan ay maaaring ilaan sa mga bahagi) isang naibigay na mapagkukunan ay dapat na ilaan;

Ang nagbibigay-kasiyahan sa mga kahilingan sa mapagkukunan;

Pagsubaybay sa katayuan at accounting para sa paggamit ng mapagkukunan - iyon ay, pagpapanatili ng impormasyon sa pagpapatakbo tungkol sa kung ang mapagkukunan ay abala o libre at kung anong bahagi ng mapagkukunan ang nailaan;

Paglutas ng mga hidwaan sa pagitan ng mga proseso.

Kasama sa pamamahala ng mapagkukunan ang kanilang multiplexing (pamamahagi) sa dalawang paraan: sa oras at sa espasyo. Kapag ang isang mapagkukunan ay inilalaan sa paglipas ng panahon, iba't ibang mga gumagamit at programa ang gumagamit nito sa pagliko. Una, ang isa sa kanila ay nakakakuha ng pag-access sa paggamit ng mapagkukunan, pagkatapos ang isa pa, at iba pa. Halimbawa, maraming mga programa ang nais na ma-access ang gitnang processor. Sa sitwasyong ito, pinapayagan muna ng operating system ang pag-access sa processor sa isang programa, pagkatapos, pagkatapos na gumana ito para sa isang sapat na dami ng oras, sa isa pang programa, pagkatapos ay sa susunod, at, sa wakas, muli sa una. Ang pagtukoy kung gaano katagal gagamitin ang isang mapagkukunan sa oras, sino ang susunod, at kung gaano katagal inilalaan ang mapagkukunan na ito ay gawain ng operating system. Ang isa pang uri ng pamamahagi ay spatial multiplexing. Sa halip na magtrabaho nang paisa-isa, ang bawat kliyente ay tumatanggap ng isang bahagi ng mapagkukunan. Karaniwan, ang RAM ay ibinabahagi sa pagitan ng maraming mga tumatakbo na programa, upang lahat sila ay maaaring manatili sa memorya nang sabay (halimbawa, gamit ang sentral na processor sa pagliko). Ipagpalagay na mayroong sapat na memorya upang mag-imbak ng maraming mga programa, mas mahusay na maglagay ng maraming mga programa sa memorya nang sabay-sabay kaysa sa ilaan ang lahat ng memorya sa isang programa, lalo na kung nangangailangan lamang ito ng isang maliit na bahagi ng magagamit na memorya. Siyempre, nagtataas ito ng mga isyu ng patas na paglalaan, proteksyon ng memorya, at iba pa, at mayroon isang operating system upang malutas ang mga isyung ito.

1.2 Kasaysayan ng pag-unlad ng mga operating system

Karaniwan, ang kasaysayan ng pag-unlad ng mga operating system ay nauugnay sa kasaysayan ng pag-unlad ng mga computer. Ang unang ideya para sa isang computer ay iminungkahi ng dalubbilang Ingles na si Charles Babbage noong kalagitnaan ng ikalabinsiyam na siglo. Binuo niya ang tinaguriang mechanical na "analytical engine", na kung saan ay hindi gumana ng maayos. Ang mga sumusunod ay henerasyon ng mga computer at ang kanilang kaugnayan sa mga operating system.

Unang henerasyon 1945-1955

Ang mga computer ay binubuo ng mga vacuum tubes at patch panel. Ang pinakamataas na nakamit ay ang pagpapalabas ng mga punched card. Ginawa ng manipis na karton, ang isang sinuntok na kard ay kumakatawan sa impormasyon sa pamamagitan ng pagkakaroon o kawalan ng mga butas sa ilang mga posisyon ng card. Walang operating system.

Pangalawang henerasyon 1955-1965

Ang batayan ng mga computer ay transistors at batch processing system. Nailalarawan ng mga deck ng mga punched card at tape recorder. Pangunahin na nai-program sa mga wika ng Fortran at Assembler para sa mga operating system ng Fortran Monitor System (FMS) at IBSYS.

Pangatlong salinlahi 1965-1980

Ang panahon ay nailalarawan sa pamamagitan ng paglitaw ng mga integrated circuit, pati na rin ang multitasking, o, tulad ng tawag sa ibang paraan, multiprogramming. Gumawa ang IBM ng iba't ibang mga serye ng mga makina, simula sa IBM / 360. Ang operating system ng OS / 360 ay isinulat para sa kanila, na halos 1000 beses sa laki ng ikalawang henerasyong FMS. Sa yugtong ito, lilitaw ang isang pang-industriya na pagpapatupad ng multitasking - isang pamamaraan ng pag-oorganisa ng isang proseso ng computing kung saan maraming mga programa ang sabay na nasa memorya ng computer, halili na isinasagawa sa isang processor.

Ang iba pang mga kilalang operating system mula sa panahong ito ay ang CTSS (Time Sharing Compatible System) at MULTICS (Multiplexed Information and Computing Service), na idinisenyo upang magbigay ng pag-access sa isang solong makina para sa daan-daang mga gumagamit nang sabay-sabay. Ang karagdagang pag-unlad ng sistemang ito ay lumago sa UNIX.

Ika-4 na henerasyon 1980-kasalukuyan

Ang panahong ito ay nauugnay sa paglitaw ng mga malalaking integrated circuit. Noong 1974, inilabas ng Intel ang unang unibersal na 8-bit na processor, ang Intel 8080. Noong unang bahagi ng 1980, binuo ng IBM ang IBM PC, isang personal na computer. Sa parehong oras, lilitaw ang unang bersyon ng MS-DOS. Ang lahat ng mga operating system na binuo hanggang sa puntong ito ay suportado lamang ng mode ng teksto ng komunikasyon sa gumagamit.

Ang unang pagtatangka sa isang user-friendly na grapikong interface ay ipinatupad sa Apple Macintosh. Naimpluwensyahan ng tagumpay nito, naglalabas ang Microsoft Corporation ng isang graphic na shell para sa MS-DOS - Windows. At mula noong 1995, ang Windows 95 ay pinakawalan, na naging isang stand-alone na system. Sa paglaon, batay sa Windows 95 at isa pang Windows NT system, ang kasalukuyang umiiral na mga operating system ay binuo - Windows 2000, XP, Vista at iba pa.

1.3 Pag-uuri ng mga operating system

Maraming mga operating system at hindi alam ng lahat ang mga ito. Dagdag dito, 7 uri ng iba't ibang mga operating system ay isinasaalang-alang sa mga tuntunin ng antas mula malaki hanggang maliit.

Mga operating system ng Mainframe

Ang mainframe ay isang mahusay na pagganap na pangkalahatang-layunin na computer na may isang makabuluhang halaga ng RAM at panlabas na memorya, na idinisenyo upang maisagawa ang masinsinang gawain sa computational. Kadalasan ito ay mga computer na kasing laki ng silid at matatagpuan sa malalaking mga korporasyon. Karaniwang naglalaman ang mga Mainframe ng libu-libong mga disk at terabyte ng RAM.

Ang mga operating system ng Mainframe ay pangunahing nakatuon sa paghawak ng maraming mga kasabay na trabaho, na ang karamihan ay nangangailangan ng isang malaking halaga ng I / O. Dapat tumugon ang system sa libu-libong mga kahilingan bawat segundo. Ang isang halimbawa ay OS / 390, na nagmula sa ika-3 henerasyong OS / 360 operating system.

Mga operating system ng server

Ang mga operating system na ito ay tumatakbo sa mga server, na isang personal na computer, workstation, o kahit isang mainframe. Nagbibigay ang mga server ng kakayahang gumana sa mga printer, file, o sa Internet. Kasama sa mga operating system na ito ang Unix, Linux, Windows 2003 Server, atbp.

Mga operating system ng Multiprocessor

Ang mga sistemang ito ay ginagamit sa mga computer na may maraming mga sentral na yunit sa pagproseso. Nangangailangan sila ng mga espesyal na operating system, ngunit kadalasan ang mga ito ay nababago ng mga operating system ng server.

Mga operating system para sa mga personal na computer

Ang pangunahing pamantayan ng mga sistemang ito ay isang maginhawang interface para sa isang gumagamit. Ang pinakatanyag na mga system: Windows 98, 2000, XP, Vista series; Macintosh, Linux.

Mga operating system ng real-time

Ang pangunahing parameter ng mga sistemang ito ay oras. Sa mga sistemang kontrol sa proseso ng pang-industriya, kinakailangang malinaw na i-synchronize ang oras ng pagpapatakbo ng conveyor, iba't ibang mga robot sa industriya. Ito ay isang mahirap na real-time na system. Mayroon ding mga kakayahang umangkop na mga real-time system - posible na makaligtaan ang mga deadline para sa pagpapatakbo, halimbawa, mga multimedia system. Kasama sa real-time na mga operating system ang VxWorks at QNX.

Naka-embed na mga operating system

Kasama rito ang mga operating system ng PDA (Personal Digital Assistant). Bilang karagdagan, gumagana ang mga naka-embed na system sa mga kotse, telebisyon, at mobile phone. Ang mga operating system na ito ay karaniwang may lahat ng mga katangian ng mga real-time na operating system na may limitadong memorya, kapangyarihan, atbp. Mga halimbawa ng system - PalmOS, Windows CE.

Mga operating system para sa mga smart card

Ang isang smart card ay isang aparatong kasing laki ng credit card na naglalaman ng isang sentral na yunit sa pagpoproseso. Ang mga nasabing sistema ay napapailalim sa matinding kapangyarihan at mga limitasyon sa memorya. Ang ilan ay namamahala lamang ng isang transaksyon - halimbawa ng elektronikong pagbabayad. Ang mga piling smart card ay may kasamang suporta para sa Java Virtual Machine.

1.4 Pangkalahatang-ideya ng hardware ng computer

Ang isang operating system ay malapit na nauugnay sa hardware ng computer kung saan ito dapat na tumakbo. Ang hardware ay nakakaapekto sa hanay ng pagtuturo ng operating system at pamamahala sa mapagkukunan. Ang isang simpleng konsepto ng computer ay maaaring isipin bilang modelo na ipinakita sa Larawan 1. Ang istrakturang ito ay ginamit sa mga unang modelo ng IBM PC.

Larawan 1 - Ang ilang mga bahagi ng isang personal na computer


Sa pigura, ang gitnang processor, memorya, mga aparato ng input-output ay konektado sa pamamagitan ng system bus, kung saan nagpapalitan sila ng impormasyon.

CPU

Ang "utak" ng computer ay ang Central Processing Unit (CPU). Pinipili niya ang mga utos mula sa memorya at isinasagawa ang mga ito. Ang isang karaniwang siklo ng processor ay ganito: basahin ang unang tagubilin mula sa memorya, i-decode upang matukoy ang uri nito at pagpapatakbo, ipatupad ang tagubilin, pagkatapos basahin, i-decode ang mga kasunod na tagubilin. Ganito isinasagawa ang mga programa.

Ang bawat processor ay may isang hanay ng mga tagubilin na maaari nitong maisagawa. Dahil ang pag-access sa memorya upang makatanggap ng mga tagubilin o hanay ng data ay tumatagal ng mas mahaba kaysa sa pagpapatupad ng mga tagubiling ito, ang lahat ng mga processor ay naglalaman ng panloob na mga pagrehistro para sa pag-iimbak ng mga variable at pansamantalang resulta. Samakatuwid, ang isang hanay ng pagtuturo ay karaniwang naglalaman ng mga tagubilin upang mai-load ang isang salita mula sa memorya sa isang rehistro at mag-imbak ng isang salita mula sa isang pagrehistro sa memorya. Bilang karagdagan sa pangunahing mga rehistro na ginamit para sa pagtatago ng mga variable, ang karamihan sa mga processor ay may maraming mga espesyal na rehistro na ginagamit para sa pag-iimbak ng mga variable, pati na rin ang mga espesyal na rehistro na nakikita ng mga programmer.

Kapag ang isang processor ay time-multiplexed, ititigil ng operating system ang isang tumatakbo na programa upang magsimula ng isa pa. Sa tuwing magaganap ang ganoong pagkagambala, dapat i-save ng operating system ang lahat ng mga rehistro ng processor upang sa paglaon, kapag nagpatuloy ang gumana ng programa sa gawain nito, maaari silang mapanumbalik.

Upang madagdagan ang bilis ng CPU, inabandona ng kanilang mga developer ang simpleng modelo, kung sa isang utos lamang ang mababasa, mai-decode, at maipatupad sa isang siklo. Ang mga modernong processor ay may kakayahang magpatupad ng maraming mga tagubilin nang sabay.

Karamihan sa mga CPU ay may dalawang mga mode ng pagpapatakbo: kernel mode at mode ng gumagamit. Kapag tumatakbo ang processor sa kernel mode, maaari nitong maisagawa ang lahat ng mga tagubilin sa isang hanay ng mga tagubilin at gamitin ang lahat ng mga kakayahan sa hardware. Tumatakbo ang operating system sa kernel mode, na nagbibigay ng pag-access sa lahat ng hardware. Sa kaibahan, ang mga gumagamit ay nagpapatakbo sa mode ng gumagamit, na nagpapahintulot sa pagpapatupad ng isang subset ng mga programa at ginagawang magagamit lamang ang isang bahagi ng hardware.

Memorya

Ang pangalawang pangunahing sangkap ng anumang computer ay memorya. Sa isip, ang memorya ay dapat na mas mabilis hangga't maaari (mas mabilis kaysa sa pagproseso ng isang solong tagubilin upang ang processor ay hindi mabagal sa pamamagitan ng pag-access sa memorya na sapat na malaki at labis na mura). Ngayon, walang mga teknolohiya na nakakatugon sa lahat ng mga kinakailangang ito. Samakatuwid, mayroong ibang diskarte.

Ang sistema ng memorya ay itinayo sa anyo ng isang hierarchy ng mga layer, na inilalarawan sa Larawan 2. Habang inililipat mo ang hierarchy mula sa itaas hanggang sa ibaba, tumataas ang dalawang mga parameter: oras ng pag-access, laki ng memorya.

Ang tuktok na layer ay binubuo ng panloob na mga pagrehistro sa CPU, kaya walang mga pagkaantala kapag ina-access ang mga ito. Ang mga panloob na rehistro ay nag-iimbak ng mas mababa sa 1KB ng impormasyon. Maaaring pamahalaan ng mga programa ang mga rehistro nang walang interbensyon sa hardware. Ang pag-access sa rehistro ay pinakamabilis - ilang nanoseconds.

Ang susunod na layer ay naglalaman ng memorya ng cache, higit sa lahat kinokontrol ng hardware. Ang pinaka-karaniwang ginagamit na mga lugar ng cache ay nakaimbak sa isang high-speed cache na matatagpuan sa loob ng CPU. Kapag ang isang programa ay dapat basahin ang isang salita mula sa memorya, tinutukoy ng cache chip kung ang kinakailangang linya ay nasa cache; kung gayon, pagkatapos ay may isang mabisang pag-access sa memorya ng cache. Ang cache memory ay limitado sa laki dahil sa mataas nitong gastos. Ang mga modernong makina ay may dalawa o tatlong antas ng cache, ang bawat isa ay mas mabagal at mas malaki kaysa sa huli. Mga laki ng memorya ng cache mula sa sampu-sampung kilobytes hanggang sa maraming megabytes. Ang oras sa pag-access ay bahagyang mas mahaba kaysa sa mga pagrehistro.


Larawan 2 - Hierarchical na istraktura ng memorya


Sinusundan ito ng RAM (RAM - Random Access Memory) - ang pangunahing lugar ng pagtatrabaho ng memorya ng makina. Ang lahat ng mga kahilingan sa CPU na hindi matutupad ng cache memory ay pupunta sa RAM para sa pagproseso. Mga volume mula sa daan-daang mga megabyte hanggang sa maraming mga gigabyte. Ang oras sa pag-access ay sampu-sampung mga nanoseconds.

Susunod ay ang magnetic disk. Ang memorya ng disk ay dalawang order ng magnitude na mas mura kaysa sa RAM per bit at dalawang order ng magnitude na mas malaki. Ang disk ay may isang problema - ang random na pag-access sa data dito ay tumatagal ng tungkol sa tatlong mga order ng lakas na mas mahaba. Ang dahilan para sa mababang bilis ng mga hard disk drive (HDDs) ay ang drive ay isang disenyo ng makina. Ito ay binubuo ng isa o higit pang mga metal plate na umiikot sa mga tiyak na bilis, halimbawa 7200 rpm. Ang dami ng mga disk ay mabilis na lumalaki ngayon, at para sa karamihan ng mga gumagamit mayroong mga disk na may daan-daang mga gigabyte na ibinebenta. Oras ng pag-access - hindi kukulangin sa 10 μs.

Kadalasang ginagamit ang tape para sa pag-back up ng mga HDD o para sa pag-iimbak ng napakalaking mga dataset. Ngayon, syempre, bihira kung saan mo mahahanap ang paggamit ng mga magnetikong teyp, ngunit hindi pa rin sila nawawala. Kasama rin sa antas ng tape ang mga CD, DVD, at flash memory. Sinusukat ang oras ng pag-access sa mga segundo.

Bilang karagdagan sa mga uri na inilarawan, ang mga computer ay may isang maliit na halaga ng read-only memory na may random na pag-access. Hindi tulad ng RAM, hindi mawawala ang mga nilalaman nito kapag naka-off ang kuryente. Ito ay tinatawag na ROM o ROM. Ang ROM ay na-program sa panahon ng paggawa at pagkatapos nito ay hindi mababago ang mga nilalaman nito. Ang memorya na ito ay mabilis at sapat na mura. Ang mga programa ng bootstrap ng computer na ginagamit sa pagsisimula ay nasa ROM. Bilang karagdagan, ang ilang mga kard ng I / O ay naglalaman ng mga ROM para sa pagkontrol sa mga aparatong mababa ang antas. Ang isang uri ng memorya na tinatawag na CMOS ay pabagu-bago. Ginagamit ang CMOS upang maiimbak ang kasalukuyang mga parameter ng petsa, oras at pagsasaayos, tulad ng pagtukoy sa aling hard drive na magmula. Ang memorya na ito ay kumukuha ng lakas mula sa naka-install na baterya.

Mga aparatong input-output

Nakikipag-ugnay ang operating system sa mga I / O aparato bilang mga mapagkukunan. Ang mga aparato ng I / O ay karaniwang binubuo ng isang controller at ang aparato mismo.

Controller - isang hanay ng mga microcircuits sa isang board na ipinasok sa konektor, isang aparatong pang-pisikal na pagkontrol. Tumatanggap ito ng mga utos mula sa operating system (halimbawa, mga tagubilin na basahin ang data mula sa isang aparato) at isinasagawa ang mga ito. Ang aktwal na kontrol ng aparato ay napaka-kumplikado at nangangailangan ng isang mataas na antas ng detalye. Samakatuwid, ito ay ang function ng tagapamahala upang ipakita ang isang simpleng interface sa operating system.

Ang susunod na bahagi ay ang aparato mismo. Ang mga aparato ay may medyo simpleng mga interface, dahil ang kanilang mga kakayahan ay maliit at kailangan nilang dalhin sa isang solong pamantayan. Ang isang solong pamantayan ay kinakailangan, halimbawa, upang ang bawat IDE disk controller (Integrated Drive Electronics) ay maaaring pamahalaan ang anumang IDE disk. Ang interface ng IDE ay pamantayan para sa mga disk sa mga computer na nakabase sa Pentium pati na rin sa iba pang mga computer. Dahil ang interface ng totoong aparato ay nakatago ng controller, nakikita lamang ng operating system ang interface ng controller, na maaaring ibang-iba sa interface ng aparato mismo.

Dahil ang lahat ng uri ng mga tagakontrol ay magkakaiba, nangangailangan sila ng iba't ibang software. Ang program na nakikipag-usap sa controller ay isang driver ng aparato. Dapat magbigay ang bawat tagagawa ng controller ng mga driver para sa suportadong mga operating system. Upang magamit ang isang driver, dapat itong mai-install sa operating system upang maaari itong tumakbo sa kernel mode. Mayroong tatlong mga paraan upang mai-install ang isang driver sa kernel:

I-link muli ang kernel kasama ang bagong driver at pagkatapos ay i-reboot ang operating system (ito ang kung gaano karaming mga operating system ng Unix ang gumagana);

Lumikha ng isang entry sa file na kasama sa operating system na nagsasabing kinakailangan ng isang driver at pagkatapos ay i-reboot ang system; sa panahon ng paunang pag-boot, ang operating system mismo ay nakakahanap ng kinakailangang mga driver at na-load ang mga ito (ganito gumagana ang Windows);

Maaaring tanggapin ng operating system ang mga bagong driver nang hindi nakakaabala sa trabaho nito, at mabilis na mai-install ang mga ito nang hindi na kailangan ng isang reboot. Ang pamamaraang ito ay nagiging mas at mas karaniwan. Ang mga aparato tulad ng mga USB bus, palaging kailangan ng mga driver ng IEEE 1394 na pabagu-bago.

Ang Data I / O ay maaaring magawa sa tatlong magkakaibang paraan.

Ang pinakasimpleng paraan: ang programa ng gumagamit ay naglalabas ng isang kahilingan sa system, na isinalin ng kernel sa isang tawag sa pamamaraan na naaayon sa driver, pagkatapos ay sisimulan ng driver ang proseso ng I / O. Sa oras na ito, nagsasagawa siya ng isang maikling ikot ng programa, patuloy na binobola ang aparato kung saan siya nagtatrabaho. Kapag nakumpleto ko / O, inilalagay ng driver ang data kung saan kinakailangan ito at bumalik sa orihinal nitong estado. Pagkatapos ay ibabalik ng operating system ang kontrol sa programa ng pagtawag. Ang pamamaraang ito ay naghihintay para sa handa (aktibong paghihintay). Mayroon itong isang sagabal: dapat i-poll ng processor ang aparato hanggang sa ito ay tumigil.

Sinisimulan ng driver ang aparato at hinihiling nitong maglabas ng mga nakakagambala sa pagtatapos ng I / O; pagkatapos ay ibabalik ng driver ang kontrol sa operating system at nagsisimula itong magsagawa ng iba pang mga gawain. Kapag nakita ng controller ang pagtatapos ng paglilipat ng data, bumubuo ito ng isang nakakagambala sa pagkumpleto ng operasyon. Ang proseso ng I / O na gumagamit ng mga pagkagambala ay binubuo ng apat na hakbang (Larawan 3). Sa unang hakbang, ang driver ay nagpapadala ng isang utos sa controller, pagsulat ng impormasyon sa mga rehistro ng aparato. Sinimulan ng Controller ang aparato. Kapag natapos ng Controller ang pagbabasa o pagsusulat ng bilang ng mga byte na itinuro sa iyo na magpadala, nagpapadala ito ng isang senyas sa makagambala na chip ng controller gamit ang mga tukoy na wires ng bus. Ito ang hakbang dalawa. Sa pangatlong hakbang, kung ang makagambala na controller ay handa nang magproseso ng mga pagkagambala, pagkatapos ay nagpapadala ito ng isang senyas sa isang tukoy na pin ng CPU, na ipinaalam ito sa ganitong paraan. Sa ika-apat na hakbang, isingit ng interrupt controller ang numero ng aparato sa bus upang malaman ng CPU kung aling aparato ang naka-shut down.

Ang pangatlong pamamaraan ng input-output ng impormasyon ay ang paggamit ng isang espesyal na taga-kontrol ng DMA (Direct Memory Access). Pinamamahalaan ng DMA ang daloy ng bit sa pagitan ng RAM at ilang mga tagakontrol nang walang interbensyon ng CPU. Tinutugunan ng processor ang DMA chip, sinabi dito ang bilang ng mga byte upang ilipat, pati na rin ang address ng aparato at memorya, ang direksyon ng paglilipat ng data. Sa pagkumpleto ng trabaho, ang DMA ay nagpasimula ng isang nakakagambala, na kung saan ay naproseso sa karaniwang pamamaraan.


Larawan 3 - Ginawa ang mga pagkilos kapag nagsisimula ng isang I / O aparato at tumatanggap ng isang nakakagambala


Gulong

Dahil sa pagtaas ng bilis ng processor at memorya, idinagdag ang mga karagdagang bus sa system kapwa upang mapabilis ang komunikasyon sa pagitan ng mga input-output na aparato at upang maglipat ng data sa pagitan ng processor at memorya. Ipinapakita ng Larawan 4 ang isang diagram ng sistema ng computing ng unang Pentium.

Ang system na ito ay may 8 bus (cache bus, local bus, memory bus, PCI, SCSI, USB, IDE, ISA), bawat isa ay may sariling rate ng transfer ng data at mga sariling function. Ang operating system ay dapat may impormasyon tungkol sa lahat ng mga bus na ito upang makontrol ang computer.

Ang gitnang processor sa lokal na bus ay nagpapadala ng data sa PCI bridge chip, na ina-access din ang memorya sa isang nakalaang bus. Ang system ng Pentium I ay may isang Level 1 (L1) na cache na binuo sa processor at isang mas malaking Antas 2 (L2) na cache na konektado sa processor na may isang hiwalay na cache bus. Ginagamit ang IDE bus upang kumonekta sa paligid ng mga aparato sa system (CD-ROM, hard disk).


Larawan 4 - Ang istraktura ng sistemang Pentium


Ang USB (Universal Serial Bus) bus ay idinisenyo upang ikonekta ang mga karagdagang aparato ng I / O sa computer, tulad ng isang keyboard, mouse, printer, flash memory, atbp. Sa paglipas ng panahon, lumilitaw ang mga bagong mas mabilis na gulong at idinagdag.

Isang maikling pagpapakilala sa mga operating system. Pagtuturo Petr Stashchuk

(Wala pang mga rating)

Pamagat: Isang Maikling Panimula sa Mga Operating System. Pagtuturo

Tungkol sa librong Pyotr Stashchuk na "Isang Maikling Panimula sa Mga Operating System. Pagtuturo"

Ang paggamit ng teknolohiya ng computer ay hindi magiging epektibo kung walang kaalaman sa modernong software, na batay sa mga operating system at kanilang mga shell. Ang pag-aaral ng iminungkahing kurso na panteorya, ang mga mag-aaral ay dapat makakuha ng isang ideya ng mga kakayahan ng mga operating system, kanilang istraktura, mga prinsipyo ng organisasyon at paggana, mga panuntunan sa pagsasaayos, atbp. Ang pagtatrabaho sa manwal ay magpapahintulot sa mga mag-aaral na makakuha ng kaalaman sa mga modernong operating system sa antas ng isang kwalipikadong gumagamit at tulong upang pagsamahin ang mga praktikal na kasanayan sa paggamit ng modernong software sa panahon ng pag-aaral at propesyonal na aktibidad.

Para sa mga mag-aaral, nagtapos na mag-aaral, mga guro sa unibersidad.

Sa aming site tungkol sa mga libro, maaari mong i-download ang site nang libre nang walang pagpaparehistro o basahin ang online na aklat ni Petr Stashchuk "Isang Maikling Panimula sa Mga Operating System. Tutorial ”sa mga format ng epub, fb2, txt, rtf, pdf para sa iPad, iPhone, Android at Kindle. Magbibigay sa iyo ang libro ng maraming kaaya-aya na sandali at totoong kasiyahan mula sa pagbabasa. Maaari kang bumili ng buong bersyon mula sa aming kasosyo. Gayundin, makikita mo rito ang pinakabagong balita mula sa mundo ng panitikan, alamin ang talambuhay ng iyong mga paboritong may-akda. Para sa mga manunulat ng baguhan, mayroong isang hiwalay na seksyon na may kapaki-pakinabang na mga tip at trick, kagiliw-giliw na mga artikulo, salamat kung saan maaari mong subukan ang iyong kamay sa kasanayang pampanitikan.

Ang mga quote mula sa librong Peter Stashchuk na "Isang Maikling Panimula sa Mga Operating System. Pagtuturo"

Pamamahala ng pangunahing mga mapagkukunan ng computer (mga processor, memorya, mga panlabas na aparato), ang mga tampok ng mga pamamaraan ng disenyo na ginamit, mga uri ng mga platform ng hardware, mga lugar ng aplikasyon.

Pinoprotektahan ng OS ang gumagamit mula sa direktang trabaho sa computer hardware at binibigyan siya ng isang simpleng interface, nang nakapag-iisa sa paglutas ng mga problema sa pamamahala ng hardware na mababang antas.

Ang operating system ay isang hanay ng mga programa na nagbibigay ng pamamahala ng data at pagpapatupad ng mga programa ng gumagamit, coordinate ang pamamahagi ng mga mapagkukunan ng computer at mapanatili ang pakikipag-ugnay sa mga gumagamit.

Ang mga unang operating system ay ang mga system ng batch processing (monitor ng residente).

Ang isang computing system (CS) ay isang kumplikadong hardware at software na idinisenyo upang i-automate ang solusyon ng mga problema sa impormasyon ng gumagamit.

Kasalukuyang pahina: 1 (ang libro ay may 12 na pahina sa kabuuan) [magagamit na daanan para sa pagbabasa: 8 na pahina]

A. Yu.Kruchinin
Mga Sistema ng Pagpapatakbo

1 Pagsisimula sa Mga Operating System

1.1 Layunin at pag-andar ng operating system

Ang operating system ng isang computer ay isang hanay ng magkakaugnay na mga programa na gumaganap bilang isang interface sa pagitan ng mga application at mga gumagamit sa isang banda, at ang hardware ng computer sa kabilang banda. Gumagawa ang operating system ng dalawang pangkat ng mga pag-andar:

Nagbibigay sa gumagamit o programmer ng isang pinalawig na virtual machine sa halip na ang totoong hardware ng computer;

Pinapataas ang kahusayan ng paggamit ng computer sa pamamagitan ng makatuwiran na pamamahala ng mga mapagkukunan nito alinsunod sa ilang pamantayan.

Ang gumagamit, bilang panuntunan, ay hindi interesado sa mga detalye ng computer hardware device, nakikita niya ito bilang isang hanay ng mga application na maaaring nakasulat sa isa sa mga wika ng pagprograma. Ang operating system ay nagbibigay sa programmer ng isang bilang ng mga kakayahan na maaaring magamit ng mga programa sa pamamagitan ng mga espesyal na utos na tinatawag na system call. Samakatuwid, ang isang application ng software ay may kasamang maraming mga tawag sa system na kinakailangan, halimbawa, upang gumana kasama ang mga file. Itinatago ng operating system ang mga detalye ng hardware mula sa programmer at nagbibigay ng isang maginhawang interface para sa pagpapatupad ng operating environment system.

Sa parehong oras, ang operating system ay kumikilos bilang isang tagapamahala ng mapagkukunan. Sa ilalim ng pamamaraang ito, ang trabaho ng operating system ay upang magbigay ng isang organisado at kontroladong paglalaan ng mga processor, memorya, at I / O sa pagitan ng iba't ibang mga programa. Ang operating system ay may mga sumusunod na tampok:

Ang mga pag-andar ng operating system ay gumagana sa parehong paraan tulad ng natitirang software - ipinatupad ito bilang magkakahiwalay na mga programa o isang hanay ng mga programa, nagpapatakbo ng mga proseso;

Dapat ilipat ng operating system ang kontrol sa iba pang mga proseso at hintaying maglaan ang processor ng oras dito muli upang maisagawa ang mga tungkulin nito.

Kasama sa pamamahala ng mapagkukunan ang sumusunod na pangkalahatang, mga independyenteng gawain na mapagkukunan:

Pagpaplano ng mapagkukunan - iyon ay, pagtukoy kung aling proseso, kailan at sa anong dami (kung ang mapagkukunan ay maaaring ilaan sa mga bahagi) isang naibigay na mapagkukunan ay dapat na ilaan;

Ang nagbibigay-kasiyahan sa mga kahilingan sa mapagkukunan;

Pagsubaybay sa katayuan at accounting para sa paggamit ng mapagkukunan - iyon ay, pagpapanatili ng impormasyon sa pagpapatakbo tungkol sa kung ang mapagkukunan ay abala o libre at kung anong bahagi ng mapagkukunan ang nailaan;

Paglutas ng mga hidwaan sa pagitan ng mga proseso.

Kasama sa pamamahala ng mapagkukunan ang kanilang multiplexing (pamamahagi) sa dalawang paraan: sa oras at sa espasyo. Kapag ang isang mapagkukunan ay inilalaan sa paglipas ng panahon, iba't ibang mga gumagamit at programa ang gumagamit nito sa pagliko. Una, ang isa sa kanila ay nakakakuha ng pag-access sa paggamit ng mapagkukunan, pagkatapos ang isa pa, at iba pa. Halimbawa, maraming mga programa ang nais na ma-access ang gitnang processor. Sa sitwasyong ito, pinapayagan muna ng operating system ang pag-access sa processor sa isang programa, pagkatapos, pagkatapos na gumana ito para sa isang sapat na dami ng oras, sa isa pang programa, pagkatapos ay sa susunod, at, sa wakas, muli sa una. Ang pagtukoy kung gaano katagal gagamitin ang isang mapagkukunan sa oras, sino ang susunod, at kung gaano katagal inilalaan ang mapagkukunan na ito ay gawain ng operating system. Ang isa pang uri ng pamamahagi ay spatial multiplexing. Sa halip na magtrabaho nang paisa-isa, ang bawat kliyente ay tumatanggap ng isang bahagi ng mapagkukunan. Karaniwan, ang RAM ay ibinabahagi sa pagitan ng maraming mga tumatakbo na programa, upang lahat sila ay maaaring manatili sa memorya nang sabay (halimbawa, gamit ang sentral na processor sa pagliko). Ipagpalagay na mayroong sapat na memorya upang mag-imbak ng maraming mga programa, mas mahusay na maglagay ng maraming mga programa sa memorya nang sabay-sabay kaysa sa ilaan ang lahat ng memorya sa isang programa, lalo na kung nangangailangan lamang ito ng isang maliit na bahagi ng magagamit na memorya. Siyempre, nagtataas ito ng mga isyu ng patas na paglalaan, proteksyon ng memorya, at iba pa, at mayroon isang operating system upang malutas ang mga isyung ito.

1.2 Kasaysayan ng pag-unlad ng mga operating system

Karaniwan, ang kasaysayan ng pag-unlad ng mga operating system ay nauugnay sa kasaysayan ng pag-unlad ng mga computer. Ang unang ideya para sa isang computer ay iminungkahi ng dalubbilang Ingles na si Charles Babbage noong kalagitnaan ng ikalabinsiyam na siglo. Binuo niya ang tinaguriang mechanical na "analytical engine", na kung saan ay hindi gumana ng maayos. Ang mga sumusunod ay henerasyon ng mga computer at ang kanilang kaugnayan sa mga operating system.

Unang henerasyon 1945-1955

Ang mga computer ay binubuo ng mga vacuum tubes at patch panel. Ang pinakamataas na nakamit ay ang pagpapalabas ng mga punched card. Ginawa ng manipis na karton, ang isang sinuntok na kard ay kumakatawan sa impormasyon sa pamamagitan ng pagkakaroon o kawalan ng mga butas sa ilang mga posisyon ng card. Walang operating system.

Pangalawang henerasyon 1955-1965

Ang batayan ng mga computer ay transistors at batch processing system. Nailalarawan ng mga deck ng mga punched card at tape recorder. Pangunahin na nai-program sa mga wika ng Fortran at Assembler para sa mga operating system ng Fortran Monitor System (FMS) at IBSYS.

Pangatlong salinlahi 1965-1980

Ang panahon ay nailalarawan sa pamamagitan ng paglitaw ng mga integrated circuit, pati na rin ang multitasking, o, tulad ng tawag sa ibang paraan, multiprogramming. Gumawa ang IBM ng iba't ibang mga serye ng mga makina, simula sa IBM / 360. Ang operating system ng OS / 360 ay isinulat para sa kanila, na halos 1000 beses sa laki ng ikalawang henerasyong FMS. Sa yugtong ito, lilitaw ang isang pang-industriya na pagpapatupad ng multitasking - isang pamamaraan ng pag-oorganisa ng isang proseso ng computing kung saan maraming mga programa ang sabay na nasa memorya ng computer, halili na isinasagawa sa isang processor.

Ang iba pang mga kilalang operating system mula sa panahong ito ay ang CTSS (Time Sharing Compatible System) at MULTICS (Multiplexed Information and Computing Service), na idinisenyo upang magbigay ng pag-access sa isang solong makina para sa daan-daang mga gumagamit nang sabay-sabay. Ang karagdagang pag-unlad ng sistemang ito ay lumago sa UNIX.

Ika-4 na henerasyon 1980-kasalukuyan

Ang panahong ito ay nauugnay sa paglitaw ng mga malalaking integrated circuit. Noong 1974, inilabas ng Intel ang unang unibersal na 8-bit na processor, ang Intel 8080. Noong unang bahagi ng 1980, binuo ng IBM ang IBM PC, isang personal na computer. Sa parehong oras, lilitaw ang unang bersyon ng MS-DOS. Ang lahat ng mga operating system na binuo hanggang sa puntong ito ay suportado lamang ng mode ng teksto ng komunikasyon sa gumagamit.

Ang unang pagtatangka sa isang user-friendly na grapikong interface ay ipinatupad sa Apple Macintosh. Naimpluwensyahan ng tagumpay nito, naglalabas ang Microsoft Corporation ng isang graphic na shell para sa MS-DOS - Windows. At mula noong 1995, ang Windows 95 ay pinakawalan, na naging isang stand-alone na system. Sa paglaon, batay sa Windows 95 at isa pang Windows NT system, ang kasalukuyang umiiral na mga operating system ay binuo - Windows 2000, XP, Vista at iba pa.

1.3 Pag-uuri ng mga operating system

Maraming mga operating system at hindi alam ng lahat ang mga ito. Dagdag dito, 7 uri ng iba't ibang mga operating system ay isinasaalang-alang sa mga tuntunin ng antas mula malaki hanggang maliit.

Mga operating system ng Mainframe

Ang mainframe ay isang mahusay na pagganap na pangkalahatang-layunin na computer na may isang makabuluhang halaga ng RAM at panlabas na memorya, na idinisenyo upang maisagawa ang masinsinang gawain sa computational. Kadalasan ito ay mga computer na kasing laki ng silid at matatagpuan sa malalaking mga korporasyon. Karaniwang naglalaman ang mga Mainframe ng libu-libong mga disk at terabyte ng RAM.

Ang mga operating system ng Mainframe ay pangunahing nakatuon sa paghawak ng maraming mga kasabay na trabaho, na ang karamihan ay nangangailangan ng isang malaking halaga ng I / O. Dapat tumugon ang system sa libu-libong mga kahilingan bawat segundo. Ang isang halimbawa ay OS / 390, na nagmula sa ika-3 henerasyong OS / 360 operating system.

Mga operating system ng server

Ang mga operating system na ito ay tumatakbo sa mga server, na isang personal na computer, workstation, o kahit isang mainframe. Nagbibigay ang mga server ng kakayahang gumana sa mga printer, file, o sa Internet. Kasama sa mga operating system na ito ang Unix, Linux, Windows 2003 Server, atbp.

Mga operating system ng Multiprocessor

Ang mga sistemang ito ay ginagamit sa mga computer na may maraming mga sentral na yunit sa pagproseso. Nangangailangan sila ng mga espesyal na operating system, ngunit kadalasan ang mga ito ay nababago ng mga operating system ng server.

Mga operating system para sa mga personal na computer

Ang pangunahing pamantayan ng mga sistemang ito ay isang maginhawang interface para sa isang gumagamit. Ang pinakatanyag na mga system: Windows 98, 2000, XP, Vista series; Macintosh, Linux.

Mga operating system ng real-time

Ang pangunahing parameter ng mga sistemang ito ay oras. Sa mga sistemang kontrol sa proseso ng pang-industriya, kinakailangang malinaw na i-synchronize ang oras ng pagpapatakbo ng conveyor, iba't ibang mga robot sa industriya. Ito ay isang mahirap na real-time na system. Mayroon ding mga kakayahang umangkop na mga real-time system - posible na makaligtaan ang mga deadline para sa pagpapatakbo, halimbawa, mga multimedia system. Kasama sa real-time na mga operating system ang VxWorks at QNX.

Naka-embed na mga operating system

Kasama rito ang mga operating system ng PDA (Personal Digital Assistant). Bilang karagdagan, gumagana ang mga naka-embed na system sa mga kotse, telebisyon, at mobile phone. Ang mga operating system na ito ay karaniwang may lahat ng mga katangian ng mga real-time na operating system na may limitadong memorya, kapangyarihan, atbp. Mga halimbawa ng system - PalmOS, Windows CE.

Mga operating system para sa mga smart card

Ang isang smart card ay isang aparatong kasing laki ng credit card na naglalaman ng isang sentral na yunit sa pagpoproseso. Ang mga nasabing sistema ay napapailalim sa matinding kapangyarihan at mga limitasyon sa memorya. Ang ilan ay namamahala lamang ng isang transaksyon - halimbawa ng elektronikong pagbabayad. Ang mga piling smart card ay may kasamang suporta para sa Java Virtual Machine.

1.4 Pangkalahatang-ideya ng hardware ng computer

Ang isang operating system ay malapit na nauugnay sa hardware ng computer kung saan ito dapat na tumakbo. Ang hardware ay nakakaapekto sa hanay ng pagtuturo ng operating system at pamamahala sa mapagkukunan. Ang isang simpleng konsepto ng computer ay maaaring isipin bilang modelo na ipinakita sa Larawan 1. Ang istrakturang ito ay ginamit sa mga unang modelo ng IBM PC.


Larawan 1 - Ang ilang mga bahagi ng isang personal na computer


Sa pigura, ang gitnang processor, memorya, mga aparato ng input-output ay konektado sa pamamagitan ng system bus, kung saan nagpapalitan sila ng impormasyon.

CPU

Ang "utak" ng computer ay ang Central Processing Unit (CPU). Pinipili niya ang mga utos mula sa memorya at isinasagawa ang mga ito. Ang isang karaniwang siklo ng processor ay ganito: basahin ang unang tagubilin mula sa memorya, i-decode upang matukoy ang uri nito at pagpapatakbo, ipatupad ang tagubilin, pagkatapos basahin, i-decode ang mga kasunod na tagubilin. Ganito isinasagawa ang mga programa.

Ang bawat processor ay may isang hanay ng mga tagubilin na maaari nitong maisagawa. Dahil ang pag-access sa memorya upang makatanggap ng mga tagubilin o hanay ng data ay tumatagal ng mas mahaba kaysa sa pagpapatupad ng mga tagubiling ito, ang lahat ng mga processor ay naglalaman ng panloob na mga pagrehistro para sa pag-iimbak ng mga variable at pansamantalang resulta. Samakatuwid, ang isang hanay ng pagtuturo ay karaniwang naglalaman ng mga tagubilin upang mai-load ang isang salita mula sa memorya sa isang rehistro at mag-imbak ng isang salita mula sa isang pagrehistro sa memorya. Bilang karagdagan sa pangunahing mga rehistro na ginamit para sa pagtatago ng mga variable, ang karamihan sa mga processor ay may maraming mga espesyal na rehistro na ginagamit para sa pag-iimbak ng mga variable, pati na rin ang mga espesyal na rehistro na nakikita ng mga programmer.

Kapag ang isang processor ay time-multiplexed, ititigil ng operating system ang isang tumatakbo na programa upang magsimula ng isa pa. Sa tuwing magaganap ang ganoong pagkagambala, dapat i-save ng operating system ang lahat ng mga rehistro ng processor upang sa paglaon, kapag nagpatuloy ang gumana ng programa sa gawain nito, maaari silang mapanumbalik.

Upang madagdagan ang bilis ng CPU, inabandona ng kanilang mga developer ang simpleng modelo, kung sa isang utos lamang ang mababasa, mai-decode, at maipatupad sa isang siklo. Ang mga modernong processor ay may kakayahang magpatupad ng maraming mga tagubilin nang sabay.

Karamihan sa mga CPU ay may dalawang mga mode ng pagpapatakbo: kernel mode at mode ng gumagamit. Kapag tumatakbo ang processor sa kernel mode, maaari nitong maisagawa ang lahat ng mga tagubilin sa isang hanay ng mga tagubilin at gamitin ang lahat ng mga kakayahan sa hardware. Tumatakbo ang operating system sa kernel mode, na nagbibigay ng pag-access sa lahat ng hardware. Sa kaibahan, ang mga gumagamit ay nagpapatakbo sa mode ng gumagamit, na nagpapahintulot sa pagpapatupad ng isang subset ng mga programa at ginagawang magagamit lamang ang isang bahagi ng hardware.

Memorya

Ang pangalawang pangunahing sangkap ng anumang computer ay memorya. Sa isip, ang memorya ay dapat na mas mabilis hangga't maaari (mas mabilis kaysa sa pagproseso ng isang solong tagubilin upang ang processor ay hindi mabagal sa pamamagitan ng pag-access sa memorya na sapat na malaki at labis na mura). Ngayon, walang mga teknolohiya na nakakatugon sa lahat ng mga kinakailangang ito. Samakatuwid, mayroong ibang diskarte.

Ang sistema ng memorya ay itinayo sa anyo ng isang hierarchy ng mga layer, na inilalarawan sa Larawan 2. Habang inililipat mo ang hierarchy mula sa itaas hanggang sa ibaba, tumataas ang dalawang mga parameter: oras ng pag-access, laki ng memorya.

Ang tuktok na layer ay binubuo ng panloob na mga pagrehistro sa CPU, kaya walang mga pagkaantala kapag ina-access ang mga ito. Ang mga panloob na rehistro ay nag-iimbak ng mas mababa sa 1KB ng impormasyon. Maaaring pamahalaan ng mga programa ang mga rehistro nang walang interbensyon sa hardware. Ang pag-access sa rehistro ay pinakamabilis - ilang nanoseconds.

Ang susunod na layer ay naglalaman ng memorya ng cache, higit sa lahat kinokontrol ng hardware. Ang pinaka-karaniwang ginagamit na mga lugar ng cache ay nakaimbak sa isang high-speed cache na matatagpuan sa loob ng CPU. Kapag ang isang programa ay dapat basahin ang isang salita mula sa memorya, tinutukoy ng cache chip kung ang kinakailangang linya ay nasa cache; kung gayon, pagkatapos ay may isang mabisang pag-access sa memorya ng cache. Ang cache memory ay limitado sa laki dahil sa mataas nitong gastos. Ang mga modernong makina ay may dalawa o tatlong antas ng cache, ang bawat isa ay mas mabagal at mas malaki kaysa sa huli. Mga laki ng memorya ng cache mula sa sampu-sampung kilobytes hanggang sa maraming megabytes. Ang oras sa pag-access ay bahagyang mas mahaba kaysa sa mga pagrehistro.


Larawan 2 - Hierarchical na istraktura ng memorya


Sinusundan ito ng RAM (RAM - Random Access Memory) - ang pangunahing lugar ng pagtatrabaho ng memorya ng makina. Ang lahat ng mga kahilingan sa CPU na hindi matutupad ng cache memory ay pupunta sa RAM para sa pagproseso. Mga volume mula sa daan-daang mga megabyte hanggang sa maraming mga gigabyte. Ang oras sa pag-access ay sampu-sampung mga nanoseconds.

Susunod ay ang magnetic disk. Ang memorya ng disk ay dalawang order ng magnitude na mas mura kaysa sa RAM per bit at dalawang order ng magnitude na mas malaki. Ang disk ay may isang problema - ang random na pag-access sa data dito ay tumatagal ng tungkol sa tatlong mga order ng lakas na mas mahaba. Ang dahilan para sa mababang bilis ng mga hard disk drive (HDDs) ay ang drive ay isang disenyo ng makina. Ito ay binubuo ng isa o higit pang mga metal plate na umiikot sa mga tiyak na bilis, halimbawa 7200 rpm. Ang dami ng mga disk ay mabilis na lumalaki ngayon, at para sa karamihan ng mga gumagamit mayroong mga disk na may daan-daang mga gigabyte na ibinebenta. Oras ng pag-access - hindi kukulangin sa 10 μs.

Kadalasang ginagamit ang tape para sa pag-back up ng mga HDD o para sa pag-iimbak ng napakalaking mga dataset. Ngayon, syempre, bihira kung saan mo mahahanap ang paggamit ng mga magnetikong teyp, ngunit hindi pa rin sila nawawala. Kasama rin sa antas ng tape ang mga CD, DVD, at flash memory. Sinusukat ang oras ng pag-access sa mga segundo.

Bilang karagdagan sa mga uri na inilarawan, ang mga computer ay may isang maliit na halaga ng read-only memory na may random na pag-access. Hindi tulad ng RAM, hindi mawawala ang mga nilalaman nito kapag naka-off ang kuryente. Ito ay tinatawag na ROM o ROM. Ang ROM ay na-program sa panahon ng paggawa at pagkatapos nito ay hindi mababago ang mga nilalaman nito. Ang memorya na ito ay mabilis at sapat na mura. Ang mga programa ng bootstrap ng computer na ginagamit sa pagsisimula ay nasa ROM. Bilang karagdagan, ang ilang mga kard ng I / O ay naglalaman ng mga ROM para sa pagkontrol sa mga aparatong mababa ang antas. Ang isang uri ng memorya na tinatawag na CMOS ay pabagu-bago. Ginagamit ang CMOS upang maiimbak ang kasalukuyang mga parameter ng petsa, oras at pagsasaayos, tulad ng pagtukoy sa aling hard drive na magmula. Ang memorya na ito ay kumukuha ng lakas mula sa naka-install na baterya.

Mga aparatong input-output

Nakikipag-ugnay ang operating system sa mga I / O aparato bilang mga mapagkukunan. Ang mga aparato ng I / O ay karaniwang binubuo ng isang controller at ang aparato mismo.

Controller - isang hanay ng mga microcircuits sa isang board na ipinasok sa konektor, isang aparatong pang-pisikal na pagkontrol. Tumatanggap ito ng mga utos mula sa operating system (halimbawa, mga tagubilin na basahin ang data mula sa isang aparato) at isinasagawa ang mga ito. Ang aktwal na kontrol ng aparato ay napaka-kumplikado at nangangailangan ng isang mataas na antas ng detalye. Samakatuwid, ito ay ang function ng tagapamahala upang ipakita ang isang simpleng interface sa operating system.

Ang susunod na bahagi ay ang aparato mismo. Ang mga aparato ay may medyo simpleng mga interface, dahil ang kanilang mga kakayahan ay maliit at kailangan nilang dalhin sa isang solong pamantayan. Ang isang solong pamantayan ay kinakailangan, halimbawa, upang ang bawat IDE disk controller (Integrated Drive Electronics) ay maaaring pamahalaan ang anumang IDE disk. Ang interface ng IDE ay pamantayan para sa mga disk sa mga computer na nakabase sa Pentium pati na rin sa iba pang mga computer. Dahil ang interface ng totoong aparato ay nakatago ng controller, nakikita lamang ng operating system ang interface ng controller, na maaaring ibang-iba sa interface ng aparato mismo.

Dahil ang lahat ng uri ng mga tagakontrol ay magkakaiba, nangangailangan sila ng iba't ibang software. Ang program na nakikipag-usap sa controller ay isang driver ng aparato. Dapat magbigay ang bawat tagagawa ng controller ng mga driver para sa suportadong mga operating system. Upang magamit ang isang driver, dapat itong mai-install sa operating system upang maaari itong tumakbo sa kernel mode. Mayroong tatlong mga paraan upang mai-install ang isang driver sa kernel:

I-link muli ang kernel kasama ang bagong driver at pagkatapos ay i-reboot ang operating system (ito ang kung gaano karaming mga operating system ng Unix ang gumagana);

Lumikha ng isang entry sa file na kasama sa operating system na nagsasabing kinakailangan ng isang driver at pagkatapos ay i-reboot ang system; sa panahon ng paunang pag-boot, ang operating system mismo ay nakakahanap ng kinakailangang mga driver at na-load ang mga ito (ganito gumagana ang Windows);

Maaaring tanggapin ng operating system ang mga bagong driver nang hindi nakakaabala sa trabaho nito, at mabilis na mai-install ang mga ito nang hindi na kailangan ng isang reboot. Ang pamamaraang ito ay nagiging mas at mas karaniwan. Ang mga aparato tulad ng mga USB bus, palaging kailangan ng mga driver ng IEEE 1394 na pabagu-bago.

Ang Data I / O ay maaaring magawa sa tatlong magkakaibang paraan.

Ang pinakasimpleng paraan: ang programa ng gumagamit ay naglalabas ng isang kahilingan sa system, na isinalin ng kernel sa isang tawag sa pamamaraan na naaayon sa driver, pagkatapos ay sisimulan ng driver ang proseso ng I / O. Sa oras na ito, nagsasagawa siya ng isang maikling ikot ng programa, patuloy na binobola ang aparato kung saan siya nagtatrabaho. Kapag nakumpleto ko / O, inilalagay ng driver ang data kung saan kinakailangan ito at bumalik sa orihinal nitong estado. Pagkatapos ay ibabalik ng operating system ang kontrol sa programa ng pagtawag. Ang pamamaraang ito ay naghihintay para sa handa (aktibong paghihintay). Mayroon itong isang sagabal: dapat i-poll ng processor ang aparato hanggang sa ito ay tumigil.

Sinisimulan ng driver ang aparato at hinihiling nitong maglabas ng mga nakakagambala sa pagtatapos ng I / O; pagkatapos ay ibabalik ng driver ang kontrol sa operating system at nagsisimula itong magsagawa ng iba pang mga gawain. Kapag nakita ng controller ang pagtatapos ng paglilipat ng data, bumubuo ito ng isang nakakagambala sa pagkumpleto ng operasyon. Ang proseso ng I / O na gumagamit ng mga pagkagambala ay binubuo ng apat na hakbang (Larawan 3). Sa unang hakbang, ang driver ay nagpapadala ng isang utos sa controller, pagsulat ng impormasyon sa mga rehistro ng aparato. Sinimulan ng Controller ang aparato. Kapag natapos ng Controller ang pagbabasa o pagsusulat ng bilang ng mga byte na itinuro sa iyo na magpadala, nagpapadala ito ng isang senyas sa makagambala na chip ng controller gamit ang mga tukoy na wires ng bus. Ito ang hakbang dalawa. Sa pangatlong hakbang, kung ang makagambala na controller ay handa nang magproseso ng mga pagkagambala, pagkatapos ay nagpapadala ito ng isang senyas sa isang tukoy na pin ng CPU, na ipinaalam ito sa ganitong paraan. Sa ika-apat na hakbang, isingit ng interrupt controller ang numero ng aparato sa bus upang malaman ng CPU kung aling aparato ang naka-shut down.

Ang pangatlong pamamaraan ng input-output ng impormasyon ay ang paggamit ng isang espesyal na taga-kontrol ng DMA (Direct Memory Access). Pinamamahalaan ng DMA ang daloy ng bit sa pagitan ng RAM at ilang mga tagakontrol nang walang interbensyon ng CPU. Tinutugunan ng processor ang DMA chip, sinabi dito ang bilang ng mga byte upang ilipat, pati na rin ang address ng aparato at memorya, ang direksyon ng paglilipat ng data. Sa pagkumpleto ng trabaho, ang DMA ay nagpasimula ng isang nakakagambala, na kung saan ay naproseso sa karaniwang pamamaraan.


Larawan 3 - Ginawa ang mga pagkilos kapag nagsisimula ng isang I / O aparato at tumatanggap ng isang nakakagambala


Gulong

Dahil sa pagtaas ng bilis ng processor at memorya, idinagdag ang mga karagdagang bus sa system kapwa upang mapabilis ang komunikasyon sa pagitan ng mga input-output na aparato at upang maglipat ng data sa pagitan ng processor at memorya. Ipinapakita ng Larawan 4 ang isang diagram ng sistema ng computing ng unang Pentium.

Ang system na ito ay may 8 bus (cache bus, local bus, memory bus, PCI, SCSI, USB, IDE, ISA), bawat isa ay may sariling rate ng transfer ng data at mga sariling function. Ang operating system ay dapat may impormasyon tungkol sa lahat ng mga bus na ito upang makontrol ang computer.

Ang gitnang processor sa lokal na bus ay nagpapadala ng data sa PCI bridge chip, na ina-access din ang memorya sa isang nakalaang bus. Ang system ng Pentium I ay may isang Level 1 (L1) na cache na binuo sa processor at isang mas malaking Antas 2 (L2) na cache na konektado sa processor na may isang hiwalay na cache bus. Ginagamit ang IDE bus upang kumonekta sa paligid ng mga aparato sa system (CD-ROM, hard disk).


Larawan 4 - Ang istraktura ng sistemang Pentium


Ang USB (Universal Serial Bus) bus ay idinisenyo upang ikonekta ang mga karagdagang aparato ng I / O sa computer, tulad ng isang keyboard, mouse, printer, flash memory, atbp. Sa paglipas ng panahon, lumilitaw ang mga bagong mas mabilis na gulong at idinagdag.

Nagpapakita si Andrew Tanenbaum ng isang bagong edisyon ng kanyang buong mundo na pinakamabentang, mahalaga sa pag-unawa sa paggana ng mga modernong operating system. Malaki ang pagkakaiba nito mula sa nakaraang isa at may kasamang impormasyon tungkol sa pinakabagong pagsulong sa teknolohiya ng impormasyon. Halimbawa, ang kabanata sa Windows Vista ay napalitan na ngayon ng isang detalyadong pagtingin sa Windows 8.1 bilang pinakabagong bersyon sa oras ng pagsulat na ito. Ang isang malalaking seksyon na nakatuon sa operating system ng Android ay lumitaw. Ang materyal ay na-update sa Unix at Linux, pati na rin ang mga RAID system. Mas maraming pansin ang binayaran sa mga multicore at multicore system, ang kahalagahan na ito ay patuloy na nadagdagan sa nakaraang ilang taon. Ang isang bagong kabanata sa virtualization at cloud computing ay dumating. Ang isang malaking halaga ng bagong materyal ay naidagdag tungkol sa paggamit ng mga error sa code, tungkol sa nakakahamak na mga programa at mga kaukulang hakbang sa proteksyon. Nagbibigay ang libro ng maraming mahahalagang detalye sa isang malinaw at nakakaengganyong paraan na hindi matatagpuan sa anumang iba pang publikasyon.

Ang operating system bilang isang pinalawig na makina.
Ang arkitektura ng karamihan sa mga computer (set ng pagtuturo, samahan ng memorya, data I / O at istraktura ng bus) sa antas ng wika ng makina ay masyadong primitive at hindi maginhawa para magamit sa mga programa, lalo na para sa mga system ng I / O. Upang mai-track ang pag-uusap, isaalang-alang ang modernong SATA (Serial ATA) na mga hard drive na ginamit sa karamihan ng mga computer. Ang libro, na inilathala ni Anderson noong 2007, na naglalaman ng isang paglalarawan ng disk interface na kailangang malaman ng mga programmer na gamitin ang disk, ay mahigit sa 450 mga pahina ang haba. Pagkatapos nito, ang interface ay binago ng maraming beses at naging mas kumplikado kaysa noong 2007. Ito ay malinaw na walang malubhang programmer na nais makitungo sa naturang disk sa antas ng hardware. Sa halip, ang hardware ay hawakan ng isang piraso ng software na tinatawag na disk driver na nagbibigay, nang hindi papunta sa mga detalye, isang interface para sa pagbabasa at pagsusulat ng mga bloke ng disk. Naglalaman ang mga operating system ng maraming mga driver para sa pagkontrol ng mga I / O device.

Ngunit kahit na ang antas na ito ay masyadong mababa para sa karamihan ng mga application. Samakatuwid, ang lahat ng mga operating system ay nagbibigay ng isa pang antas ng abstraction para sa paggamit ng mga disk - file. Gamit ang abstraction na ito, ang mga programa ay maaaring lumikha, magsulat, at magbasa ng mga file nang hindi napupunta sa mga detalye kung paano talaga gumagana ang hardware.

Nilalaman
Paunang salita
Kabanata 1 Panimula
Kabanata 2. Mga Proseso at Thread
Kabanata 3. Pamamahala sa memorya
Kabanata 4. Mga Sistema ng File
Kabanata 5. Input at output ng impormasyon
Kabanata 6. Deadlock
Kabanata 7. Virtualization at ang Cloud
Kabanata 8. Mga system ng Multiprocessor
Kabanata 9. Seguridad
Kabanata 10. Mga Pag-aaral ng Kaso: Unix, Linux, at Android
Kabanata 11. Mga Pag-aaral ng Kaso: Windows 8
Kabanata 12. Pag-unlad ng mga operating system
Kabanata 13. Bibliograpiya.

Libreng pag-download ng e-book sa isang maginhawang format, manuod at magbasa:
I-download ang librong Modern operating system, Tanenbaum E., Bos X., 2015 - fileskachat.com, mabilis at libreng pag-download.

Mag-download ng pdf
Sa ibaba maaari mong bilhin ang aklat na ito sa pinakamahusay na presyong may diskwento sa paghahatid sa buong Russia.

Mga Pag-download: 8365

Ang pinakatanyag sa lahat ng mga operating system ngayon ay walang alinlangan na ang pamilya ng Windows ng Microsoft Corporation. Gayunpaman, sa kabila ng kasikatan nito, ang Windows ay hindi ang una o tanging operating system sa mundo.


28.04.2014
Nathan Wallace, Anthony Sequeira - Windows® 2000 Registry

Mga Pag-download: 596

Una at pinakamahalaga, nais naming pasalamatan si Charlotte Carpentier, Acquisitions Editor sa Coriolis. Gayundin, espesyal na salamat kay Greg Balas, na nagsilbing Project Editor, at Peggy Cantrell, na nagsilbing Production Coordinator para sa libro.


27.04.2014
A. Chekmarev - Gabay ng Administrator ng Windows 7

Mga Pag-download: 12818

Ang Gabay sa Operating System ng Microsoft Windows 7 ay inilaan para sa mga advanced na gumagamit at administrator ng network. Ang maraming mga posibilidad ng lahat ng mga edisyon ng Windows 7 ay isiniwalat, ang lahat ng mga aspeto ng paggamit ng system ay isinasaalang-alang nang detalyado: mula sa pag-install hanggang sa mga pamamaraan sa pagbawi.


27.04.2014
M. Russinovich - Panloob na istraktura ng Microsoft Windows

Mga Pag-download: 9066

Ang ikaanim na edisyon ng maalamat na libro na ito ay nakatuon sa panloob na istraktura at mga algorithm ng mga pangunahing bahagi ng operating system na Microsoft Windows 7, pati na rin ang Windows Server 2008 R2.


17.04.2014
Richard Simon - Microsoft Windows API. Sanggunian ng Programmer ng System

Mga Pag-download: 8967

Ang mga operating system ng pamilya ng Windows ay nagdala ng isang buong bagong antas na husay sa pamamaraan para sa pagbuo ng mga aplikasyon ng aplikasyon na naisakatuparan at kinokontrol ng mga operating system na ito. Sa kabila ng kasaganaan ng mga makapangyarihang kagamitan sa pagprogram, ang kaalaman sa interface ng aplikasyon ng programa (API) —ang pundasyon ng lahat ng mga batayan - ay ang susi sa pagsusulat ng mga programa na maaaring makakuha ng isang malakas na posisyon sa merkado.


17.04.2014
Arnold Robbins, Elbert Hana, at Linda Lamb-Pag-aaral ng vi at Vim Editors. Ika-7 ng ed.

Mga Pag-download: 799

Walang anuman na mas panatiko ang mga matitigas na gumagamit ng Unix at Linux kaysa sa kanilang text editor. Ang mga editor ay ang paksa ng pagsamba at pagsamba, o ng panunuya at panlilibak, nakasalalay sa kung ang paksa ng talakayan ay ang iyong editor o ibang tao " s. Si vi ay naging pamantayang editor nang halos 30 taon. Sikat sa Unix at Linux, mayroon itong lumalaking sumusunod sa mga system ng Windows. Karamihan sa mga bihasang tagapangasiwa ng system ay tinukoy bilang kanilang tool ng pagpili. At mula noong 1986, ang aklat na ito ang naging gabay para sa vi.




 


Basahin:



Mga mekanismo ng pagtatanggol ayon kay Sigmund Freud

Mga mekanismo ng pagtatanggol ayon kay Sigmund Freud

Ang proteksyon ng sikolohikal ay walang malay na proseso na nagaganap sa pag-iisip, na naglalayong i-minimize ang epekto ng mga negatibong karanasan ...

Liham Epicurus kay Herodotus

Liham Epicurus kay Herodotus

Liham kay Menekei (Isinalin ni M.L. Gasparov) Ipinadala ng Epicurus ang kanyang mga pagbati kay Menekei. Huwag hayaan ang sinuman sa kanyang kabataan na ipagpaliban ang paghahanap ng pilosopiya, ngunit sa pagtanda ...

Sinaunang diyosa ng Griyego na Hera: mitolohiya

Sinaunang diyosa ng Griyego na Hera: mitolohiya

Khasanzyanova Aisylu Gera Isang buod ng mitolohiya ng Gera Ludovizi. Sculpture, ika-5 siglo BC. Hera (kabilang sa mga Romano - Juno) - sa sinaunang mitolohiyang Greek ...

Paano magtakda ng mga hangganan sa isang relasyon?

Paano magtakda ng mga hangganan sa isang relasyon?

Mahalagang malaman na mag-iwan ng puwang sa pagitan ng kung saan nagtatapos ang iyong pagkatao at ang pagkatao ng ibang tao. Kung mayroon kang mga problema ...

feed-image Rss