Fabijan Lukin, Fran Pregernik, Tomislav Sukser

Dokumentacija za izradu programa i senzora za obojivo računarstvo

Povratak

3        Operacijski sustav obojivog računala i njegova biblioteka

Prije u tekstu vidjeli smo da jedan ciklus izvođenja operacijskog sustava obojivog računala u sebi sadrži razne pozive metoda s kojima on komunicira s programom. No, sada je red objasniti kako program može komunicirati s operacijskim sustavom, jer kao što znamo, on ne može izravno komunicirati niti s drugim programima, niti sa susjednim obojivim računalima i slično. Operacijski sustav omogućava upravo sve te operacije.

U ovom trenutku, podijelit ćemo biblioteke na 5 dijelova, prikazanih u tablici.

Grupa metoda (biblioteka)

Opis

HomePage: Write

Metode za pisanje po podatkovnoj stranici

HomePage: Read

Metode za čitanje podataka s podatkovne stranice

I/O Space: Read

Metode za čitanje podataka sa zrcaljenih podatkovnih stranica

Process Fragment Transfer

Metode za upravljanje prijenosom programa

Maintenance & Miscelaneous

Nerazvrstane metode

Podjela biblioteka operacijskog sustava

3.1    Biblioteka za pisanje po podatkovnoj stranici

3.1.1       Metoda int PostEntry(uint processFragmentId, object post)

Ovo je metoda koja zapisuje objekt post na prvo slobodno mjesto na dijelu podatkovne stranice određenom za program identifikacijskog broja processFragmentId.

Parametar processFragmentId

Identifikacijski broj programa na čiji dio na stranici se postavlja zapis.

Paremetar post

Zapis koji se postavlja na prvo slobodno mjesto.

Povratna vrijednost

Redni broj ubačenog zapisa na dijelu podatkovne stranice koji je predviđen za program identifikacijskog broja processFragmentId, odnosno -1 ukoliko zapisivanje nije bilo moguće ostvariti.

Prikaz ulaza i izlaza metode PostEntry

3.1.2       Metoda int PostEntry(object post)

Zapisuje objekt post na prvo slobodno mjesto na dijelu podatkovne stranice za program koji je pozvao ovu metodu.

Paremetar post

Zapis koji se postavlja na prvo slobodno mjesto.

Povratna vrijednost

Redni broj ubačenog zapisa na dijelu podatkovne stranice koji je predviđen za program koji je pozvao ovu metodu, odnosno -1 ukoliko zapisivanje nije bilo moguće ostvariti.

Prikaz ulaza i izlaza metode PostEntry

3.1.3       Metoda int PostEntry(uint processFragmentId, int index, object post)

Zapisuje objekt post na mjesto indeksa index u dio podatkovne stranice određen za program identifikacijskog broja processFragmentId.

Parametar processFragmentId

Identifikacijski broj programa na čiji dio na stranici se postavlja zapis.

Parametar index

Indeks zapisa na dijelu podatkovne stranice na koji će upisivanje biti obavljeno.

Paremetar post

Zapis koji se postavlja na mjesto specificirano identifikacijskim brojem programa i indeksom.

Povratna vrijednost

Redni broj ubačenog zapisa na dijelu podatkovne stranice koji je predviđen za program identifikacijskog broja processFragmentId, dakle – isti kao i predani parametar index; odnosno -1 ukoliko zapisivanje nije bilo moguće ostvariti.

Prikaz ulaza i izlaza metode PostEntry

3.1.4       Metoda int PostEntry(int index, object post)

Zapisuje objekt post na mjesto indeksa index u dio podatkovne stranice određen za program koji je pozvao dotičnu metodu.

Parametar index

Indeks zapisa na dijelu podatkovne stranice na koji će upisivanje biti obavljeno.

Paremetar post

Zapis koji se postavlja na mjesto specificirano indeksom i identifikacijskim brojem programa koji je pozvao ovu metodu

Povratna vrijednost

Redni broj ubačenog zapisa na dijelu podatkovne stranice koji je predviđen za program koji je pozvao metodu, dakle – isti kao i predani parametar index; odnosno -1 ukoliko zapisivanje nije bilo moguće ostvariti.

Prikaz ulaza i izlaza metode PostEntry

3.1.5       Metoda bool RemoveEntry(uint processFragmentId, int index)

Briše zapis s dijela podatkovne stranice predviđenog za program identifikacijskog broja processFragmentId na mjestu indeksa index.

Parametar processFragmentID

Identifikacijski broj programa na čijem dijelu stranice će se obrisati zapis

Paremetar index

Indeks zapisa na dotičnom dijelu stranice koji se briše

Povratna vrijednost

true ukoliko je brisanje uspješno izvedeno, false inače

Prikaz ulaza i izlaza metode RemoveEntry

3.1.6       Metoda bool RemoveEntry(int index)

