Bahay - Kusina
I-download ang encyclopedia lahat tungkol sa mga operating system. Mga aklat sa mga operating system. Pangkalahatang-ideya ng Computer Hardware

1Pagsisimula sa Mga Operating System

1.1 Layunin at pag-andar ng mga operating system

Ang isang computer operating system ay isang set ng magkakaugnay na mga programa na nagsisilbing interface sa pagitan ng mga application at mga user sa isang banda, at ang computer hardware sa kabilang banda. Ang operating system ay gumaganap ng dalawang pangkat ng mga function:

Nagbibigay sa user o programmer ng pinahabang virtual machine sa halip na tunay na computer hardware;

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

Ang gumagamit, bilang panuntunan, ay hindi interesado sa mga detalye ng hardware ng computer, nakikita niya ito bilang isang hanay ng mga application na maaaring isulat sa isa sa mga programming language. Ang operating system ay nagbibigay sa programmer ng ilang mga kakayahan na magagamit ng mga program sa pamamagitan ng mga espesyal na command na tinatawag na system call. Samakatuwid, ang isang software application ay kinabibilangan ng maraming mga system call na kinakailangan, halimbawa, upang gumana sa mga file. Itinatago ng operating system ang mga detalye ng hardware mula sa programmer at nagbibigay ng maginhawang interface para sa pagpapatupad ng operating environment system.

Kasabay nito, ang operating system ay kumikilos bilang isang resource manager. Ayon sa diskarteng ito, ang trabaho ng operating system ay magbigay ng organisado at kontroladong pamamahagi ng mga processor, memory, at I/O device sa pagitan ng iba't ibang programa. Ang operating system ay may mga sumusunod na tampok:

Ang mga pag-andar ng operating system ay gumagana sa parehong paraan tulad ng iba pang software - ipinatupad ang mga ito sa anyo ng mga indibidwal na programa o isang hanay ng mga programa, mga proseso ng pagpapatupad;

Ang operating system ay dapat magtalaga ng kontrol sa iba pang mga proseso at maghintay para sa processor na bigyan ito muli ng oras upang maisagawa ang mga tungkulin nito.

Kasama sa pamamahala ng mapagkukunan ang paglutas sa mga sumusunod na pangkalahatang gawain na hindi nakadepende sa uri ng mapagkukunan:

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

Kasiya-siyang mga kahilingan sa mapagkukunan;

Pagsubaybay sa katayuan at pagtatala ng paggamit ng isang mapagkukunan - iyon ay, pagpapanatili impormasyon sa pagpapatakbo kung ang mapagkukunan ay abala o libre at kung anong bahagi ng mapagkukunan ang inilaan na;

Paglutas ng mga salungatan 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, ang iba't ibang mga gumagamit at programa ay humalili sa paggamit nito. Una ang isa sa kanila ay nakakakuha ng access upang magamit ang mapagkukunan, pagkatapos ay isa pa, atbp. Halimbawa, maraming mga programa ang gustong ma-access ang gitnang processor. Sa sitwasyong ito, pinapayagan muna ng operating system ang isang programa na ma-access ang processor, pagkatapos, pagkatapos na ito ay tumakbo nang sapat na oras, isa pang programa, pagkatapos ay ang susunod, at sa wakas ang una muli. Ang pagtukoy kung gaano katagal ang isang mapagkukunan ay gagamitin sa paglipas ng panahon, kung sino ang susunod, at kung gaano katagal ang mapagkukunan ay ibibigay sa kanila ay ang gawain ng operating system. Ang isa pang uri ng pamamahagi ay spatial multiplexing. Sa halip na magpalitan, ang bawat kliyente ay tumatanggap ng isang bahagi ng mapagkukunan. Karaniwan, ang RAM ay ibinabahagi sa ilang tumatakbong mga programa upang ang lahat ng mga ito ay maaaring manatili sa memorya sa parehong oras (halimbawa, gamit ang gitnang processor sa turn). Ipagpalagay na mayroon kang sapat na memorya upang maghawak ng maraming mga programa, mas mahusay na magkasya ang maramihang mga programa sa memorya nang sabay-sabay kaysa sa paglalaan ng lahat ng memorya sa isang programa, lalo na kung nangangailangan lamang ito ng isang maliit na bahagi ng magagamit na memorya. Siyempre, itinataas nito ang mga isyu ng patas na pamamahagi, proteksyon ng memorya, atbp., at umiiral ang operating system upang malutas ang mga naturang isyu.

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 English mathematician na si Charles Babbage noong kalagitnaan ng ikalabinsiyam na siglo. Binuo niya ang tinatawag na mekanikal na "analytical engine", na, gayunpaman, ay hindi kailanman gumana nang maayos. Ang mga sumusunod ay mga henerasyon ng mga computer at ang kanilang kaugnayan sa mga operating system.

Unang henerasyon 1945-1955

Ang mga computer ay binubuo ng mga vacuum tube at patch panel. Ang pinakamataas na tagumpay ay ang paggawa ng mga punched card. Ginawa mula sa manipis na karton, ang isang punched card ay kumakatawan sa impormasyon sa pagkakaroon o kawalan ng mga butas sa ilang mga posisyon sa card. Walang operating system.

Ikalawang henerasyon 1955-1965

Ang batayan ng mga computer ay mga transistor at batch processing system. Nailalarawan sa pamamagitan ng mga deck ng punched card at mga device para sa pag-record ng mga magnetic tape. Pangunahing naka-program sa Fortran at mga wika ng Assembly para sa Fortran Monitor System (FMS) at IBSYS operating system.

Ikatlong henerasyon 1965-1980

Ang panahon ay nailalarawan sa pamamagitan ng hitsura ng mga integrated circuit, pati na rin ang multitasking o, kung hindi man ito tinatawag, multiprogramming. Gumagawa ang IBM ng iba't ibang serye ng mga makina, simula sa IBM/360. Ang OS/360 operating system ay isinulat para sa kanila, na humigit-kumulang 1000 beses na mas malaki kaysa sa ikalawang henerasyong FMS. Sa yugtong ito, lumilitaw ang isang pang-industriya na pagpapatupad ng multitasking - isang paraan ng pag-aayos ng isang proseso ng pag-compute kung saan ang ilang mga programa ay sabay-sabay na naka-imbak sa memorya ng computer at halili na isinagawa sa isang processor.

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

Ikaapat na henerasyon 1980-kasalukuyan

Ang panahong ito ay nauugnay sa pagdating ng malalaking integrated circuit. Noong 1974, inilabas ng Intel ang unang unibersal na 8-bit Intel processor 8080. Noong unang bahagi ng dekada 80, binuo ng IBM ang IBM PC - isang personal na computer. Kasabay nito, lumitaw ang unang bersyon ng MS-DOS. Ang lahat ng mga operating system na binuo hanggang sa puntong ito ay sumusuporta lamang sa text mode ng komunikasyon sa user.

Ang unang pagtatangka na gumawa ng user-friendly na graphical na interface ay ipinatupad sa Apple Macintosh. Naimpluwensyahan ng mga tagumpay nito, naglabas ang Microsoft Corporation ng isang graphical na shell para sa MS-DOS - Windows. At mula noong 1995, inilabas ang Windows 95, na naging autonomous na sistema. Kasunod nito, 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

Mayroong maraming mga operating system at hindi alam ng lahat ang mga ito. Susunod, isinasaalang-alang namin ang 7 uri ng iba't ibang mga operating system mula sa malaki hanggang sa maliliit na antas.

Mga Operating System ng Mainframe

