Add Papers Marked0
Paper checked off!

Marked works

Viewed0

Viewed works

Shopping Cart0
Paper added to shopping cart!

Shopping Cart

Register Now

internet library
Atlants.lv library
FAQ
6,49 € Add to cart
Add to Wish List
Want cheaper?
ID number:459863
 
Author:
Evaluation:
Published: 31.01.2006.
Language: Latvian
Level: College/University
Literature: 2 units
References: Not used
Table of contents
Nr. Chapter  Page.
1.  UZDEVUMS    3
1.1.  Uzdevuma nostādne    3
1.2.  Uzdevuma paskaidrojums    3
1.3.  Instrukcija lietotājam    5
1.4.  Funkcionēšanas piemērs    7
2.  UZDEVUMS    8
2.1.  Uzdevuma nostādne    8
2.2.  Uzdevuma paskaidrojums    8
2.3.  Instrukcija lietotājam    10
2.4.  Funkcionēšanas piemērs    12
  IZMANTOTAS LITERATŪRAS SARAKSTS    15
Extract

Uzdevuma galvenais mērķis ir semafora darbības modelēšana.
Uzdevums „Filosofi pie pusdienu galda” (Deikstra, 1971.g.) tiek formulēts sekojošā veiā:
Pieci filozofi sēž pie apaļā galda. Katrs no viņiem kādu laiku runā par politiku un kādu laiku ēd spagetti. Katram filozofam priekšā ir šķīvis ar spagetti. Uz galda ir piecas dakšas, pa vienai starp filozofiem – kaimiņiem. Lai varētu ēst spagetti, jāizmanto divas dakšas vienlaicīgi, kas atrodas blakus filozofa šķīvim.
Istrādāt programmu, kur filosofi ir procesi un procesu sinhronizēšanai izmanto semafora mehānismu.
1.2. Uzdevuma paskaidrojums
Risinot uzdevumu par filosofiem tiek pieņemts, ka katrs filososfs ir laiksakarīgs process kas darbojas neatkarīgi no citiem procesiem.
Process – ir programmas izpildīšanas stadija. Process atrodas izpildīšanas stāvoklī, ja procesors tiek iedalīts procesam un atrodas procesa rīcībā.
Laiksakarīgi procesi – ir tādi, kuri eksistē un izpildās vienlaicīgi. Tādi procesi var darboties pilnīgi neatkarīgi, taču mūsu gadījumā tie darbojas asinhronajā režīmā, kas nozīme, ka laiku pa laikam procesiem vajag sinhronizēties.
Atzīmēsim sekojošo: katram filosofam ir iespējami trīs stāvokļi:
1)Filosofs domā t.i. process atrodas tāda izpildīšanas stadija, kurā viņš ir neatkarīgs no citiem procesiem. Tas nozīme, kā šajā stadijā var atrasties jebkurš filosofu skaits;
2)Filosofs ēd, t.i. process atrodas sava kritiskā stāvokli. Kritiskais stāvoklis nozīme to, ka jebkurā laikā momentā tikai viens no blakusesošiem filosofiem var atrasties savā kritiskajā stāvoklī (ēst). Ja filosofu skaits ir 5, tad vienlaicīgi var ēst tikai 2 filosofi.
3)Filosofs ir pabeidzis domāt un gadā dakšiņu atbrīvošanu. Šo stāvoklis nozīme, ka process ir sabloķēts.
Laiku pa laikam, kāds no filozofiem ir pabeidzis domāt un grib sākt ēst, vai otrādi – pabeidzis ēst un grib sākt domāt, notiek sinhronizācija.
Sinhronizācija – ir procesa uzsākšanas momenta piekārtošanā kādam noteiktam momentam.
Viens no procesu sinhronizācijas veidiem, kas arī tiek izmantots uzdevuma atrisināšanai, ir semaforu izmantošanā.
Semafors – ir īpašs datu tips, ko izmanto, lai sinhronizētu vairākus procesus, kas izpildās vienlaicīgi. Semafors ir aizsargāts mainīgs, kura vērtību var nolasīt un nomainīt izmantojot speciālas operācijas wait, sinal un semafora inicializācijas operāciju.
Izmantojot semaforu koncepciju var atrisināt savstarpējas izslēgšanas problēmu ar vienkāršo paņēmienu: katra procesa kritisko apgabalu ielemt ar operācijām wait un signal uz vienīga semafora ar sākuma stāvokli – 1.
Filosofa darbības algoritmu vienkāršotā veidā var attēlot sekojoši:
PROCEDURE Filosofs(FilosofaNumurs: INTEGER);
VAR KreisaDakša , LabējaDakša:1..5;
BEGIN
KreisaDakša:=(FilosofaNumurs +1) mod 5;
LabējaDakša:= FilosofaNumurs mod 5;
WHILE True DO
BEGIN
;
P(Dakša[KreisaDakša]; Dakša [LabējaDakša]);
<Ēšana>;
V(Dakša [KreisaDakša]; Dakša [LabējaDakša]);
END
END;

Semaforu Dakša sākotnējais stāvoklis ir 1.…

Author's comment
Load more similar papers

Atlants

Choose Authorization Method

Email & Password

Email & Password

Wrong e-mail adress or password!
Log In

Forgot your password?

Draugiem.pase
Facebook

Not registered yet?

Register and redeem free papers!

To receive free papers from Atlants.com it is necessary to register. It's quick and will only take a few seconds.

If you have already registered, simply to access the free content.

Cancel Register