Briše zapis s dijela podatkovne stranice predviđenog za program koji je pokrenuo ovu metodu na mjestu indeksa index.

Paremetar index

Indeks zapisa na dotičnom dijelu stranice koji se briše

Povratna vrijednost

true ukoliko je brisanje uspješno izvedeno, false inače

Prikaz ulaza i izlaza metode RemoveEntry

3.1.7       Metoda int RemoveAllEntries(uint processFragmentId)

Briše sve zapise koji pripadaju programu identifikacijskog broja processFragmentId.

Paremetar index

Indeks zapisa na dotičnom dijelu stranice koji se briše

Povratna vrijednost

Broj obrisanih zapisa.

Prikaz ulaza i izlaza metode RemoveAllEntries

3.1.8       Metoda int RemoveAllEntries()

Briše sve zapise koji pripadaju programu koji je pozvao ovu metodu.

Povratna vrijednost

Broj obrisanih zapisa.

Prikaz ulaza i izlaza metode RemoveAllEntries

3.2    Biblioteka za čitanje podataka s podatkovne stranice

3.2.1       Metoda int GetPostCount(uint processFragmentId)

Metoda GetPostCount dohvaća broj zapisa koji su zapisani na dijelu podatkovne stranice predviđenom za program identifikacijskog broja processFragmentId.

Paremetar processFragmentId

Identifikacijski broj programa za koji će se pregledati broj zapisa na podatkovnoj stranici

Povratna vrijednost

Broj zapisa na dotičnom dijelu podatkovne stranice

Prikaz ulaza i izlaza metode GetPostCount

3.2.2       Metoda int GetPostCount()

Ova metoda GetPostCount dohvaća broj zapisa koji su zapisani na dijelu podatkovne stranice predviđenom za program koji je pozvao ovu metodu.

Povratna vrijednost

Broj zapisa na dijelu podatkovne stranice predviđenom za program koji je pozvao ovu metodu

Prikaz ulaza i izlaza metode GetPostCount

3.2.3       Metoda object GetPost(uint processFragmentId, int index)

Ova metoda dohvaća zapis na mjestu indeksa index iz dijela podatkovne stranice predviđene za program identifikacijskog broja processFragmentId.

Paremetar processFragmentId

Identifikacijski broj programa s čijeg dijela podatkovne stranice će se zapis dohvatiti.

Parametar index

Indeks zapisa na dotičnom dijelu podatkovne stranice.

Povratna vrijednost

Zapis koji se nalazi na traženom mjestu, null inače.

Prikaz ulaza i izlaza metode GetPost

3.2.4       Metoda GetPost(int index)

Ova metoda dohvaća zapis na mjestu indeksa index iz dijela podatkovne stranice predviđene za program koji je pozvao ovu metodu.

Parametar index

Indeks zapisa na dijelu podatkovne stranice predviđenom za program koji je pozvao ovu metodu.

Povratna vrijednost

Zapis koji se nalazi na traženom mjestu, null inače.

Prikaz ulaza i izlaza metode GetPost

3.3    Biblioteka za čitanje podataka sa zrcaljenih podatkovnih stranica

3.3.1       Metoda int GetIOSpaceCount()

Metoda dohvaća broj zrcaljenih podatkovnih stranica.

Povratna vrijednost

Broj zrcaljenih podatkovnih stranica

Prikaz ulaza i izlaza metode GetIOSpaceCount

3.3.2       Metoda int GetIOPostCount(int mirrorIndex, uint processFragmentId)

Metoda dohvaća broj zapisa na zrcaljenoj podatkovnoj stranici rednog broja susjeda mirrorIndex, za dio stranice koji pripada programu processFragmentId.

Parametar mirrorIndex

Redni broj susjeda čija se podatkovna stranica promatra

Parametar processFragmentId

Identifikacijski broj programa čiji se dio dotične zrcaljene stranice pregledava.

Povratna vrijednost

Broj zapisa koji se nalaze na dotičnom dijelu zrcaljene podatkovne stranice.

Prikaz ulaza i izlaza metode GetIOSpaceCount

3.3.3       Metoda int GetIOPostCount(int mirrorIndex)

Metoda dohvaća broj zapisa na zrcaljenoj podatkovnoj stranici rednog broja susjeda mirrorIndex, za dio stranice koji pripada programu istog identifikacijskog broja kao i program koji je pozvao ovu metodu.

Parametar mirrorIndex

Redni broj susjeda čija se podatkovna stranica promatra

Povratna vrijednost

Broj zapisa koji se nalaze na dotičnom dijelu zrcaljene podatkovne stranice.

Prikaz ulaza i izlaza metode GetIOSpaceCount

3.3.4       Metoda object GetIOPost(int mirrorIndex, uint processFragmentId, int postIndex)