Mainframe - mataas na pagganap ng computer pangkalahatang layunin na may malaking halaga ng pagpapatakbo at panlabas na memorya, na idinisenyo upang magsagawa ng masinsinang computational na gawain. Karaniwan itong mga computer na kasing laki ng kwarto at matatagpuan sa malalaking korporasyon. Ang mga mainframe ay karaniwang naglalaman ng libu-libong mga disk at terabytes ng RAM.

Pangunahing idinisenyo ang mga operating system ng mainframe upang pangasiwaan ang maraming sabay-sabay na trabaho, karamihan sa mga ito ay nangangailangan ng malaking halaga ng I/O. Dapat tumugon ang system sa libu-libong kahilingan kada segundo. Ang isang halimbawa ay ang OS/390, na nag-evolve mula sa ika-3 henerasyong operating system na OS/360.

Mga operating system ng server

Ang mga operating system na ito ay tumatakbo sa mga server, na isang personal na computer, isang workstation, o kahit isang mainframe. Nagbibigay ang mga server ng kakayahang magtrabaho kasama ang mga device sa pag-print, mga file, o sa Internet. Kasama sa mga naturang operating system ang Unix, Linux, Windows 2003 Server, atbp.

Mga operating system ng multiprocessor

Ang mga system na ito ay ginagamit sa mga computer na may maraming mga sentral na processor. Nangangailangan sila ng mga espesyal na operating system, ngunit kadalasan ay mga pagbabago ng mga operating system ng server.

Mga operating system para sa mga personal na computer

Ang pangunahing criterion ng mga system na ito ay isang maginhawang interface para sa isang user. Ang pinakasikat na mga sistema: Windows 98, 2000, XP, Vista series; Macintosh, Linux.

Real-time na mga operating system

Ang pangunahing parameter ng mga sistemang ito ay oras. Sa mga sistema ng kontrol prosesong pang-industriya kinakailangan na malinaw na i-synchronize ang oras ng pagpapatakbo ng conveyor at iba't ibang mga robot na pang-industriya. Ito ay isang mahirap na real-time na sistema. Mayroon ding mga flexible na real-time system kung saan ang mga napalampas na deadline para sa pagkumpleto ng isang operasyon ay katanggap-tanggap, halimbawa, mga multimedia system. Kasama sa mga real-time na operating system ang VxWorks at QNX.

Naka-embed na mga operating system

Kabilang dito ang mga operating system ng PDA (Personal Digital Assistant). Bilang karagdagan, ang mga naka-embed na system ay tumatakbo sa mga kotse, telebisyon, mga mobile phone. Ang mga operating system na ito ay karaniwang mayroong lahat ng katangian ng real-time na mga operating system na may mga limitasyon sa memorya, kapangyarihan, atbp. Ang mga halimbawa ng mga system ay PalmOS, Windows CE.

Mga operating system para sa mga smart card

Ang smart card ay isang credit card-sized na device na naglalaman ng central processing unit. Ang ganitong mga sistema ay napapailalim sa matinding kapangyarihan at mga limitasyon sa memorya. Ang ilan ay namamahala lamang ng isang operasyon - elektronikong pagbabayad halimbawa. Kasama sa mga piling smart card ang suporta para sa Java Virtual Machine.

1.4 Pangkalahatang-ideya ng computer hardware

Ang isang operating system ay malapit na nauugnay sa hardware ng computer kung saan ito dapat tumakbo. Naiimpluwensyahan ng hardware ang command set ng operating system at ang pamamahala ng mga mapagkukunan nito. Sa konsepto, ang isang simpleng computer ay maaaring katawanin ng modelong ipinapakita sa Figure 1. Ginamit ang istrukturang ito sa mga unang modelo ng IBM PC.

Figure 1 - Ilang bahagi ng isang personal na computer


Sa figure, ang gitnang processor, memorya, at input/output device ay konektado ng isang system bus kung saan sila nagpapalitan ng impormasyon.

CPU

Ang "utak" ng isang computer ay ang central processing unit (CPU). Pinipili nito ang mga utos mula sa memorya at isinasagawa ang mga ito. Ang isang tipikal na ikot ng processor ay ganito: binabasa ang unang pagtuturo mula sa memorya, i-decode ito upang matukoy ang uri at operand nito, ipapatupad ang pagtuturo, pagkatapos ay basahin at i-decode ang mga kasunod na tagubilin. Ito ay kung paano isinasagawa ang mga programa.

Ang bawat processor ay may set ng mga tagubilin na nagagawa nitong isagawa. Dahil ang pag-access sa memory upang makatanggap ng mga tagubilin o pagkuha ng data ay mas matagal kaysa sa pagpapatupad ng mga tagubiling iyon, ang lahat ng mga processor ay naglalaman ng mga panloob na rehistro upang mag-imbak ng mga variable at mga intermediate na resulta. Samakatuwid, ang set ng pagtuturo ay karaniwang naglalaman ng mga tagubilin upang i-load ang isang salita mula sa memorya sa isang rehistro at mag-imbak ng isang salita mula sa isang rehistro sa memorya. Bilang karagdagan sa mga pangunahing rehistro na ginagamit upang mag-imbak ng mga variable, karamihan sa mga processor ay may ilang mga espesyal na rehistro na ginagamit upang mag-imbak ng mga variable, pati na rin ang mga espesyal na rehistro na nakikita ng mga programmer.

Kapag na-time-multiplexed ang processor, ihihinto ng operating system ang isang tumatakbong program upang magsimula ng isa pa. Sa bawat oras na mangyari ang ganoong pagkagambala, dapat i-save ng operating system ang lahat ng mga rehistro ng processor upang sa paglaon, kapag ang naantala na programa ay patuloy na tumatakbo, maaari silang maibalik.

Upang mapataas ang bilis ng CPU, inabandona ng kanilang mga developer ang simpleng modelo, kapag isang utos lamang ang maaaring basahin, i-decode, at isakatuparan sa isang ikot ng orasan. Mga modernong processor may kakayahang magsagawa ng ilang mga utos nang sabay-sabay.

Karamihan sa mga CPU ay may dalawang operating mode: kernel mode at user mode. Kung ang processor ay tumatakbo sa kernel mode, maaari nitong isagawa ang lahat ng mga tagubilin sa set ng pagtuturo at gamitin ang lahat ng mga kakayahan ng hardware. Ang operating system ay tumatakbo sa kernel mode, na nagbibigay ng access sa lahat ng hardware. Sa kabaligtaran, ang mga user ay nagpapatakbo sa user mode, na nagbibigay-daan sa pagpapatupad ng isang subset ng mga programa at ginagawa lamang ang isang subset ng hardware na magagamit.

Alaala

Ang pangalawang pangunahing bahagi ng anumang computer ay memorya. Sa isip, ang memorya ay dapat na mas mabilis hangga't maaari (mas mabilis kaysa sa pagproseso ng isang pagtuturo, upang ang processor ay hindi mapabagal sa pamamagitan ng pag-access ng memory na malaki at napakamura). Ngayon ay walang mga teknolohiya na nakakatugon sa lahat ng mga kinakailangang ito. Samakatuwid mayroong isa pang diskarte.

Ang sistema ng memorya ay binuo sa anyo ng isang hierarchy ng mga layer, na inilalarawan sa Figure 2. Habang lumilipat ka sa hierarchy mula sa itaas hanggang sa ibaba, dalawang parameter ang tumataas: oras ng pag-access, laki ng memorya.

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

