Pothuajse çdo softuer që mund të dëshironi, si dhe shumë softuer që nuk e dëshironi, mund të gjenden në internet. Megjithatë, nuk të bën shumë mirë atje. për të qenë në gjendje të ekzekutoni një program, fillimisht duhet ta shkarkoni dhe instaloni atë. Pasi softueri të ruhet në hard diskun tuaj, mund ta ekzekutoni atë.
Problemi është se mediat e ruajtjes, madje edhe SSD-të me shpejtësi të lartë, janë mjaft të ngadalta në krahasim me një CPU dhe nuk mund të ofrojnë të dhëna mjaftueshëm shpejt për performancë të pranueshme. Për të qenë në gjendje të ekzekutoni softuerin, kodi që do të ekzekutohet duhet të ngarkohet në memorie. Kjo është puna e një ngarkuesi.
Ngarkuesi është një komponent i sistemit operativ. Është thelbësore për të nisur çdo aplikacion pasi e ngarkon programin në memorie dhe e përgatit atë për ekzekutim. Ngarkuesi mbahet gjithmonë në memorie në mënyrë që programet të mund të ngarkohen sa më shpejt që të jetë e mundur.
Është e nevojshme të ngarkoni sistemin operativ në memorien e sistemit për të nisur. Kjo është detyra e një lloji specifik ngarkuesi të quajtur ngarkues i nisjes. Sistemet e integruara mund të mos përdorin domosdoshmërisht një ngarkues. Ky është zakonisht rasti për sistemet e nivelit të ulët pa sisteme operative që ekzekutojnë kodin direkt nga media ruajtëse, zakonisht EPROM ose memoria flash.
Një Kasë Edge
Kujtesa virtuale është një veçori e sistemeve moderne operative që fsheh adresën fizike të të dhënave nga sistemi dhe programi. Avantazhi thelbësor këtu është se kjo i lejon sistemit operativ të "faqes" një pjesë të memories nga RAM-i fizik. Në vend të kësaj, e ruan atë në hard disk.
Paging zakonisht bëhet vetëm kur kompjuterit i mbaron RAM-i. Kjo është e dobishme sepse lejon një kompjuter të përdorë më shumë RAM sesa ka. Pa këtë proces, të paktën një program do të prishej pasi nuk mund të ruante të dhënat e nevojshme. E keqja është se media e ruajtjes është ende e ngadaltë, kështu që ka një ndikim të madh në performancë nëse kërkohen të dhënat e zhvendosura. Me këtë, megjithatë, ngarkuesi mund të bëjë një mashtrim. Në vend që të ngarkojë të dhënat e nevojshme në RAM, ai mund të krijojë hapësirën e memories virtuale dhe ta vendosë atë në vendndodhjen e të dhënave në hard disk.
Kjo do të lejonte që programi të shfaqet i ngarkuar menjëherë, megjithëse nuk është bërë. Programi nuk është gati për t'u përdorur tani, edhe pse mund të duket si ai. Ky mund të mos jetë domosdoshmërisht një problem për një detyrë të panevojshme në sfond, por është një problem nëse është një aplikacion që përdoruesi dëshiron të përdorë; në këtë rast, mashtrimi nuk do të jepte asnjë përfitim.
Një arsye tjetër është se, zakonisht, kur hapet një program, sistemi ka RAM të mjaftueshëm. Shumica e njerëzve nuk e mbajnë kompjuterin e tyre të funksionojë me 99% përdorim RAM vazhdimisht. Edhe ata që e bëjnë këtë me siguri do të duan që programi që sapo kanë ngarkuar të funksionojë dhe do të preferojnë që një program tjetër të jetë i faqezuar.
Përgjegjësitë e një ngarkuesi
Hapat e saktë të ngarkuesit varen nga sistemi operativ në fjalë. Një ngarkues bazë UNIX ka pesë funksione kryesore. E para është kryerja e kontrolleve të vërtetimit. Kjo përfshin memorie të mjaftueshme fizike të disponueshme dhe lejet e nevojshme. Më pas, ngarkuesi në të vërtetë i harton të dhënat. Zakonisht kjo bëhet duke transferuar të dhënat në memorien kryesore. Siç u përmend më lart, memoria teorikisht mund të krahasohet me vendndodhjen e diskut në një majë.
Aplikacionet mund të ekzekutohen me argumente të linjës së komandës. Këta janë flamuj opsionalë që tregojnë sjellje ose veçori të caktuara që nuk janë të aktivizuara si parazgjedhje. Flamuri -h përdoret shpesh për të printuar një skedar ndihmës të bazuar në tekst në vend që të ekzekutojë programin. Këto argumente gjithashtu duhet të ngarkohen në memorie. Regjistrat duhet të inicializohen, siç është treguesi i stivës. Më në fund, ngarkuesi kalon te udhëzimi i parë i programit për ta vënë atë në punë.
konkluzioni
Një ngarkues është pjesë e një sistemi operativ. Ai është përgjegjës për ngarkimin e aplikacioneve duke filluar nga ruajtja në memorie kryesore. Përgjegjësitë e tij shtrihen edhe në fillimin e ekzekutimit të programit. Kjo do të thotë se duhet të inicializojë regjistrat dhe të thërrasë instruksionin e parë të programit. Njihet si ngarkues i nisjes kur ngarkuesi është përgjegjës për ngarkimin e vetë sistemit operativ.