Multiprogramming vs Time Sharing System
Ang Multiprogramming ay ang paglalaan ng higit sa isang kasabay na programa sa isang computer system at mga mapagkukunan nito. Binibigyang-daan ng multiprogramming ang paggamit ng CPU nang epektibo sa pamamagitan ng pagpapahintulot sa iba't ibang mga user na gamitin ang CPU at I/O na mga device nang epektibo. Tinitiyak ng multiprogramming na ang CPU ay palaging may dapat isagawa, kaya pinapataas ang paggamit ng CPU. Sa kabilang banda, ang pagbabahagi ng oras ay ang pagbabahagi ng mga mapagkukunan sa pag-compute sa ilang mga gumagamit nang sabay-sabay. Dahil ito ay magbibigay-daan sa isang malaking bilang ng mga gumagamit na magtrabaho sa isang solong sistema ng computer sa parehong oras, ito ay magpapababa sa gastos ng pagbibigay ng mga kakayahan sa pag-compute.
Ano ang Multiprogramming System?
Ang Multiprogramming ay ang mabilis na paglipat ng CPU sa pagitan ng ilang program. Ang isang programa ay karaniwang binubuo ng ilang mga gawain. Karaniwang nagtatapos ang isang gawain sa ilang kahilingang ilipat ang data na mangangailangan ng ilang operasyong I/O na maisakatuparan. Ang multitasking ay karaniwang ginagawa upang panatilihing abala ang CPU, habang ang kasalukuyang tumatakbong programa ay gumagawa ng mga operasyong I/O. Kung ikukumpara sa iba pang mga tagubilin sa pagpapatupad, ang mga operasyon ng I/O ay napakabagal. Kahit na ang isang programa ay naglalaman ng napakaliit na bilang ng mga pagpapatakbo ng I/O, karamihan sa oras na ginugugol para sa programa ay ginugugol sa mga pagpapatakbo ng I/O na iyon. Samakatuwid, ang paggamit ng idle time na ito at pagpayag sa isa pang program na gamitin ang CPU sa oras na iyon ay magpapataas sa paggamit ng CPU. Ang multiprogramming ay unang binuo noong huling bahagi ng 1950s bilang isang tampok ng mga operating system at unang ginamit sa mainframe computing. Sa pagpapakilala ng virtual memory at virtual machine na mga teknolohiya, ang paggamit ng multiprogramming ay pinahusay.
Ano ang Time Sharing System?
Ang Pagbabahagi ng oras, na ipinakilala noong 1960s, ay ang pagbabahagi ng mga mapagkukunan sa pag-compute sa ilang user nang sabay-sabay. Sa mga sistema ng pagbabahagi ng oras, maraming mga terminal ang nakakabit sa isang dedikadong server na may sariling CPU. Ang mga aksyon/utos na isinagawa ng operating system ng isang time sharing system ay may napakaikling tagal ng panahon. Samakatuwid, ang CPU ay itinalaga sa mga user sa mga terminal sa loob ng maikling panahon, kaya ang isang user sa isang terminal ay nakakaramdam na siya ay may isang CPU na nakatuon sa kanya sa likod ng kanyang terminal. Ang maikling yugto ng panahon na ang isang utos ay isinasagawa sa isang sistema ng pagbabahagi ng oras ay tinatawag na isang time slice o isang time quantum. Sa pag-unlad ng internet, ang mga sistema ng pagbabahagi ng oras ay naging mas popular dahil ang mga mamahaling server farm ay maaaring mag-host ng napakalaking bilang ng mga customer na nagbabahagi ng parehong mga mapagkukunan. Dahil ang mga website ay pangunahing gumagana sa mga pagsabog ng aktibidad na sinusundan ng mga panahon ng idle time, ang idling time ng isang customer ay maaaring epektibong magamit ng isa, nang walang sinuman sa kanila ang nakakapansin ng pagkaantala.
Ano ang pagkakaiba ng Multiprogramming System at Time Sharing System?
Ang pangunahing pagkakaiba sa pagitan ng multiprogramming at pagbabahagi ng oras ay ang multiprogramming ay ang epektibong paggamit ng oras ng CPU, sa pamamagitan ng pagpapahintulot sa ilang mga program na gamitin ang CPU nang sabay-sabay ngunit ang pagbabahagi ng oras ay ang pagbabahagi ng isang pasilidad sa pag-compute ng ilang user na gustong gamitin ang parehong pasilidad sa parehong oras. Ang bawat user sa isang sistema ng pagbabahagi ng oras ay nakakakuha ng sarili niyang terminal at naramdaman na ginagamit niya ang CPU nang mag-isa. Sa totoo lang, ginagamit ng mga time sharing system ang konsepto ng multiprogramming para ibahagi ang oras ng CPU sa pagitan ng maraming user nang sabay-sabay.