Ang susunod na layer ay naglalaman ng cache memory, karamihan ay kinokontrol ng hardware. Ang pinaka-madalas na ginagamit na mga lugar ng cache ay naka-imbak sa high-speed cache memory na matatagpuan sa loob ng CPU. Kapag ang isang programa ay kailangang magbasa ng isang salita mula sa memorya, tinutukoy ng cache chip kung ang nais na linya ay nasa cache; kung gayon, magkakaroon ng pag-access sa cache. Ang memorya ng cache ay limitado sa laki dahil sa mataas na halaga nito. SA mga modernong sasakyan mayroong dalawa o tatlong antas ng cache, na ang bawat kasunod ay mas mabagal at mas malaki kaysa sa nauna. Ang mga laki ng cache ng memorya ay mula sa sampu-sampung kilobytes hanggang ilang megabytes. Ang oras ng pag-access ay bahagyang mas mahaba kaysa sa mga rehistro.


Figure 2 – Hierarchical memory structure


Susunod ang RAM (RAM - Random Access Memory o random access memory) - ang pangunahing lugar ng pagtatrabaho ng storage device ng makina. Ang lahat ng mga kahilingan sa CPU na hindi matutupad ng memorya ng cache ay ipinapadala sa RAM para sa pagproseso. Ang mga volume ay mula sa daan-daang megabytes hanggang ilang gigabytes. Ang oras ng pag-access ay sampu-sampung nanosecond.

Susunod ay ang magnetic disk. Ang memorya ng disk ay dalawang order ng magnitude na mas mura kaysa sa RAM bawat bit at dalawang order ng magnitude na mas malaki sa laki. Ang disk ay may isang problema - ang random na pag-access sa data dito ay tumatagal ng halos tatlong mga order ng magnitude na mas mahaba. Ang dahilan para sa mabagal na bilis ng mga hard disk drive (HDDs) ay ang drive ay isang mekanikal na istraktura. Binubuo ito ng isa o higit pang mga metal plate na umiikot sa mga tiyak na bilis, halimbawa 7200 rpm. Ang mga volume ng disk ay mabilis na lumalaki ngayon ang mga disk na may daan-daang gigabytes ay ibinebenta para sa karamihan ng mga gumagamit. Oras ng pag-access – hindi bababa sa 10 µs.

Ang magnetic tape ay kadalasang ginagamit upang lumikha mga backup na kopya HDD o para sa pag-iimbak ng napakalaking set ng data. Ngayon, siyempre, bihira kung saan mo mahahanap ang paggamit ng mga magnetic tape, ngunit hindi pa rin sila nawawalan ng paggamit. Kasama rin sa antas ng magnetic tape ang mga CD, DVD at flash memory. Ang oras ng pag-access ay sinusukat sa mga segundo.

Bilang karagdagan sa mga uri na inilarawan, ang mga computer ay may maliit na halaga ng permanenteng random na access memory. Hindi tulad ng RAM, hindi nawawala ang mga nilalaman nito kapag naka-off ang power. Ito ay tinatawag na ROM o ROM. Ang ROM ay na-program sa panahon ng pagmamanupaktura at ang mga nilalaman nito ay hindi na mababago pagkatapos nito. Ang memorya na ito ay medyo mabilis at mura. Ang mga boot program ng computer, na ginagamit sa pagsisimula, ay matatagpuan sa ROM. Bilang karagdagan, ang ilang I/O card ay naglalaman ng ROM para makontrol ang mga device na mababa ang antas. Ang isang uri ng memorya na tinatawag na CMOS ay pabagu-bago ng isip. Ginagamit ang CMOS upang iimbak ang kasalukuyang mga parameter ng petsa, oras at pagsasaayos, tulad ng pagtukoy mula sa kung ano hard drive load. Ang memorya na ito ay kumukuha ng kapangyarihan mula sa naka-install na baterya.

I/O device

Itinuturing ng operating system ang mga I/O device bilang mga mapagkukunan. Ang mga I/O device ay karaniwang binubuo ng isang controller at ang device mismo.

Ang controller ay isang set ng mga chips sa isang board na ipinasok sa isang connector, isang pisikal na control device. Tumatanggap ito ng mga utos ng operating system (halimbawa, mga tagubilin sa pagbabasa ng data mula sa isang device) at isinasagawa ang mga ito. Ang aktwal na kontrol ng device ay napakakomplikado at nangangailangan mataas na antas nagdedetalye. Samakatuwid, ang function ng controller ay upang magbigay ng isang simpleng interface sa operating system.

Ang susunod na bahagi ay ang aparato mismo. Ang mga device ay may medyo simpleng mga interface, dahil ang kanilang mga kakayahan ay limitado at kailangan nilang dalhin sa isang solong pamantayan. Ang isang pamantayan ay kailangan, 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 drive sa mga computer na may processor ng Pentium, gayundin sa iba pang mga computer. Dahil ang aktwal na interface ng device ay nakatago ng controller, nakikita lang ng operating system ang controller interface, na maaaring ibang-iba sa interface ng device mismo.

Dahil ang bawat uri ng controller ay iba, nangangailangan sila ng iba't ibang software. Ang program na nakikipag-ugnayan sa controller ay ang device driver. Ang bawat tagagawa ng controller ay dapat magbigay ng mga driver para sa mga sinusuportahang operating system. Upang magamit ang driver, dapat itong mai-install sa operating system upang maaari itong tumakbo sa kernel mode. Mayroong tatlong paraan upang mag-install ng driver sa kernel:

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

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

Ang operating system ay maaaring tumanggap ng mga bagong driver nang hindi nakakaabala sa operasyon, at mabilis na i-install ang mga ito nang hindi nangangailangan ng pag-reboot. Ang pamamaraang ito ay nagiging mas at mas karaniwan. Ang mga device tulad ng mga USB bus, IEEE 1394 ay palaging nangangailangan ng mga driver na may dynamic na load.

Maaaring gawin ang input/output ng data sa tatlong paraan: sa iba't ibang paraan.

Ang pinakasimpleng paraan: Ang programa ng user ay nag-isyu ng isang kahilingan sa system, na isinasalin ng kernel sa isang procedure call na naaayon sa driver, pagkatapos ay sinimulan ng driver ang proseso ng I/O. Sa panahong ito, nagsasagawa ito ng isang maikling loop ng programa, na patuloy na nag-polling sa device na ginagamit nito. Kapag nakumpleto ang I/O, inilalagay ng driver ang data kung saan ito kinakailangan at babalik sa orihinal nitong estado. Pagkatapos ay ibabalik ng operating system ang kontrol sa program na gumawa ng tawag. Ang pamamaraang ito ay naghihintay para sa pagiging handa (aktibong paghihintay). Mayroon itong isang disbentaha: dapat i-poll ng processor ang device hanggang sa mag-shut down ito.

Sinisimulan ng driver ang aparato at hinihiling ito na mag-isyu ng mga interrupts kapag kumpleto na ang I/O; Pagkatapos nito, 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, bubuo ito ng pagkaantala sa pagkumpleto. Ang proseso ng I/O gamit ang mga interrupt ay binubuo ng apat na hakbang (Larawan 3). Sa unang hakbang, ang driver ay nagpapadala ng isang utos sa controller, na nagsusulat ng impormasyon sa mga rehistro ng device. Pagkatapos ay simulan ng controller ang device. Kapag natapos nang basahin o isulat ng controller ang bilang ng mga byte na sinabihan itong ilipat, nagpapadala ito ng signal sa interrupt controller chip gamit ang mga partikular na wire ng bus. Ito ang ikalawang hakbang. Sa ikatlong hakbang, kung handa na ang interrupt controller na humawak ng mga interrupts, pagkatapos ay magpapadala ito ng signal sa isang partikular na pin ng CPU, kaya ipaalam ito. Sa ika-apat na hakbang, ang interrupt controller ay naglalagay ng numero ng device sa bus upang malaman ng CPU kung aling device ang nakakumpleto sa trabaho nito.