Dohvaća zapis koji se nalazi na dijelu zrcaljene podatkovne stranice, rednog broja susjeda mirrorIndex, koji je predviđen za program identifikacijskog broja processFragmentId, na mjestu indeksa postIndex.

Parametar mirrorIndex

Redni broj susjeda čija se podatkovna stranica promatra

Parametar processFragmentId

Identifikacijski broj programa čiji se dio dotične zrcaljene stranice pregledava.

Parametar postIndex

Indeks zapisa na dotičnom dijelu zrcaljene stranice.

Povratna vrijednost

Zapis koji se nalazi na tom mjestu, null inače.

Prikaz ulaza i izlaza metode GetIOPost

3.3.5       Metoda object GetIOPost(int mirrorIndex, int postIndex)

Dohvaća zapis koji se nalazi na dijelu zrcaljene podatkovne stranice, rednog broja susjeda mirrorIndex, koji je predviđen za program identifikacijskog broja istog identifikacijskom broju programa koji je pozvao ovu metodu, na mjestu indeksa postIndex.

Parametar mirrorIndex

Redni broj susjeda čija se podatkovna stranica promatra

Parametar postIndex

Indeks zapisa na dijelu dotične zrcaljene stranice, koji je predviđen za program koji ima isti identifikacijski broj kao i pozivajući program.

Povratna vrijednost

Zapis koji se nalazi na tom mjestu, null inače.

Prikaz ulaza i izlaza metode GetIOPost

3.4    Biblioteka za upravljenje prijenosom programa

3.4.1       Metoda bool QueueTransfer(int mirrorIndex)

Ovo je metoda koja stavlja program koji poziva ovu metodu u red čekanja za slanje na susjeda rednog broja mirrorIndex. Pretpostavljena vrijednost prioriteta za slanje je 0.

Parametar mirrorIndex

Redni broj susjeda na koji se želi poslati program.

Povratna vrijednost

true ako je ubacivanje u red za slanje uspjelo, false inače

Prikaz ulaza i izlaza metode QueueTransfer

3.4.2       Metoda bool QueueTransfer(int mirrorIndex, byte priority)

Ovo je metoda koja stavlja program koji poziva ovu metodu u red čekanja za slanje na susjeda rednog broja mirrorIndex.

Parametar mirrorIndex

Redni broj susjeda na koji se želi poslati program.

Parametar byte

8-bitni broj koji predstavlja prioritet slanja

Povratna vrijednost

true ako je ubacivanje u red za slanje uspjelo, false inače

Prikaz ulaza i izlaza metode QueueTransfer

3.4.3       Metoda bool IsQueuedForTransfer()

Provjerava jesu li svi zahtjevi za slanje posluženi.

Povratna vrijednost

true ako ima neposluženih zahtjeva za slanje, false inače

Prikaz ulaza i izlaza metode IsQueuedForTransfer

3.4.4       Metoda bool IsQueuedForTransfer(int mirrorIndex)

Provjerava jesu li svi zahtjevi za slanje na susjeda rednog broja mirrorIndex posluženi.

Parametar mirrorIndex

Redni broj susjeda za kojega se traži provjera posluženih zahtjeva.

Povratna vrijednost

true ako ima neposluženih zahtjeva za slanje na susjeda rednog broja mirrorIndex, false inače

Prikaz ulaza i izlaza metode IsQueuedForTransfer

3.4.5       Metoda bool ClearQueueTransfer(int mirrorIndex)

Poništava slanje programa koji je pozvao ovu metodu, tj. briše ga iz reda čekanja.

Parametar mirrorIndex

Redni broj susjeda za kojega se traži poništenje slanja programa

Povratna vrijednost

true ako je poništenje slanja uspjelo, false inače

Prikaz ulaza i izlaza metode ClearQueueTransfer

3.4.6       Metoda bool QueueUninstall()

Stavlja program koji je pozvao ovu metodu u red za deinstalaciju s dotičnog računala. Pretpostavljeni prioritet deinstalacije je 0.

Povratna vrijednost

true ako je stavljanje u red za deinstalaciju uspjelo, false inače

Prikaz ulaza i izlaza metode QueueUninstall

3.4.7       Metoda bool QueueUninstall(byte priority)

Stavlja program koji je pozvao ovu metodu u red za deinstalaciju s dotičnog računala, pri čemu je priority predstavlja prioritet.

Parametar priority

8-bitni broj koji predstavlja prioritet deinstalacije

Povratna vrijednost

true ako je stavljanje u red za deinstalaciju uspjelo, false inače

Prikaz ulaza i izlaza metode QueueUninstall

3.5    Biblioteka sa nerazvrstanim metodama

3.5.1       Metoda uint GetComputerId()

Ova metoda vraća identifikacijski broj obojivog računala na kojem se program, koji ju je pozvao, nalazi.

Povratna vrijednost

Identifikacijski broj računala na kojem je program pokrenut

Prikaz ulaza i izlaza metode GetComputerId