Kapitulli 8 - Rogova · 2021. 1. 8. · Kapitulli 8 Hyrje në sistemet operative. 2 8.1 Hyrje...

39
Kapitulli 8 Hyrje në sistemet operative

Transcript of Kapitulli 8 - Rogova · 2021. 1. 8. · Kapitulli 8 Hyrje në sistemet operative. 2 8.1 Hyrje...

  • Kapitulli 8

    Hyrje në sistemet operative

  • 2

    8.1 Hyrje

    • Kompjuteri më i shpejtë dhe më i madh në Botë është i padobishëm nëse nuk mund t’i ofrojë një shërbim cilësor shfrytëzuesve të vet.

    • Shfrytëzuesit e shikojnë kompjuterin përmes softuerit aplikativ të tyre që ekzekutohet me ndihmën e harduerit kompjuterik.

    • Softueri sistemor është një formë e ndërmjetësuesit në mes të softuerit aplikativ të shfrytëzuesit dhe të harduerit kompjuterik.

  • 3

    8.1 Hyrje

    Klasifikimi i softuerit

    Operating

    systems

    Applications

    software

    laTEX

    Virtual

    memory

    File

    system

    I/O device

    drivers

    Assemblers

    as

    Compilers

    gcc

    Systems

    software

    Software

  • 4

    8.1 Hyrje

  • 5

    8.2 Sistemet operative

    OS-i ofron keto shërbime:

    • Mundëson (së bashku me compiler-in dhe linker-in)

    krijimin e programeve

    • Ekzekutimin e programeve

    • Hyrje/Daljet dhe qasjet dhe menaxhimin e fajllave

    • Kontrollin e qasjes

    • Gjetja e gabimeve dhe reagimi ndaj tyre

    • Accounting – Llogimi i shfrytëzuesve

  • 6

    8.2 Sistemet operative

    • Sistemi operativ nuk është ende qartë i

    definuar

    – Me 1998, Departamenti i Drejtësisë në SHBA

    akuzoi kompaninë Microsoft® për ofrim të tepruar

    të funksionaliteteve si pjesë të sistemit operativ

    Windows 98 ®, që rezulton në pengesë të një gare

    të drejtë me prodhuesit e aplikacioneve

    • Problemi ishte tek Internet Explorer/Outlook Express

  • 7

    Komponentet e sistemit operativ

    • Menaxhimi i proceseve

    • Menaxhimi i memories kryesore

    • Menaxhimi i memories periferike

    • Menaxhimi i fajllave

    • Menaxhimi i H/Dve

    • Mbështetja për rrjeta

    • Sistemi mbrojtës

    • Interpretimi i komandave

  • 8

    Menaxhimi i proceseve

    • Përgjegjësitë e SO

    – Krijimi dhe shkatërrimi i proceseve

    – Suspendimi dhe vazhdimi i proceseve

    – Sinkronizimi i proceseve

    – Komunikimi i proceseve

    – Trajtimi i qorsokakeve (deadlocks)

  • 9

    Menaxhimi i memories kryesore

    • Mirëmbajtja e memories(cili program mban cilën pjesë të memories)

    • Seleksionimi i proceseve (cilat procese thirren në memorie kur ajo është e lirë)

    • Alokimi dhe dealokimi i hapërsirës së memories

  • 10

    Menaxhimi i memories periferike

    • Menaxhimi i hapësirës së lirë

    • Alokimi i hapësirës për vendosje të

    shënimeve

    • Planifikimi i orarit të disqeve (scheduling)

  • 11

    Menaxhimi i fajllave

    • Krijimi dhe fshirja e fajllave

    • Krijimi dhe fshirja e direktoriumeve

    • Mbështetja e primitivëve për manipulim të

    fajllave dhe direktoriumeve

    • Vendosja e fajllave në memorie periferike

    • Krijimi i kopjeve rezervë

  • 12

    Menaxhimi i H/D-ve

    • Menaxhimi i komponentës së memories që

    përfshin baferim, keshim dhe spulim (spooling: procesi i akumulimit të materialit për tu shtypur në një fajll derisa printeri është i

    nxënë. Fajlli shtypet kur printeri lirohet – në këtë mënyrë aplikacionet nuk duhet të

    presin për proceset e ngadalshme të shtypjes)

    • Interfejsi për drejtues të H/D pajisjeve

  • 13

    Mbështetja për rrjeta

    • Sistemet e distribuara

    • Roli i SOsë: unifikimi i qasjes në rrjetë

    • Mundëson implementim më të lehtë të

    – FTPsë

    – HTTPsë

    – NFSsë

  • 14

    Sistemi mbrojtës

    • Prezenca e më shumë se një

    shfrytëzuesi/aplikacioni/resursi kërkon një

    mbrojtje nga keqpërdorimet

    • Mbrojtja e memories

    • Mbrojtja e H/Dve

    • Mbrojtja e resurseve tjera

  • 15

    Interpretimi i komandave

    • Ky sistem mundëson interaksion në mes të

    sistemit operativ dhe shfrytëzuesit

    • Shell interpretuesit

    • GUI

  • 16

    8.2 Sistemet operative

    • I përdorë vetë resurset e kompjuterit

    • U jep programeve përkohësisht resurse

    • Përdorë funksionalitet e programeve tjera

    (driver-ave)

    • Udhëheqë procesorin gjatë përdorimit të

    resurseve dhe gjatë ndarjes së intervaleve

    kohore proceseve konkurrente

  • 17

    8.2 Sistemet operative

    • Zhvillimi i sistemeve operative është bërë paralelisht

    me zhvillimin e harduerit kompjuterik.

    – Me shtimin e mundësive harduerike sistemet operative i

    kanë lejuar njerëzit ta menaxhojnë më mirë fuqinë e një

    makine.

    • Kur memoria operative matej me KB, ndërsa shiriti

    magnetik ishte forma e vetme e memories periferike,

    sistemet operative ishin vetëm programe rezidente

    monitoruese të thjeshta.

    – Monitoruesi rezident mund ta bënte vetëm leximin,

    ekzekutimin dhe ndërprerjen e një programi.

  • 18

    8.2 Sistemet operative

    • Një “parardhës” i monitoruesit rezident ishte njeriu që

    quhej “operator i sistemit”

    • Detyrat e operatorit të sistemit (batch processing)

  • 19

    8.2 Sistemet operative

    Leximi i Punës nga Pajisja

    Hyrëse në

    User Programm Area

    Interpretimi i JCL

    Komandave

    Ekzekutimi i

    Programeve Aplikative

    Vazhdimi në Monitor

    Monitoruesi

    rezident

  • 20

    8.2 Sistemet operative

    • Në vitet e gjashtëdhjeta hardueri arriti një shkallë zhvillimi që bënte të mundur multiprogramimin, d.m.th. ekzekutimin e njëkohshëm të më shumë se një detyre.

    • Multiprogramimi realizohet duke i alokuar çdo procesi një interval të caktuar të kohës së CPU (timeslice)

    • Sistemet interaktive multiprogramore quhet sisteme me ndarje kohore (timesharing systems).– Kur procesi nxjerret nga CPU dhe zëvendësohet me një

    proces tjetër, themi se ka ndodhur ndërrimi i kontekstit (context switching).

  • 21

    8.2 Sistemet operative

    run Wait run Wait

    runA

    Wait runA

    Wait

    runB

    Wait runB

    Wait

    runA

    runA

    runB

    runB

    Multiprogramimi

  • 22

    8.2 Sistemet operative

    • Sot, sistemet multiprocesoriale janë bërë të

    zakonshme.

    – Ato paraqesin një sfidë të vërtetë për disenjuesit e

    sistemeve operative, përfshirë edhe mënyrën e

    sinkronizimit të procesorëve, si dhe kryerjen e

    aktiviteteve të tyre pa ndërhyrë në punët e njëri-

    tjetrit

  • 23

    • Katër kombinime të shumë procesorëve dhe

    shumë burimeve të të dhënave përshkruhen me

    anë të Taksonomisë së Flynnit:

    – SISD: Single instruction stream, single data stream.

    – SIMD: Single instruction stream, multiple data

    streams.

    – MIMD: Multiple instruction streams, multiple data

    streams.

    – MISD: Multiple instruction streams, single data stream.

    8.2 Sistemet operative

  • 24

    • Multiprocesorët simetrikë (SMP) dhe procesorët masivë paralelë

    (MPP) janë arkitektura MIMD që dallohen përkah mënyra e

    shfrytezimit të memories.

    • Sistemet SMP e ndajnë memorien e njëjtë, ndërsa sistemet

    MPP jo.

    • Një mënyrë e lehtë për t’i dalluar:

    MPP shumë procesorë + memoria e shpërndarë + komunikimi përmes rrjetit

    SMP më pak procesorë + memoria e përbashkët + komunikimi përmes

    memories

    • Shembuj të tjerë të arkitekturave MIMD gjenden në procesimin e

    distribuuar, i cili bëhet me punë të përbashkët të kompjuterëve të

    lidhur në rrjetë

    8.2 Sistemet operative

  • 25

    8.2 Sistemet operative

  • 26

    8.2 Sistemet operative

    • Sistemet operative të kompjuterëve personalë janë disnjuar për ta lehtësuar përdorimine tyre, e jo për ta rritur performansën

    • Idea që bëri revolucion në fushën e sistemeve operative për kompjuterë personalë është BIOS (basic input-output operating system), një çip që siguron kompatibilitetin e sistemit operativ në lloje të ndryshme të makinave të vogla.– BIOS përmban hollësitë për adresim të njësive të

    ndryshme periferike përmes protokoleve të ndryshme.

  • 27

    8.2 Sistemet operative

  • 28

    8.2 Sistemet operative

    • Sistemet operative me GUI u paraqitën në treg në vitet e tetëdhjeta.

    • Fillimisht, këto sisteme konsideroheshin të përshtatshme për programe grafike, lojra, etj, ndersa sot shikohen si avantazh i madh teknologjik për shfrytëzuesit që nuk kanë një edukim të mirefilltë teknologjik.

    – DOS

    – Windows

    – UNIX

    – Linux

  • 29

    8.2 Sistemet operative

    • Dy komponenta janë esenciale për çdo sistem operativ: bërthama dhe programet sistemore.

    • Bërthama kryen menaxhimine memories, të ndërprerjeve (interrupts), sinkronizimin, scheduling-un, si dhe ofron siguri dhe mbrojtje.

    – Sistemet me mikrobërthamë karakterizohen me një funksionalitet minimal, ndërkohë që pjesa më e madhe e shërbimeve ofrohen nga programe të jashtme (p.sh. Windows 2000, XP, etj.).

    – Sistemet monolite e kryejnë pjesën më të madhe të punës përmes një programi të vetëm (p.sh. DOS, Linux, etj.).

  • 30

    8.2 Sistemet operative

    • Sistemet me mikrobërthamë karakterizohen me siguri më të lartë, mirëmbajtje më të lehtë dhe me mundesi më të mira transferimi, por edhe me një shpejtësi më të ulët ekzekutimi.– SMP janë platforma ideale për këtë lloj të SO-

    ve.

    • Sistemet monolite karakterizohen me një shpejtësi më të madhe ekzekutimi, por varen shumë prej arkitekturës së kompjuterit.

  • 31

    8.2 Sistemet operative

    • Menaxhimi i proceseve është qendror për çdo sistem operativ– OS krijon procese, përcakton orarin e qasjes së tyre

    resurseve të caktuara (scheduling), i fshin proceset dhe i liron resurset që janë alokuar gjatë ekzekutimit të procesit.

    • Sistemi operativ monitoron aktivitetin e çdo procesi për të shmangur problemin e sinkronizimit që mund të shfaqet kur proceset ndajnë resurse të njëjta

    • Nëse proceset kanë nevojë për komunikim të ndërsjellë sistemi operativ do ta ofrojë këtë shërbim.

  • 32

    8.2 Sistemet operative

    • Sistemi operativ përcakton orarin e ekzekutimit të proceseve (scheduler)

    • Së pari, sistemi operativ vendosë se cila procese do të ketë mundësinë e qasjes CPU-së. Rëndom, këto procese zën vend në tabelen e proceseve.– Kjo quhet long-term scheduling.

    • Pasi ta ketë pranuar një numër të proceseve, sistemi operativ vendosë se cili proces do të ketë qasje në CPU në momentine caktuar kohor– Kjo quhet short-term scheduling.

    • Ndërrimi i kontekstit bëhet kur procesi merret nga CPU dhe zëvendësohet me procesin tjetër– Informatat lidhur me gjendjen e procesit ruhen gjate

    ndërrimit të kontekstit

  • 33

    8.2 Sistemet operative

    Komponentat e një procesi

    – Program i ekzekutueshëm

    – Të dhënat e procesit (variablat, etj.)

    – Konteksti

    • Përmban gjendjen e procesit

    • Mban të dhënat për realizimin e qëllimeve të OS-it

    • Informatat për CPU-në: Program Counter-i, Regjistrat,

    • Informatat për OS-in: Prioriteti, Kushtet e pritjes, ...

  • 34

    8.2 Sistemet operative

    Lista e Proceseve i

    j

    Kontexti

    Të Dhë.

    Prog.

    Kontexti

    Të Dhë.

    Prog.

    Procesi A

    Procesi B

    RAM Register

    Idx-i i Procesit i

    PC

    Gjatësia

    ...

    Regjistrat e

    tjerë

    bl

    b

    l

  • 35

    8.2 Sistemet operative

    • “Short-term scheduling” mund te jetë pa përparësi (nonpreemtive) ose me përparësi (premptive).

    • Në rastin “pa përparësi” procesi duhet ta përdorë CPU-në derisa të përfundojë ose duhet të presë që resurset e zëna të lirohen.

    • Në rastin “me përparësi” çdo procesi i alokohet një interval kohor. Me të skaduar koha e caktuar për ekzekutim, vlersohet cili proces është prioritar dhe, eventualisht, vjen deri te ndërrimi i kontekstit.

  • 36

    8.2 Sistemet operative

    • Janë katër qasje në përcaktimin e orarit per CPU (sheduling):

    – First-come, first-served ku punët kryhen sipas renditjes deri në përfundimin e plotë të tyre.

    – Shortest job first ku proceset më të shkurtëra renditen të parat. (Problemi qënron në vlerësimin se cili proces është më i shkurtër!)

    – Round robin ku çdo procesi i alokohet një kohë e caktuar, ndersa me të kaluar koha vjen deri te ndërrimi i kontekstit.

    – Priority scheduling e largon procesin që e shfrytëzon CPU-në, duke i dhënë përparësi procesit me prioritet më të lartë.

  • 37

    8.2 Sistemet operative

    • Disa sisteme operative i kombinojnë mënyrat e ndryshme të “schedulingut”, p.sh.

    – Multitasking – lejohet që disa procese të ekzekutohen njëkohësisht

    – Multithreading – procesi ndahet në njësi më të vogla të quajtura threads (fije)

    • Proceset tradicionale kanë një thread të vetëm

    • P.sh. një procesor teksti mund të ketë një thread për paraqitjen e grafikës dhe një tjetër për leximine tastierës, që janë pjesë e procesit të njëjtë

    • Thread-at e njëjtë janë kontekst të përafërt, prandaj ndërrimi i kontekstit në rastine tyre bëhët shumë më shpejtë

  • 38

    8.2 Sistemet operative

    WINDOWS 2000

    • Sistem preemptiv 32-bitësh për mikroprocesorët

    Intel

    • Qëllimet kryesore: portabiliteti, siguria, përkrahja

    për multiprocesorë, kompatibiliteti me

    aplikacionet për MS-DOS dhe MS-Windows

    • Arkitekturë mikrobërthamore.

    • Versionet: Professional, Server, Advanced

    Server, National Server.

  • 39

    8.2 Sistemet operative

    Arkitektura

    Windows

    2000