Ang ikatlong paraan ng impormasyon ng input-output ay ang paggamit espesyal na controller direktang pag-access sa memorya ng DMA (Direct Memory Access). Pinamamahalaan ng DMA ang daloy ng mga bit sa pagitan ng RAM at ilang mga controller nang walang interbensyon ng CPU. Ina-access ng processor ang DMA chip, sasabihin dito ang bilang ng mga byte na ililipat, pati na rin ang device at memory address, at ang direksyon ng paglipat ng data. Sa pagkumpleto ng trabaho, ang DMA ay magsisimula ng isang interrupt, na pinoproseso sa karaniwang paraan.


Figure 3 - Mga aksyon na ginawa kapag nagsimula ang isang I/O device at nakatanggap ng interrupt


Mga gulong

Dahil sa pagtaas ng bilis ng processor at memorya, ang mga karagdagang bus ay idinagdag sa system para mapabilis ang komunikasyon ng mga I/O device at para maglipat ng data sa pagitan ng processor at memorya. Ipinapakita ng Figure 4 ang isang diagram ng computing system ng mga unang Pentium.

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

Ang gitnang processor ay nagpapadala ng data sa pamamagitan ng lokal na bus patungo sa PCI bridge chip, na nag-a-access naman sa memorya sa pamamagitan ng isang nakalaang bus. Ang Pentium I system ay may Level 1 cache (L1) na nakapaloob sa processor at isang mas malaking Level 2 cache (L2) na nakakonekta sa processor sa isang hiwalay na cache bus. Ang IDE bus ay ginagamit upang ikonekta ang mga peripheral na device sa system (CD-ROM, hard drive).


Figure 4 – Pentium system structure


Ang USB (Universal Serial Bus) bus ay idinisenyo upang ikonekta ang mga karagdagang input/output device gaya ng keyboard, mouse, printer, flash memory, atbp. sa isang computer. Sa paglipas ng panahon, lumalabas at idinaragdag ang mga bago at mas mabilis na gulong.

Isang maikling panimula sa mga operating system. Tutorial Peter Stashchuk

(Wala pang rating)

Pamagat: Maikling panimula sa mga operating system. Tutorial

Tungkol sa aklat na Peter Stashchuk "Isang Maikling Panimula sa Mga Operating System. Gabay sa Pag-aaral"

Ang paggamit ng teknolohiya ng computer ay hindi maaaring maging epektibo nang walang kaalaman sa modernong software, ang batayan nito ay ang mga operating system at ang kanilang mga shell. Sa pamamagitan ng pag-aaral ng iminungkahing teoretikal na kurso, ang mga mag-aaral ay dapat magkaroon ng pag-unawa sa mga kakayahan ng mga operating system, kanilang istraktura, mga prinsipyo ng organisasyon at operasyon, mga panuntunan sa pagsasaayos, atbp. Ang pagtatrabaho sa manual ay magbibigay-daan sa mga mag-aaral na makakuha ng kaalaman sa mga modernong operating system sa antas ng isang kwalipikadong user at tutulong sa pagsasama-sama ng mga praktikal na kasanayan sa paggamit ng modernong software sa panahon ng pag-aaral at mga propesyonal na aktibidad.

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

Sa aming website tungkol sa mga libro, maaari mong i-download ang site nang libre nang walang pagpaparehistro o basahin online ang aklat na Peter Stashchuk "Isang Maikling Panimula sa Mga Operating System. Gabay sa Pag-aaral" sa mga format na epub, fb2, txt, rtf, pdf para sa iPad, iPhone, Android at Kindle. Ang libro ay magbibigay sa iyo ng maraming magagandang sandali at tunay na kasiyahan mula sa pagbabasa. Bumili buong bersyon pwede ka sa partner namin. Gayundin, dito makikita mo ang pinakabagong mga balita mula sa mundo ng panitikan, alamin ang talambuhay ng iyong mga paboritong may-akda. Para sa mga nagsisimulang manunulat mayroong isang hiwalay na seksyon na may kapaki-pakinabang na mga tip at mga rekomendasyon, mga kagiliw-giliw na artikulo, salamat sa kung saan maaari mong subukan ang iyong kamay sa mga likhang pampanitikan.

Mga panipi mula sa aklat ni Peter Stashchuk "Isang Maikling Panimula sa Mga Operating System. Gabay sa Pag-aaral"

Pamamahala ng mga pangunahing mapagkukunan ng computer (mga processor, memorya, mga panlabas na aparato), 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 pagtatrabaho sa hardware ng computer at binibigyan siya ng isang simpleng interface, na nakapag-iisa na nilulutas ang mga problema sa pamamahala ng hardware sa mababang antas.

Ang operating system ay isang hanay ng mga program na nagbibigay ng pamamahala ng data at pagpapatupad ng mga program ng user, nag-uugnay sa pamamahagi ng mga mapagkukunan ng computer at sumusuporta sa pakikipag-ugnayan sa mga user.

Ang unang OS ay batch processing system (resident monitor).

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

Kasalukuyang pahina: 1 (ang aklat ay may kabuuang 12 pahina) [magagamit na sipi sa pagbabasa: 8 pahina]

A. Yu
Mga operating system

1Pagsisimula sa Mga Operating System

1.1 Layunin at pag-andar ng mga operating system

Ang isang computer operating system ay isang set ng magkakaugnay na mga programa na nagsisilbing interface sa pagitan ng mga application at mga user sa isang banda, at ang computer hardware sa kabilang banda. Ang operating system ay gumaganap ng dalawang pangkat ng mga function:

Nagbibigay sa user o programmer ng pinahabang virtual machine sa halip na tunay na computer hardware;

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

Ang gumagamit, bilang panuntunan, ay hindi interesado sa mga detalye ng hardware ng computer, nakikita niya ito bilang isang hanay ng mga application na maaaring isulat sa isa sa mga programming language. Ang operating system ay nagbibigay sa programmer ng ilang mga kakayahan na magagamit ng mga program sa pamamagitan ng mga espesyal na command na tinatawag na system call. Samakatuwid, ang isang software application ay kinabibilangan ng maraming mga system call na kinakailangan, halimbawa, upang gumana sa mga file. Itinatago ng operating system ang mga detalye ng hardware mula sa programmer at nagbibigay ng maginhawang interface para sa pagpapatupad ng operating environment system.

Kasabay nito, ang operating system ay kumikilos bilang isang resource manager. Ayon sa diskarteng ito, ang trabaho ng operating system ay magbigay ng organisado at kontroladong pamamahagi ng mga processor, memorya, at input/output device sa iba't ibang programa. Ang operating system ay may mga sumusunod na tampok:

Ang mga pag-andar ng operating system ay gumagana sa parehong paraan tulad ng iba pang software - ipinatupad ang mga ito sa anyo ng mga indibidwal na programa o isang hanay ng mga programa, mga proseso ng pagpapatupad;

Ang operating system ay dapat magtalaga ng kontrol sa iba pang mga proseso at maghintay para sa processor na bigyan ito muli ng oras upang maisagawa ang mga tungkulin nito.

Kasama sa pamamahala ng mapagkukunan ang paglutas sa mga sumusunod na pangkalahatang gawain na hindi nakadepende sa uri ng mapagkukunan:

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

Kasiya-siyang mga kahilingan sa mapagkukunan;

Pagsubaybay sa katayuan at pagtatala ng paggamit ng isang mapagkukunan - iyon ay, pagpapanatili ng impormasyon sa pagpapatakbo tungkol sa kung ang mapagkukunan ay abala o libre at kung anong bahagi ng mapagkukunan ang naipamahagi na;

Paglutas ng mga salungatan 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, ang iba't ibang mga gumagamit at programa ay humalili sa paggamit nito. Una ang isa sa kanila ay nakakakuha ng access upang magamit ang mapagkukunan, pagkatapos ay isa pa, atbp. Halimbawa, maraming mga programa ang gustong ma-access ang gitnang processor. Sa sitwasyong ito, pinapayagan muna ng operating system ang isang programa na ma-access ang processor, pagkatapos, pagkatapos na ito ay tumakbo nang sapat na oras, isa pang programa, pagkatapos ay ang susunod, at sa wakas ang una muli. Ang pagtukoy kung gaano katagal ang isang mapagkukunan ay gagamitin sa paglipas ng panahon, kung sino ang susunod, at kung gaano katagal ang mapagkukunan ay ibibigay sa kanila ay ang gawain ng operating system. Ang isa pang uri ng pamamahagi ay spatial multiplexing. Sa halip na magpalitan, ang bawat kliyente ay tumatanggap ng isang bahagi ng mapagkukunan. Karaniwan, ang RAM ay ibinabahagi sa ilang tumatakbong mga programa upang ang lahat ng mga ito ay maaaring manatili sa memorya sa parehong oras (halimbawa, gamit ang gitnang processor sa turn). Ipagpalagay na mayroon kang sapat na memorya upang maghawak ng maraming mga programa, mas mahusay na magkasya ang maramihang mga programa sa memorya nang sabay-sabay kaysa sa paglalaan ng lahat ng memorya sa isang programa, lalo na kung nangangailangan lamang ito ng isang maliit na bahagi ng magagamit na memorya. Siyempre, itinataas nito ang mga isyu ng patas na pamamahagi, proteksyon ng memorya, atbp., at umiiral ang operating system upang malutas ang mga naturang isyu.

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 English mathematician na si Charles Babbage noong kalagitnaan ng ikalabinsiyam na siglo. Binuo niya ang tinatawag na mekanikal na "analytical engine", na, gayunpaman, ay hindi kailanman gumana nang maayos. Ang mga sumusunod ay mga henerasyon ng mga computer at ang kanilang kaugnayan sa mga operating system.

Unang henerasyon 1945-1955

Ang mga computer ay binubuo ng mga vacuum tube at patch panel. Ang pinakamataas na tagumpay ay ang paggawa ng mga punched card. Ginawa mula sa manipis na karton, ang isang punched card ay kumakatawan sa impormasyon sa pagkakaroon o kawalan ng mga butas sa ilang mga posisyon sa card. Walang operating system.

Ikalawang henerasyon 1955-1965

Ang batayan ng mga computer ay mga transistor at batch processing system. Nailalarawan sa pamamagitan ng mga deck ng punched card at mga device para sa pag-record ng mga magnetic tape. Pangunahing naka-program sa Fortran at mga wika ng Assembly para sa Fortran Monitor System (FMS) at IBSYS operating system.

Ikatlong henerasyon 1965-1980

Ang panahon ay nailalarawan sa pamamagitan ng hitsura ng mga integrated circuit, pati na rin ang multitasking o, kung hindi man ito tinatawag, multiprogramming. Gumagawa ang IBM ng iba't ibang serye ng mga makina, simula sa IBM/360. Ang OS/360 operating system ay isinulat para sa kanila, na humigit-kumulang 1000 beses na mas malaki kaysa sa ikalawang henerasyong FMS. Sa yugtong ito, lumilitaw ang isang pang-industriya na pagpapatupad ng multitasking - isang paraan ng pag-aayos ng isang proseso ng pag-compute kung saan ang ilang mga programa ay sabay-sabay na naka-imbak sa memorya ng computer at halili na isinagawa sa isang processor.

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

Ikaapat na henerasyon 1980-kasalukuyan

Ang panahong ito ay nauugnay sa pagdating ng malalaking integrated circuit. Noong 1974, inilabas ng Intel ang unang unibersal na 8-bit na processor, ang Intel 8080. Noong unang bahagi ng dekada 80, binuo ng IBM ang IBM PC, isang personal na computer. Kasabay nito, lumitaw ang unang bersyon ng MS-DOS. Ang lahat ng mga operating system na binuo hanggang sa puntong ito ay sumusuporta lamang sa text mode ng komunikasyon sa user.

Ang unang pagtatangka na gumawa ng user-friendly na graphical na interface ay ipinatupad sa Apple Macintosh. Naimpluwensyahan ng mga tagumpay nito, naglabas ang Microsoft Corporation ng isang graphical na shell para sa MS-DOS - Windows. At mula noong 1995, inilabas ang Windows 95, na naging isang standalone system. Kasunod nito, 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

Mayroong maraming mga operating system at hindi alam ng lahat ang mga ito. Susunod, isinasaalang-alang namin ang 7 uri ng iba't ibang mga operating system mula sa malaki hanggang sa maliliit na antas.

Mga Operating System ng Mainframe

Ang Mainframe ay isang high-performance na pangkalahatang layunin na computer na may malaking halaga ng RAM at external memory, na idinisenyo upang magsagawa ng masinsinang gawain sa pag-compute. Karaniwan itong mga computer na kasing laki ng kwarto at matatagpuan sa malalaking korporasyon. Ang mga mainframe ay karaniwang naglalaman ng libu-libong mga disk at terabytes ng RAM.

Pangunahing idinisenyo ang mga operating system ng mainframe upang pangasiwaan ang maraming sabay-sabay na trabaho, karamihan sa mga ito ay nangangailangan ng malaking halaga ng I/O. Dapat tumugon ang system sa libu-libong kahilingan kada segundo. Ang isang halimbawa ay ang OS/390, na nag-evolve mula sa ika-3 henerasyong operating system na OS/360.

Mga operating system ng server

Ang mga operating system na ito ay tumatakbo sa mga server, na isang personal na computer, isang workstation, o kahit isang mainframe. Nagbibigay ang mga server ng kakayahang magtrabaho kasama ang mga device sa pag-print, mga file, o sa Internet. Kasama sa mga naturang operating system ang Unix, Linux, Windows 2003 Server, atbp.

Mga operating system ng multiprocessor

Ang mga system na ito ay ginagamit sa mga computer na may maraming mga sentral na processor. Nangangailangan sila ng mga espesyal na operating system, ngunit kadalasan ay mga pagbabago ng mga operating system ng server.

Mga operating system para sa mga personal na computer

Ang pangunahing criterion ng mga system na ito ay isang maginhawang interface para sa isang user. Ang pinakasikat na mga sistema: Windows 98, 2000, XP, Vista series; Macintosh, Linux.

Real-time na mga operating system

Ang pangunahing parameter ng mga sistemang ito ay oras. Sa mga sistema ng kontrol sa proseso ng industriya, kinakailangan na malinaw na i-synchronize ang oras ng pagpapatakbo ng conveyor at iba't ibang mga robot na pang-industriya. Ito ay isang mahirap na real-time na sistema. Mayroon ding mga flexible na real-time system kung saan ang mga napalampas na deadline para sa pagkumpleto ng isang operasyon ay katanggap-tanggap, halimbawa, mga multimedia system. Kasama sa mga real-time na operating system ang VxWorks at QNX.

Naka-embed na mga operating system

Kabilang dito 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 mayroong lahat ng katangian ng real-time na mga operating system na may mga limitasyon sa memorya, kapangyarihan, atbp. Ang mga halimbawa ng mga system ay PalmOS, Windows CE.

Mga operating system para sa mga smart card

Ang smart card ay isang credit card-sized na device na naglalaman ng central processing unit. Ang ganitong mga sistema ay napapailalim sa matinding kapangyarihan at mga limitasyon sa memorya. Ang ilan ay namamahala lamang ng isang operasyon - electronic na pagbabayad, halimbawa. Kasama sa mga piling smart card ang suporta para sa Java Virtual Machine.

1.4 Pangkalahatang-ideya ng computer hardware

Ang isang operating system ay malapit na nauugnay sa hardware ng computer kung saan ito dapat tumakbo. Naiimpluwensyahan ng hardware ang command set ng operating system at ang pamamahala ng mga mapagkukunan nito. Sa konsepto, ang isang simpleng computer ay maaaring katawanin ng modelong ipinapakita sa Figure 1. Ginamit ang istrukturang ito sa mga unang modelo ng IBM PC.


Figure 1 - Ilang bahagi ng isang personal na computer


Sa figure, ang gitnang processor, memorya, at input/output device ay konektado ng isang system bus kung saan sila nagpapalitan ng impormasyon.

CPU

Ang "utak" ng isang computer ay ang central processing unit (CPU). Pinipili nito ang mga utos mula sa memorya at isinasagawa ang mga ito. Ang isang tipikal na ikot ng processor ay ganito: binabasa ang unang pagtuturo mula sa memorya, i-decode ito upang matukoy ang uri at operand nito, ipapatupad ang pagtuturo, pagkatapos ay basahin at i-decode ang mga kasunod na tagubilin. Ito ay kung paano isinasagawa ang mga programa.

Ang bawat processor ay may set ng mga tagubilin na nagagawa nitong isagawa. Dahil ang pag-access sa memory upang makatanggap ng mga tagubilin o pagkuha ng data ay mas matagal kaysa sa pagpapatupad ng mga tagubiling iyon, ang lahat ng mga processor ay naglalaman ng mga panloob na rehistro upang mag-imbak ng mga variable at mga intermediate na resulta. Samakatuwid, ang set ng pagtuturo ay karaniwang naglalaman ng mga tagubilin upang i-load ang isang salita mula sa memorya sa isang rehistro at mag-imbak ng isang salita mula sa isang rehistro sa memorya. Bilang karagdagan sa mga pangunahing rehistro na ginagamit upang mag-imbak ng mga variable, karamihan sa mga processor ay may ilang mga espesyal na rehistro na ginagamit upang mag-imbak ng mga variable, pati na rin ang mga espesyal na rehistro na nakikita ng mga programmer.

Kapag na-time-multiplexed ang processor, ihihinto ng operating system ang isang tumatakbong program upang magsimula ng isa pa. Sa bawat oras na mangyari ang ganoong pagkagambala, dapat i-save ng operating system ang lahat ng mga rehistro ng processor upang sa paglaon, kapag ang naantala na programa ay patuloy na tumatakbo, maaari silang maibalik.

Upang mapataas ang bilis ng CPU, inabandona ng kanilang mga developer ang simpleng modelo, kapag isang utos lamang ang maaaring basahin, i-decode, at isakatuparan sa isang ikot ng orasan. Ang mga modernong processor ay may kakayahang magsagawa ng maraming mga utos nang sabay-sabay.

Karamihan sa mga CPU ay may dalawang operating mode: kernel mode at user mode. Kung ang processor ay tumatakbo sa kernel mode, maaari nitong isagawa ang lahat ng mga tagubilin sa set ng pagtuturo at gamitin ang lahat ng mga kakayahan ng hardware. Ang operating system ay tumatakbo sa kernel mode, na nagbibigay ng access sa lahat ng hardware. Sa kabaligtaran, ang mga user ay nagpapatakbo sa user mode, na nagbibigay-daan sa pagpapatupad ng isang subset ng mga programa at ginagawa lamang ang isang subset ng hardware na magagamit.

Alaala

Ang pangalawang pangunahing bahagi ng anumang computer ay memorya. Sa isip, ang memorya ay dapat na mas mabilis hangga't maaari (mas mabilis kaysa sa pagproseso ng isang pagtuturo, upang ang processor ay hindi mapabagal sa pamamagitan ng pag-access ng memory na malaki at napakamura). Ngayon ay walang mga teknolohiya na nakakatugon sa lahat ng mga kinakailangang ito. Samakatuwid mayroong isa pang diskarte.

Ang sistema ng memorya ay binuo sa anyo ng isang hierarchy ng mga layer, na inilalarawan sa Figure 2. Habang lumilipat ka sa hierarchy mula sa itaas hanggang sa ibaba, dalawang parameter ang tumataas: oras ng pag-access, laki ng memorya.

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

Ang susunod na layer ay naglalaman ng cache memory, karamihan ay kinokontrol ng hardware. Ang pinaka-madalas na ginagamit na mga lugar ng cache ay naka-imbak sa high-speed cache memory na matatagpuan sa loob ng CPU. Kapag ang isang programa ay kailangang magbasa ng isang salita mula sa memorya, tinutukoy ng cache chip kung ang nais na linya ay nasa cache; kung gayon, magkakaroon ng pag-access sa cache. Ang memorya ng cache ay limitado sa laki dahil sa mataas na halaga nito. Ang mga modernong makina ay may dalawa o tatlong antas ng cache, ang bawat isa ay mas mabagal at mas malaki kaysa sa nauna. Ang mga laki ng cache ng memorya ay mula sa sampu-sampung kilobytes hanggang ilang megabytes. Ang oras ng pag-access ay bahagyang mas mahaba kaysa sa mga rehistro.


Figure 2 – Hierarchical memory structure


Susunod ang RAM (RAM - Random Access Memory o random access memory) - ang pangunahing lugar ng pagtatrabaho ng storage device ng makina. Ang lahat ng mga kahilingan sa CPU na hindi matutupad ng memorya ng cache ay ipinapadala sa RAM para sa pagproseso. Ang mga volume ay mula sa daan-daang megabytes hanggang ilang gigabytes. Ang oras ng pag-access ay sampu-sampung nanosecond.

Susunod ay ang magnetic disk. Ang memorya ng disk ay dalawang order ng magnitude na mas mura kaysa sa RAM bawat bit at dalawang order ng magnitude na mas malaki sa laki. Ang disk ay may isang problema - ang random na pag-access sa data dito ay tumatagal ng halos tatlong mga order ng magnitude na mas mahaba. Ang dahilan para sa mabagal na bilis ng mga hard disk drive (HDDs) ay ang drive ay isang mekanikal na istraktura. Binubuo ito ng isa o higit pang mga metal plate na umiikot sa mga tiyak na bilis, halimbawa 7200 rpm. Ang mga volume ng disk ay mabilis na lumalaki ngayon ang mga disk na may daan-daang gigabytes ay ibinebenta para sa karamihan ng mga gumagamit. Oras ng pag-access – hindi bababa sa 10 µs.

Ang magnetic tape ay kadalasang ginagamit upang lumikha ng mga backup ng HDD o upang mag-imbak ng napakalaking set ng data. Ngayon, siyempre, bihira kung saan mo mahahanap ang paggamit ng mga magnetic tape, ngunit hindi pa rin sila nawawalan ng paggamit. Kasama rin sa antas ng magnetic tape ang mga CD, DVD at flash memory. Ang oras ng pag-access ay sinusukat sa mga segundo.

Bilang karagdagan sa mga uri na inilarawan, ang mga computer ay may maliit na halaga ng permanenteng random na access memory. Hindi tulad ng RAM, hindi nawawala ang mga nilalaman nito kapag naka-off ang power. Ito ay tinatawag na ROM o ROM. Ang ROM ay na-program sa panahon ng pagmamanupaktura at ang mga nilalaman nito ay hindi na mababago pagkatapos nito. Ang memorya na ito ay medyo mabilis at mura. Ang mga boot program ng computer, na ginagamit sa pagsisimula, ay matatagpuan sa ROM. Bilang karagdagan, ang ilang I/O card ay naglalaman ng ROM para makontrol ang mga device na mababa ang antas. Ang isang uri ng memorya na tinatawag na CMOS ay pabagu-bago ng isip. Ginagamit ang CMOS upang mag-imbak ng kasalukuyang mga parameter ng petsa, oras at pagsasaayos, tulad ng kung saan magmumula ang hard drive. Ang memorya na ito ay kumukuha ng kapangyarihan mula sa naka-install na baterya.

I/O device

Itinuturing ng operating system ang mga I/O device bilang mga mapagkukunan. Ang mga I/O device ay karaniwang binubuo ng isang controller at ang device mismo.

Ang controller ay isang set ng mga chips sa isang board na ipinasok sa isang connector, isang pisikal na control device. Tumatanggap ito ng mga utos ng operating system (halimbawa, mga tagubilin sa pagbabasa ng data mula sa isang device) at isinasagawa ang mga ito. Ang aktwal na kontrol ng device ay napakakomplikado at nangangailangan ng mataas na antas ng detalye. Samakatuwid, ang function ng controller ay upang magbigay ng isang simpleng interface sa operating system.

Ang susunod na bahagi ay ang aparato mismo. Ang mga device ay may medyo simpleng mga interface, dahil ang kanilang mga kakayahan ay limitado at kailangan nilang dalhin sa isang solong pamantayan. Ang isang pamantayan ay kailangan, 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 drive sa mga computer na may processor ng Pentium, gayundin sa iba pang mga computer. Dahil ang aktwal na interface ng device ay nakatago ng controller, nakikita lang ng operating system ang controller interface, na maaaring ibang-iba sa interface ng device mismo.

Dahil ang bawat uri ng controller ay iba, nangangailangan sila ng iba't ibang software. Ang program na nakikipag-ugnayan sa controller ay ang device driver. Ang bawat tagagawa ng controller ay dapat magbigay ng mga driver para sa mga sinusuportahang operating system. Upang magamit ang driver, dapat itong mai-install sa operating system upang maaari itong tumakbo sa kernel mode. Mayroong tatlong paraan upang mag-install ng driver sa kernel:

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

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

Ang operating system ay maaaring tumanggap ng mga bagong driver nang hindi nakakaabala sa operasyon, at mabilis na i-install ang mga ito nang hindi nangangailangan ng pag-reboot. Ang pamamaraang ito ay nagiging mas at mas karaniwan. Ang mga device tulad ng mga USB bus, IEEE 1394 ay palaging nangangailangan ng mga driver na may dynamic na load.

Maaaring gawin ang input at output ng data sa tatlong magkakaibang paraan.

Ang pinakasimpleng paraan: ang programa ng gumagamit ay nag-isyu ng isang kahilingan sa system, na isinasalin ng kernel sa isang tawag sa pamamaraan na naaayon sa driver, pagkatapos ay sinimulan ng driver ang proseso ng I/O. Sa panahong ito, nagsasagawa ito ng isang maikling loop ng programa, na patuloy na nag-polling sa device na ginagamit nito. Kapag nakumpleto ang I/O, inilalagay ng driver ang data kung saan ito kinakailangan at babalik sa orihinal nitong estado. Pagkatapos ay ibabalik ng operating system ang kontrol sa program na gumawa ng tawag. Ang pamamaraang ito ay naghihintay para sa pagiging handa (aktibong paghihintay). Mayroon itong isang disbentaha: dapat i-poll ng processor ang device hanggang sa mag-shut down ito.

Sinisimulan ng driver ang aparato at hinihiling ito na mag-isyu ng mga interrupts kapag kumpleto na ang I/O; Pagkatapos nito, 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, bubuo ito ng pagkaantala sa pagkumpleto. Ang proseso ng I/O gamit ang mga interrupt ay binubuo ng apat na hakbang (Larawan 3). Sa unang hakbang, ang driver ay nagpapadala ng isang utos sa controller, na nagsusulat ng impormasyon sa mga rehistro ng device. Pagkatapos ay simulan ng controller ang device. Kapag natapos nang basahin o isulat ng controller ang bilang ng mga byte na sinabihan itong ilipat, nagpapadala ito ng signal sa interrupt controller chip gamit ang mga partikular na wire ng bus. Ito ang ikalawang hakbang. Sa ikatlong hakbang, kung handa na ang interrupt controller na humawak ng mga interrupts, pagkatapos ay magpapadala ito ng signal sa isang partikular na pin ng CPU, kaya ipaalam ito. Sa ika-apat na hakbang, ang interrupt controller ay naglalagay ng numero ng device sa bus upang malaman ng CPU kung aling device ang nakakumpleto sa trabaho nito.

Ang ikatlong paraan ng input/output ng impormasyon ay ang paggamit ng isang espesyal na DMA (Direct Memory Access) controller. Pinamamahalaan ng DMA ang daloy ng mga bit sa pagitan ng RAM at ilang mga controller nang walang interbensyon ng CPU. Ina-access ng processor ang DMA chip, sinasabi dito ang bilang ng mga byte na ililipat, pati na rin ang device at memory address, at ang direksyon ng paglipat ng data. Sa pagkumpleto ng trabaho, ang DMA ay magsisimula ng isang interrupt, na pinoproseso sa karaniwang paraan.


Figure 3 - Mga aksyon na ginawa kapag nagsimula ang isang I/O device at nakatanggap ng interrupt


Mga gulong

Dahil sa pagtaas ng bilis ng processor at memorya, ang mga karagdagang bus ay idinagdag sa system para mapabilis ang komunikasyon ng mga I/O device at para maglipat ng data sa pagitan ng processor at memorya. Ipinapakita ng Figure 4 ang isang diagram ng computing system ng mga unang Pentium.

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

Ang gitnang processor ay nagpapadala ng data sa pamamagitan ng lokal na bus patungo sa PCI bridge chip, na nag-a-access naman sa memorya sa pamamagitan ng isang nakalaang bus. Ang Pentium I system ay may Level 1 cache (L1) na nakapaloob sa processor at isang mas malaking Level 2 cache (L2) na nakakonekta sa processor sa isang hiwalay na cache bus. Ang IDE bus ay ginagamit upang ikonekta ang mga peripheral na device sa system (CD-ROM, hard drive).


Figure 4 – Pentium system structure


Ang USB (Universal Serial Bus) bus ay idinisenyo upang ikonekta ang mga karagdagang input/output device gaya ng keyboard, mouse, printer, flash memory, atbp. sa isang computer. Sa paglipas ng panahon, lumalabas at idinaragdag ang mga bago at mas mabilis na gulong.

Nagpapakita si Andrew Tanenbaum ng bagong edisyon ng kanyang bestseller sa buong mundo, na mahalaga para maunawaan ang paggana ng mga modernong operating system. Malaki ang pagkakaiba nito sa nauna at may kasamang impormasyon tungkol sa mga pinakabagong pagsulong sa larangan teknolohiya ng impormasyon. Halimbawa, ang kabanata sa Windows Vista ay napalitan na ngayon ng isang detalyadong pagtingin sa Windows 8.1 bilang ang pinakabagong bersyon sa oras ng pagsulat. Ang isang malaking seksyon na nakatuon sa Android operating system ay lumitaw. Ang materyal tungkol sa Unix at Linux, pati na rin ang mga sistema ng RAID, ay na-update. Higit na binibigyang pansin ang mga multi-core at multi-core system, na lumalago ang kahalagahan sa nakalipas na ilang taon. Mayroong isang buong bagong kabanata sa virtualization at cloud computing. Ang isang malaking halaga ng bagong materyal ay naidagdag tungkol sa paggamit ng mga error sa code, tungkol sa malware at naaangkop na mga hakbang sa proteksyon. Ang aklat ay nagbibigay ng maraming mahahalagang detalye sa isang malinaw at nakakaengganyo na paraan na hindi makikita sa alinmang aklat.

Ang operating system ay parang pinahabang makina.
Ang arkitektura ng karamihan sa mga computer (command system, memory organization, data input/output, at bus structure) sa antas ng machine language ay masyadong primitive at hindi maginhawa para sa paggamit sa mga program, lalo na para sa input/output system. Upang ilipat ang pag-uusap sa isang partikular na direksyon, tingnan natin ang mga modernong SATA (Serial ATA) hard drive na ginagamit sa karamihan ng mga computer. Ang libro, na inilathala ni Anderson noong 2007 at naglalaman ng isang paglalarawan ng interface ng disk na kailangang matutunan ng mga programmer na gamitin ang disk, ay naglalaman ng higit sa 450 mga pahina. Pagkatapos noon, maraming beses na binago ang interface at naging mas kumplikado kaysa noong 2007. Malinaw na walang matino na programmer ang gustong humarap sa naturang disk sa antas ng hardware. Sa halip, ang bahaging iyon ay tumatalakay sa kagamitan software, na tinatawag na disk driver at nagbibigay, nang hindi nagdedetalye, ng isang interface para sa pagbabasa at pagsusulat ng mga bloke ng disk. Naglalaman ang mga operating system ng maraming driver para makontrol ang mga I/O device.

Ngunit para sa karamihan ng mga application kahit na ang antas na ito ay masyadong mababa. Samakatuwid, ang lahat ng mga operating system ay nagbibigay ng isa pang antas ng abstraction para sa paggamit ng disk - mga file. Gamit ang abstraction na ito, ang mga program ay maaaring lumikha, magsulat at magbasa ng mga file nang hindi kinakailangang pumunta sa mga detalye totoong trabaho kagamitan.

Nilalaman
Paunang Salita
Kabanata 1. Panimula
Kabanata 2: Mga Proseso at Thread
Kabanata 3: Pamamahala ng Memorya
Kabanata 4. File System
Kabanata 5. Input at output ng impormasyon
Kabanata 6. Deadlock
Kabanata 7. Virtualization at ang Cloud
Kabanata 8. Multiprocessor system
Kabanata 9. Seguridad
Kabanata 10. Pag-aaral tiyak na mga halimbawa: Unix, Linux at Android
Kabanata 11: Pag-aaral ng Kaso: Windows 8
Kabanata 12. Pagbuo ng Mga Operating System
Kabanata 13. Bibliograpiya.

Libreng pag-download e-libro sa isang maginhawang format, panoorin at basahin:
I-download ang aklat na Modern operating system, Tanenbaum E., Bos X., 2015 - fileskachat.com, mabilis at libreng pag-download.

Mag-download ng pdf
Maaari mong bilhin ang aklat na ito sa ibaba pinakamahusay na presyo sa isang diskwento sa paghahatid sa buong Russia.

Mga download: 8365

Ang pinakasikat sa lahat ng mga operating system ngayon ay walang alinlangan ang Windows family ng Microsoft Corporation. Gayunpaman, sa kabila ng katanyagan nito, ang Windows ay hindi ang una o tanging operating system sa mundo.


28.04.2014
Nathan Wallace, Anthony Sequeira - Windows® 2000 Registry

Mga download: 596

Una at higit sa lahat, gusto naming pasalamatan si Charlotte Carpentier, Acquisitions Editor sa Coriolis. Gayundin, espesyal na pasasalamat kay Greg Balas, na nagsilbi bilang Project Editor, at Peggy Cantrell, na nagsilbi bilang Production Coordinator para sa aklat.


27.04.2014
A. Chekmarev - Gabay ng Administrator ng Windows 7

Mga download: 12818

Ang Microsoft Windows 7 Operating System Guide ay naglalayon sa mga advanced na user at network administrator. Ang maraming mga kakayahan ng lahat ng mga edisyon ng Windows 7 ay ipinahayag, ang lahat ng aspeto ng paggamit ng system ay tinalakay nang detalyado: mula sa pag-install hanggang sa mga paraan ng pagbawi.


27.04.2014
M. Russinovich - Panloob na istraktura ng Microsoft Windows

Mga download: 9066

Ang ikaanim na edisyon ng maalamat na aklat na ito ay nakatuon sa panloob na istraktura at mga algorithm para sa pagpapatakbo ng mga pangunahing bahagi ng operating room Mga sistema ng Microsoft Windows 7, pati na rin ang Windows Server 2008 R2.


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

Mga download: 8967

Ang mga operating system ng pamilyang Windows ay kinuha ang pamamaraan para sa pagbuo ng mga application application na tumatakbo sa ilalim ng kontrol ng mga operating system na ito sa isang ganap na bagong antas ng husay. Sa kabila ng kasaganaan ng makapangyarihang mga tool sa paglikha ng software, ang kaalaman sa application programming interface (API) - ang mga pangunahing kaalaman sa lahat ng ito - ang susi sa pagsusulat ng mga programa na maaaring makamit ang isang karapat-dapat na posisyon sa merkado.


17.04.2014
Arnold Robbins, Elbert Hannah, at Linda Lamb-Learning the vi and Vim Editors. ika-7 ed.

Mga download: 799

Wala nang mas panatiko ang mga hard-core na user ng Unix at Linux kaysa sa kanilang text editor. Ang mga editor ay paksa ng pagsamba at pagsamba, o ng pangungutya at panlilibak, depende kung ang paksa ng talakayan ay ang iyong editor o ibang tao" s. vi ay naging karaniwang editor sa loob ng halos 30 taon. Sikat sa Unix at Linux, mayroon din itong lumalagong sumusunod sa mga Windows system. Karamihan sa mga may karanasan na mga tagapangasiwa ng system ay citevi bilang kanilang tool na pinili. At mula noong 1986, ang aklat na ito ay naging gabay para sa vi.




 


Basahin:



Accounting para sa mga settlement na may badyet

Accounting para sa mga settlement na may badyet

Ang Account 68 sa accounting ay nagsisilbi upang mangolekta ng impormasyon tungkol sa mga ipinag-uutos na pagbabayad sa badyet, na ibinawas kapwa sa gastos ng negosyo at...

Cheesecake mula sa cottage cheese sa isang kawali - mga klasikong recipe para sa malambot na cheesecake Mga cheesecake mula sa 500 g ng cottage cheese

Cheesecake mula sa cottage cheese sa isang kawali - mga klasikong recipe para sa malambot na cheesecake Mga cheesecake mula sa 500 g ng cottage cheese

Mga sangkap: (4 na servings) 500 gr. cottage cheese 1/2 tasa ng harina 1 itlog 3 tbsp. l. asukal 50 gr. mga pasas (opsyonal) kurot ng asin baking soda...

Black pearl salad na may prun Black pearl salad na may prun

Salad

Magandang araw sa lahat ng nagsusumikap para sa pagkakaiba-iba sa kanilang pang-araw-araw na pagkain. Kung ikaw ay pagod na sa mga monotonous na pagkain at gusto mong masiyahan...

Lecho na may mga recipe ng tomato paste

Lecho na may mga recipe ng tomato paste

Napakasarap na lecho na may tomato paste, tulad ng Bulgarian lecho, na inihanda para sa taglamig. Ito ay kung paano namin pinoproseso (at kumakain!) 1 bag ng mga sili sa aming pamilya. At sino ang gusto kong...

feed-image RSS