40
ICES VIŠJA STROKOVNA ŠOLA Diplomsko delo višješolskega strokovnega študija Program: Informatika PREDSTAVITEV DELOVANJA OPERACIJSKIH SISTEMOV V OKOLJU OSEBNIH RAČUNALNIKOV Mentor: mag. Miran Novak Kandidat: Igor Majer Lektorica: Ana Peklenik, prof. slov. Ljubljana, januar 2016

VIŠJA STROKOVNA ŠOLAprogramiranje je potekalo preko stikal, luknjanih kartic ali magnetnih trakov. Osnovne funkcije operacijskih sistemov, kot je rezidenčni monitor (resident monitor),

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

ICES

VIŠJA STROKOVNA ŠOLA

Diplomsko delo višješolskega strokovnega študija

Program: Informatika

PREDSTAVITEV DELOVANJA

OPERACIJSKIH SISTEMOV V OKOLJU

OSEBNIH RAČUNALNIKOV

Mentor: mag. Miran Novak Kandidat: Igor Majer

Lektorica: Ana Peklenik, prof. slov.

Ljubljana, januar 2016

ZAHVALA

Zasluga za uresničitev mojega cilja na prvem mestu pripada mag. Miranu Novaku,

ker je sprejel mentorstvo. Zahvalil bi se mu za vso podano znanje, napotke in

strokovna predavanja.

Prav tako se zahvaljujem tudi dragi mami za podporo in pomoč pri študiju. Ona je

tista, ki je verjela vame, me spodbujala ter mi nesebično pomagala.

Za lektoriranje se zahvaljujem Ani Peklenik, prof. slov., ki je moje diplomsko delo

jezikovno in slovnično pregledala.

IZJAVA

»Študent Igor Majer izjavljam, da sem avtor tega diplomskega dela, ki sem ga

napisal pod mentorstvom mag. Mirana Novaka.«

»Skladno s 1. odstavkom 21. člena Zakona o avtorski in sorodnih pravicah

dovoljujem objavo tega diplomskega dela na spletni strani šole.«

Dne _____________ Podpis: __________________

POVZETEK

Diplomska naloga Predstavitev delovanja operacijskih sistemov v okolju osebnih

računalnikov strokovno opisuje principe delovanja in uporabo protokolov.

Cilj diplomske naloge je opredelitev osnovnih pojmov, kot so proces, razvrščevalnik

procesov in pomen izvajalnega okolja.

Opisani so Microsoftovi vmesniki za programiranje aplikacij, možnost oddaljenega

povezovanja in datotečni sistemi.

V praktičnem delu je prikazana postavitev testnega strežnika Linux, ki ga lahko ob

ustreznih nastavitvah uporabljamo za spletno stran, shranjevanje podatkov ali kot

možnost oddaljenega dostopa.

Z razlago vgrajenih orodij ter praktičnih nasvetov za boljši nadzor, pregled in njihovo

uporabo ima lahko upravljavec računalniškega sistema celovit vpogled v vsak

operacijski sistem tako v domačem kot v profesionalnem okolju.

Ključne besede:

operacijski sistemi,

osebni računalniki,

programiranje,

strežnik,

okolje Linux.

SUMMARY

Thesis Presentation of operating systems in personal computing environment in a

professional way describes working principles and usage of protocols.

The aim of this thesis is the definition of basic concepts such as process, process

scheduler and the importance of Runtime Environment.

It describes the Microsoft application programming interfaces, the possibility of

remote connectivity and file systems.

At the end I have setup a test Linux server, that can with right settings be used for a

web page, data storage or the possibility of remote access.

With the interpretation of embedded tools and practical tips for better control,

inspection and their use, they can provide computer system administrator

comprehensive insight into any operating system, be it for domestic or professional

environment.

Key words:

operating systems,

PC,

programming,

server,

Linux.

KAZALO

1 Uvod ................................................................................................................. 1

1.1 Predstavitev problema................................................................................ 1

1.2 Cilji naloge ................................................................................................. 2

1.3 Metodologija ............................................................................................... 2

2 Operacijski sistemi ............................................................................................ 2

2.1 Vrste operacijskih sistemov ........................................................................ 2

2.2 Osnovne naloge operacijskih sistemov ...................................................... 3

2.3 Zgodovina operacijskih sistemov ................................................................ 4

2.3.1 Osrednji računalnik (mainframe) ......................................................... 4

2.3.2 Mikroračunalniki .................................................................................. 5

3 Slojevita zgradba ............................................................................................... 6

4 Delovanje operacijskih sistemov........................................................................ 7

4.1 Zagon in inicializacija strojne opreme ......................................................... 7

4.2 Proces ........................................................................................................ 8

4.2.1 Zgradba in stanje procesa ................................................................... 8

4.3 Razvrščevalnik procesov ............................................................................ 9

4.4 Delo z datotečnimi sistemi in hramba podatkov ........................................ 10

4.4.1 Datotečni sistemi Windows ............................................................... 10

4.4.2 Delo z datotečnim sistemom v ukazni vrstici Windows – Command

prompt / cmd.exe ............................................................................................ 11

4.4.3 Defragmentacija ................................................................................ 11

5 Uporabniški vmesnik ....................................................................................... 13

5.1 Windows .................................................................................................. 13

5.2 Unix, Linux – sistem X oken (X Windows system, X, X11) ....................... 14

5.3 Navidezni in 3D grafični uporabniški vmesnik ........................................... 14

6 Izvajalno okolje ................................................................................................ 15

6.1 Windows API – predhodno znan kot Win32 API ....................................... 15

6.1.1 Microsoft DirectX ............................................................................... 16

6.2 Problem Microsoft DirectX kot komponente z razvojnim in tržnim

monopolom ......................................................................................................... 17

6.2.1 OpenGL (Open Graphics Library) ..................................................... 17

6.2.2 Glide API in 3dfx ............................................................................... 18

6.2.3 Direct3D/DirectX ............................................................................... 18

7 Oddaljeno povezovanje ................................................................................... 19

7.1 Oddaljena povezava namizja na Microsoft Windows ................................ 19

7.2 Oddaljena povezava v tekstovnem načinu ............................................... 20

7.2.1 Oddaljena povezava na Unixu in Unixu podobnih sistemih (Linux,

OpenBSD, FreeBSD) ...................................................................................... 20

7.2.2 Oddaljena povezava na Mac OS X ................................................... 20

7.3 VNC (Virtual Network Computing) ............................................................ 20

8 Postavitev testnega strežnika brez grafičnega vmesnika ................................. 21

8.1 Namestitev SSH-strežnika ....................................................................... 22

8.2 SUDO in dodelitev vseh pravic uporabniku .............................................. 23

8.3 Namestitev Apache .................................................................................. 24

8.4 Namestitev MySQL in PHP ...................................................................... 24

8.5 Program phpMyAdmin.............................................................................. 24

8.6 Ukazi in orodja za prikaz strojne opreme .................................................. 25

8.6.1 Sistemska orodja............................................................................... 25

8.6.2 Programska orodja / imamo možnost dodatne namestitve z ukazom

apt-get install ime_programa ........................................................................... 29

9 Zaključek ......................................................................................................... 31

Viri in literatura ....................................................................................................... 32

KAZALO SLIK

Slika 1: Tržni delež OS v osebnih računalnikih glede na StatCounter za november

2015 ......................................................................................................................... 1

Slika 2: Slojevita zgradba operacijskih sistemov ....................................................... 6

Slika 3: Glavni zagonski sektor ................................................................................. 7

Slika 4: Komponente procesa ................................................................................... 9

Slika 5: Strežnik Compaq-Proliant DL320 ............................................................... 21

Slika 6: Minimalna namestitev Debian GNU/Linux .................................................. 22

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 1 od 33

1 UVOD

1.1 Predstavitev problema

V diplomski nalogi obravnavamo operacijske sisteme, ki so osnova za delovanje,

uporabo in nadziranje vse strojne opreme. Raziskovali smo, ali lahko postavimo

testno okolje, ki omogoča oddaljeno povezovanje, postavitev spletne strani z

uporabo podatkovnih baz ali možnostjo shranjevanja podatkov.

Ob namestitvi programske opreme imamo pogosto že vgrajene sistemske aplikacije,

razvojne vmesnike ter uporabniške programe. Proces, razvrščevalnik procesov in

datotečni sistemi so v različnih operacijskih sistemih različni, vendar pa vsi

opravljajo isto nalogo.

Večina osebnih računalnikov ima nameščeno okolje Microsoft Windows. Njihovi

pregledni grafični vmesniki so hitro postali priljubljeni po vsem svetu.

Slika 1: Tržni delež OS v osebnih računalnikih glede na StatCounter za november

2015

(Vir: https://en.wikipedia.org/wiki/Usage_share_of_operating_systems)

Razvili so lastne protokole, razvojne vmesnike, pisarniška orodja ipd.

V modernih informacijskih sistemih so operacijski sistemi ključnega pomena, saj

predstavljajo nepogrešljivo orodje ter osnovo za nemoteno delo vseh uporabnikov in

s tem zagotavljajo višjo kakovost in produktivnost njihovih storitev.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 2 od 33

Večina podjetij se za operacijske sisteme Microsoft Windows odloči predvsem

zaradi podpore, kompatibilnosti in zagotavljanja varnosti. Pri tem je treba kupiti

licenco glede na število osebnih računalnikov.

1.2 Cilji naloge

Cilj diplomske naloge je opredeliti osnovne pojme, kot so proces, razvrščevalnik

procesov in pomen izvajalnega okolja. V praktičnem delu naloge pa želimo razložiti

vgrajena orodja, da si bo lahko vsak uporabnik pomagal pri namestitvi, uporabi in

posodabljanju opreme, ki morda ni najnovejša.

1.3 Metodologija

V teoretičnem delu naloge je povzeta strokovna literatura, povezana z obravnavano

temo.

V praktičnem delu naloge je opisan primer uporabe brezplačnega operacijskega

sistema Debian GNU/Linux z uporabo starejše strojne opreme. Ob konfiguraciji brez

grafičnega uporabniškega vmesnika je doseženo optimalno delovanje na manj

zmogljivi opremi.

Tako si lahko postavimo testno okolje, ki nam omogoča oddaljeno povezovanje,

postavitev spletne strani z uporabo podatkovnih baz ali možnostjo shranjevanja

podatkov.

2 OPERACIJSKI SISTEMI

Kaj je operacijski sistem?

Operacijski sistem je programska oprema, zadolžena za delovanje celotnega

sistema, kjer je nameščena. Skrbi za komunikacijo med uporabnikom in strojno

opremo in za delovanje vseh fizičnih naprav ter nadzira sistemske vire [2].

2.1 Vrste operacijskih sistemov

Uporabljajo se v računalniških sistemih z različnimi specifikacijami, zato se njihove

funkcije pogosto razlikujejo. V osnovi sta vsem operacijskim sistemom skupni dve

funkciji:

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 3 od 33

- uporabniški vmesnik (user interface) in

- zagotavljanje izvajalnega okolja (run-time environment).

Po številu opravil in uporabnikov jih delimo na:

- enouporabniške – enopravilne, ki omogočajo izvajanje ene aplikacije ali

procesa največ enemu uporabniku hkrati,

- enouporabniške – večopravilne, pri katerih en uporabnik uporablja enega ali več

programov istočasno,

- večuporabniške – večopravilne, pri katerih večje število uporabnikov lahko

uporablja več programov istočasno.

Nekatere druge vrste so:

- mrežni in porazdelitveni, ki upravljajo s skupino različnih računalniških

sistemov in ga logično prikazujejo kot enega,

- vgrajeni (embedded), ki so tipični za uporabo v vgrajenih sistemih in navadno

potrebujejo manj virov za svoje osnovno delovanje. So kompaktni in zelo

efektivno načrtovani. Najdemo jih predvsem v industriji, medicini, vojski,

avtomobilizmu, mobilnih in raznih drugih namenskih napravah,

- realno-časovni (real-time), to so sistemi, ki zagotavljajo procesiranje

določenih ukazov ali podatkov v točno določenem kratkem časovnem

intervalu. Realno-časovni sistemi so lahko enoopravilni ali večopravilni.

2.2 Osnovne naloge operacijskih sistemov

Osnovne naloge operacijskih sistemov so opisane v nadaljevanju.

Zagon in inicializacija strojne opreme:

- preveri se vsa priključena strojna oprema,

- preverijo se sistemske zahteve in kompatibilnost,

- ob zagonu operacijskega sistema se naložijo primerni gonilniki.

Zagon in inicializacija vhodno/izhodnih naprav:

- nadzor procesov in dodeljevanje virov;

- delo z datotečnimi sistemi in hramba podatkov;

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 4 od 33

- komunikacija z uporabnikom (uporabniški vmesnik).

2.3 Zgodovina operacijskih sistemov

Najstarejši osrednji računalniki niso imeli operacijskih sistemov, saj so bili zgrajeni

zato, da so opravljali vrsto enoopravilnih nalog. Obdelovanje podatkov in

programiranje je potekalo preko stikal, luknjanih kartic ali magnetnih trakov.

Osnovne funkcije operacijskih sistemov, kot je rezidenčni monitor (resident monitor),

ki so z avtomatskim izvajanjem določenih programov pripomogle k pospešitvi

izvajanja procesov, so bile razvite v 50. letih prejšnjega stoletja.

Operacijski sistemi v moderni, bolj kompleksni obliki niso obstajali do zgodnjih 60.

let. V tem času so implementirali strojne dodatke, ki so omogočali zagonske

knjižnice, prekinitive in paralelno procesiranje.

Ko so v 80. letih osebni računalniki postali moderni in cenovno dostopnejši, so

izdelali operacijske sisteme, primerne zanje, na osnovi njihovih velikih predhodnikov

[2].

2.3.1 Osrednji računalnik (mainframe)

V petdesetih letih 20. stoletja je bilo razvitih veliko splošnih funkcij na področju

pionirskih operacijskih sistemov, med drugim:

- paketna obdelava;

- vhodno/izhodne prekinitve;

- vmesno shranjevanje (buffering);

- večopravilnost;

- tiskanje v ozadju (spooling);

- runtime knjižnice;

- povezovalnik in

- programi za razvrščanje datotečnih zapisov.

Te funkcije so programerji selektivno vključili ali izključili v aplikacijski programski

opremi.

Leta 1959 so pri IBM-u izdali operacijski sistem SHARE kot integrirano orodje za

točno določene osrednje sisteme (704, 709 in 7090), ki ga je kmalu nasledil

IBSYS/IBJOB.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 5 od 33

V šestdesetih letih je IBM predstavil prve računalnike družine System/360, v katerih

je bil nameščen operacijski sistem OS/360. Ta sistem je prvi uvedel koncept

beleženja vseh sistemskih virov v računalniku skupaj z dodeljevanjem prostora

programom v glavnem pomnilniku, datotečnega prostora v zunanjem nosilcu

podatkov in zaklepanja datotek med posodobitvami [2].

2.3.2 Mikroračunalniki

Prvi mikroračunalniki niso imeli dovolj prostora ali potrebe za gostujoče operacijske

sisteme, zato so bili ti pogosto vgrajeni kar v ROM (read only memory).

Eden začetnih je bil diskovni operacijski sistem CP/M (control program for

microcomputers), ki je bil podprt na velikem naboru različnih zgodnjih

mikroračunalnikov. Nasledil ga je Microsoftov MS-DOS, ki je bil zelo popularen in

priljubljen na računalnikih IBM PC. IBM-ova verzija se je imenovala IBM DOS

oziroma PC DOS.

Velik prelom je pomenila predstavitev čipa Intel 80386, ki je bil osnovan na 32-bitni

arhitekturi in je imel strojno podporo za kopiranje podatkov iz navideznega v fizični

pomnilnik (ta proces se imenuje pomnilniško ostranjevanje ali v angleščini paging).

Z ostranjevanjem so na zgodnjih mikroračunalnikih omogočili delovanje

večopravilnih operacijskih sistemov.

Microsoft je v ta namen najel Davea Culterja, ki je za podjetje Digital Research

Corporation razvil operacijski sistem VMS in kasneje tudi Windows NT. Ti sistemi še

danes predstavljajo osnovno v Microsoftovih oknih [2].

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 6 od 33

3 SLOJEVITA ZGRADBA

Za modernejše operacijske sisteme velja slojevita zgradba, kjer izvajanje ukazov,

nadzora in prenosa podatkov poteka z višjega uporabniškega nivoja proti nižjemu v

več slojih in tako omogoča uporabniku, da je čim manj odvisen od strukturiranosti in

lastnosti strojne opreme.

Povezava med strojno opremo in jedrom je ustvarjena v dveh slojih, pri čemer so na

najnižjem sloju krmilniki, ki so prilagojeni posameznim lastnostim strojne opreme,

med njimi in jedrom pa so nameščeni gonilniki.

Gonilniki prevzemajo ukaze ter jih predajajo v izvajanje krmilnikom, v obratni smeri

pa posredujejo status o opravljenih operacijah. Če pogledamo skozi sloje

operacijskega sistema, vidimo, da je najvišji uporabniški sloj, najnižji pa fizični.

Slika 2: Slojevita zgradba operacijskih sistemov

(Vir: povzeto po Zazula, 2006, str. 1–4)

Uporabniški

vmesnik

Logični sloj

Fizični sloj

Jedro

Gonilniki

Strojna

oprema

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 7 od 33

4 DELOVANJE OPERACIJSKIH SISTEMOV

4.1 Zagon in inicializacija strojne opreme

Zagon in inicializacija strojne opreme potekata po naslednjih korakih:

- pritisk gumba za napajanje (Power On),

- centralno procesna enota resetira pine in registre na določeno vrednost,

- centralno procesna enota skoči na lokacijo v BIOSU (0xFFFF0),

- BIOS zažene POST (Power on self test),

- BIOS preusmeri izvajanje na lokacijo MBR (Master Boot Record),

- primarni zagonski nalagalnik se zažene in skoči na sekundarnega,

- sekundarni zažene operacijski sistem.

Slika 3: Glavni zagonski sektor

(Vir:

http://www.engineersgarage.com/sites/default/files/imagecache/Original/wysiwyg_im

ageupload/4214/How-PC-boots-up2.gif)

zagonski

nalagalnik 446

bajtov

64

bajtov

2 bajta

tabela

particioniranja

magična številka

512

bajtov

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 8 od 33

Kaj je Power On Self Test?

Je testna funkcija, vgrajena v BIOS, kjer se inicializira vsa osnovna in dodatna

strojna oprema. Ob morebitni okvari se javi napaka.

Master Boot Record (MBR) ali glavni zagonski sektor je zapis, ki se nahaja na

prvem sektorju zagonskega diska (sektor 1, cilinder 1, glava 0). Zapis je velikosti

512 bajtov, sestavljajo pa ga trije segmenti [3]:

- prvih 446 bajtov je rezerviranih za zagonski nalagalnik,

- naslednjih 64 bajtov predstavlja tabela o particioniranju diska,

- na koncu 2 bajta predstavljata magično številko, ki je nastavljena na 0 x

AA55 in označuje, da gre za sektor MBR.

4.2 Proces

Procesi so programi, naloženi v pomnilnik, pripravljeni za izvajanje. Izvirajo lahko

neposredno iz posla, ki ga je uporabnik poslal v obdelavo, ali pa nastajajo kot

sistemski procesi določenega operacijskega sistema in so navadno že prisotni ob

samem zagonu.

Zanje je značilno, da so deli izvedljive programske kode, ki je naložena v

pomnilniku, le prost procesor je potreben, da se njihovo izvajanje začne.

4.2.1 Zgradba in stanje procesa

Osnovni komponenti, ki sta prineseni iz izvedljivega modula vsakega procesa, sta:

- programska sekcija in

- podatkovna sekcija.

Poleg teh dveh osnovnih komponent se ob izvajanju procesa dinamično tvorijo še 3

zelo pomembne komponente:

- ustrezna vrednost programskega števca,

- vsebine procesorjevih registrov,

- procesov sklad (kamor se po potrebi shranjujejo vsebine procesorjevih

registrov).

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 9 od 33

Proces sestavlja 5 komponent, kot prikazuje spodnja slika.

Slika 4: Komponente procesa

(Vir: povzeto po Zazula, 2006, 37–38)

4.3 Razvrščevalnik procesov

Razvrščevalnik je modul operacijskega sistema, ki skrbi, da je naslednji posel

poslan v obdelavo in naslednji proces zagnan. Proces spremlja ves čas njegovega

obstoja – od trenutka nastanka do njegovega konca.

Ob zaključevanju procesa njegovo deaktiviranje opravijo rutine, ki so za to

zadolžene v jedru operacijskega sistema.

Razvrščevalnik vodi procese skozi tri stanja:

- aktivno ali v čakanju – proces je že naložen v pomnilnik in pripravljen na

izvajanje, preide iz stanja novega nastanka (created);

- izvajanje – dodeli se procesor in prične se izvajanje ukazov;

- blokiranje – proces je začasno blokiran zaradi določenih dogodkov, kot so

vhodno-izhodno prekinitive ali čakanje do zaključka neke operacije.

Procesov nadzorni blok (process control block – PCB) je podatkovna struktura v

jedru, ki vsebuje podatke, potrebne za nadziranje posameznih procesov, in se v

različnih operacijskih sistemih razlikuje po obliki in vsebini.

Procesov nadzorni blok vsebuje naslednje informacije o procesu:

- kazalec na povezavo v seznamu,

podatkovna

sekcija

sklad

programska

sekcija

programski števec

registri

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 10 od 33

- stanje procesa,

- številka procesa (id),

- programski števec,

- registri procesorja,

- prioriteta,

- meje pomnilnika/tabela strani,

- seznam odprtih zbirk,

- podatki za obračunavanje.

Naloga razvrščevalnika je, da v čim večji meri zaposli centralno procesno enoto, pri

tem pa si pomaga z informacijami procesov iz njihovih nadzornih blokov (povzeto po

[1], str. 39–42).

Windows NT/XP/Vista uporabljajo metodo večnivojske čakalne vrste. Gre za

kombinacijo fiksno-prioritetnega prekinjevalnega (preemptive) in krožnega (round

robin) razvrščanja [4].

4.4 Delo z datotečnimi sistemi in hramba podatkov

Datotečni sistem predstavlja del operacijskega sistema, ki omogoča trajno

shranjevanje podatkov.

Delo z datotekami je bilo v nekaterih starejših operacijskih sistemih tipa DOS, Linux

ali Unix možno le preko ukazov in ukazne vrstice. Dobro poznano in za javnost

dostopno grafično-tekstovno izoblikovano orodje za DOS je bil Norton Commander.

S tem programom je uporabnik lahko na enostaven način preko dveh razdeljenih

oken upravljal datoteke in imenike.

4.4.1 Datotečni sistemi Windows

Delo z datotečnimi sistemi in hramba podatkov potekata v novejših operacijskih

sistemih avtomatizirano. Najpogosteje nam je na voljo možnost formatiranja v

datotečnem sistemu NTFS, ki je v nasprotju s predhodnim sistemom FAT32

omogočil zapis datotek, večjih od 4 GB.

Ohranilo se je orodje v okolju Windows za delo z datotekami, ki se imenuje

raziskovalec (Windows File Explorer) in se do danes pravzaprav ni bistveno

spremenilo. Gre za grafično podobo z okni, pri čemer lahko datoteke kopiramo,

brišemo in urejamo enostavno s premiki miške in kombinacijami tipk na tipkovnici.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 11 od 33

Prav tako je okna zaznamovalo programsko orodje Diskpart za nadzor nad aktivnimi

particijami in datotečnimi sistemi preko ukazne vrstice. Če vnesemo ukaz "list disk"

po zagonu programa Diskpart, nam ta prikaže vse diskovne enote, ki so nam na

voljo v trenutnem sistemu, ne glede na format. Lahko gre tudi za nov disk, ki ima še

neformatirano površino.

Tako ima izkušen uporabnik na voljo selektivne izbire pri rabi orodij za datotečne

sisteme, bodisi le preko ukazne vrstice bodisi z uporabo grafičnega okolja in zanj

prirejenih programov.

4.4.2 Delo z datotečnim sistemom v ukazni vrstici Windows – Command

prompt / cmd.exe

Ukazi za navigacijo datotek: cd (chdir), dir, tree.

Ukazi za dejansko rabo datotek: attrib, cacls, cipher, compact, copy, del (erase),

deltree, expand, icacls, makecab, md (mkdir), move, rd (rmdir), recover, ren

(rename), replace, rmdir, robocopy, xcopy.

Ukazi za nadziranje diskovja: chkdsk, convert, defrag, diskcomp, diskcopy, diskpart,

fdisk, format, label, subst, scandisk, sys, vol, vssadmin [5].

Različni primeri diskovnih datotečnih sistemov: FAT (FAT12, FAT16, FAT32),

exFAT, NTFS, HFS in HFS+, HPFS, UFS, ext2, ext3, ext4, XFS, btrfs, ISO9660,

Files-11, Veritas File System, VMFS, ZFS, ReiserFS in UDF [6].

4.4.3 Defragmentacija

Defragmentacija je prerazporeditev podatkov, ki so se sčasoma razpršili po nekem

mediju, navadno trdem disku ali napravi za shranjevanje podatkov, s končnim ciljem

izboljšati strukturiranost zapisov in hitrost bralno-pisalnih dostopov.

Kaj je fragmentacija in zakaj nastane?

Fragmentacija je pojav, ki nastane kot posledica večkratnega zapisovanja in

brisanja podatkov. Na zapisovalnih površinah medijev imamo tako prazne prostore

različnih velikosti.

Ob zapisovanju podatkov nekaterih datotek datotečni sistem ne zapiše kot zvezno

enoto, temveč jih razdeli v fragmente, s katerimi nato zapolni te prazne prostore

poljubnih velikosti. Vzroki za povečanje fragmentiranosti sistemskih in logičnih

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 12 od 33

pogonov so največkrat prezasedene particije, večje datoteke ali preveliko številko

datotek. Posledica povečane fragmentacije je upočasnjeno branje in zapisovanje

datotek.

Program za defragmentacijo vse zapise defragmentira, samo če imamo na voljo

minimalno 15 % celotnega prostora na posamezni particiji, saj tega uporabi za

reorganizacijo fragmentiranih struktur. Če je disk zapolnjen v več kot 85 %, pa se

izvede delna defragmentacija.

V magnetnih diskih z mehanskimi gibljivimi deli je defragmentacija bistvenega

pomena, saj s tem procesom razbremenimo bralno/pisalno glavo in povečamo

hitrost prenosa podatkov. Posledično podaljšamo življenjsko dobo diska in njegovih

vitalnih delov.

Na enotah za shranjevanje, ki uporabljajo bliskovni pomnilnik (SSD-diski in

podobno), defragmentacija opazneje ne pospeši delovanja. Ti diski nimajo gibljivih

delov, zato to bistveno ne vpliva na njihovo prepustnost in dostopne čase.

Linux distribucije v večini uporabljajo ext – dnevniški datotečni sistem, ki uporablja

predvsem bolj izpopolnjeno logiko za ureditev datotek in prostora med njimi, zato se

v večini primerov ti pogoni ne defragmentirajo tako pogosto, sama fragmentiranost

pa naj ne bi presegla 10 % celotnega pogona.

V operacijskih sistemih tipa Windows se za zmanjšanje fragmentacije uporablja

program za defragmentiranje diska (Disk Defragmenter).

Zanimivo je, da ima Windows 7 v razporejevalniku opravil kot privzete nastavitve

omogočeno tedensko defragmentacijo za vse trde diske z magnetnim zapisom. Za

SSD-diske je možna le ročna defragmentacija, vendar pa tudi ta ni priporočljiva.

Univerzalna rešitev za čim manjšo fragmentiranost pogonov za raznolike datotečne

sisteme je, da pustimo od deset do dvajset odstotkov prostora na posameznih

particijah nezasedenega.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 13 od 33

5 UPORABNIŠKI VMESNIK

Vmesnik je odgovoren za komunikacijo med uporabnikom in računalnikom.

V splošnem poznamo 2 različni vrsti uporabniških vmesnikov:

- tekstovni uporabniški vmesnik in

- grafični uporabniški vmesnik.

Tekstovni način upravljanja v večini primerov uporabljajo predvsem izkušeni

uporabniki, ki poznajo okolje, v katerem delajo, njegove prednosti ter ukaze za

upravljanje integriranih orodij in sistemskih funkcij. Prednost tekstovnega grafičnega

vmesnika je predvsem v manjši porabi tako delovnega kot grafičnega pomnilnika.

Dobro načtovan grafični vmesnik lahko razbremeni uporabnika pred učenjem

kompleksnih ukazov, saj interakcija poteka preko miške, tipkovnice ali zaslona na

dotik.

Prednosti grafičnih vmesnikov so:

- človek večino informacij sprejema vizualno,

- hitrejše razpoznavanje, učenje in večja preglednost,

- hitra uporaba in dostop do programskih in sistemskih orodij,

- enostavnejše posodabljanje operacijskega sistema in določenih orodij,

- manj napak pri samem delu,

- možnost izbire različnih jezikov,

- programska oprema za prepoznavo govora,

- ponujajo napredne integrirane funkcije za invalide.

5.1 Windows

Grafični uporabniški vmesnik ali GUI (Graphical User Interface) se uporablja v vseh

sistemih Microsoft Windows in je že nameščen kot del celote, saj nimamo selektivne

izbire pri njegovi namestitvi.

Ob zagonu nas pozdravi prijavno okno, kjer navadno izberemo ikono uporabnika z

uporabniškim imenom. Z vnosom gesla se nato prijavimo v svoj delovni prostor –

namizje.

Vsa interakcija z elektronskimi napravami poteka preko zaslonskih ikon, sistemsko-

opravilnih vrstic ter oken.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 14 od 33

Z vgrajenim programom za prepoznavo govora (od Windows Vista naprej) in

centrom za lažji dostop (Ease of Access) omogoča delo tudi brez tipkovnice in

miške, kar pomaga predvsem invalidnim osebam.

Windows s svojo enostavnostjo in preglednostjo grafičnega uporabniškega

vmesnika zagotovo ponuja nadpovprečno zadovoljivo izkušnjo za končnega

uporabnika.

5.2 Unix, Linux – sistem X oken (X Windows system, X, X11)

X ali X11 je grafični vmesnik, ki je bil specifično razvit za prikazovanje bitnih slik na

operacijskih sistemih iz družine Unix in Linux. Gre za platformo, ki služi kot osnova

za razvoj in delovanje raznolikih vmesnikov. Tako imata Unix in Linux možnost izbire

različnih grafičnih vmesnikov za prikaz ikon oz. okolja: Gnome, KDE, CDE, twm

XFCE, AfterStep, Enlightenment, Motif Window Manager, Fluxbox [7].

5.3 Navidezni in 3D grafični uporabniški vmesnik

Navidezni in 3D grafični uporabniški vmesniki so že implementirani v nekaterih

različicah sistemov Windows, Linux, Unix in Mac OS X. Omogočajo preklapljanje

med več namizji, s čimer pridobimo večjo delovno površino.

Navidezni grafični vmesniki pridejo do pravega pomena za računalniške sisteme z

enim monitorjem, saj lahko tako prikazujemo različna namizja istočasno ter imamo

lepši in večji pregled nad programi, ki se izvajajo. Možnost navideznega grafičnega

vmesnika brez dodatne programske opreme so omogočili v Windows 10.

3D grafični uporabniški vmesnik je prav tako lahko navidezni, s pomočjo grafične

kartice in pospeševanja prikazuje namizje v 3D načinu.

Logično si lahko predstavljamo tako namizje kot kocko, na kateri vsaka ploskev

predstavlja novo delovno površino.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 15 od 33

6 IZVAJALNO OKOLJE

Izvajalno okolje (runtime environment) je posebna programska oprema, ki omogoča

izvajanje programov, napisanih v določenem programskem jeziku. Vsak programski

jezik ima svoj izvajalni sistem.

Windows Runtime (WinRT)

Windows Runtime ali WinRT je platformno-homogena programska arhitektura, prvič

predstavljena na Windows Server 2012. Podpira razvoj aplikacij, ki temeljijo na

programskih jezikih C++, C#, VB.NET, JavaScript in TypeScript.

API – application programming interface/programski vmesnik [8].

6.1 Windows API – predhodno znan kot Win32 API

Windows API je vmesnik za razvoj okenskih aplikacij, ki uporablja storitve,

integrirane v Microsoftove operacijske sisteme. Glavni namen je zagotoviti delovanje

aplikacij in kompatibilnost med različnimi operacijskimi sistemi Windows.

Funkcionalnost Windows API lahko razdelimo v osem kategorij [9].

Osnovne storitve (kernel32.dll)

Omogočajo dostop do nekaterih osnovnih funkcij sistema Windows, kot so:

datotečni sistem, procesi, niti in nadziranje napak.

Napredne storitve (advapi32.dll)

Omogočajo dostop do naprednih storitev, dodanih jedru, kot so: registri, vnovični

zagon/izklop sistema, zagon/ustavitev storitve Windows, nadzor uporabniških

računov.

Vmesnik za grafično napravo (gdi32.dll)

Omogoča izpis grafičnih vsebin na monitor, tiskalnik ali drugo izhodno napravo.

Jedro ima svoj grafični način delovanja preko datoteke win32k.sys, ki neposredno

komunicira z grafičnim gonilnikom.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 16 od 33

Uporabniški vmesnik (usr32.dll)

Uporablja se za ustvarjanje in nadzor oken, gumbov in drsnikov.

Knjižnica za okna z dialogi ali interakcijo (comdlg32.dll)

Uporablja se pri izbiri barv, črk za standardne interaktivne dialoge (pri odpiranju,

shranjevanju datotek in podobno).

Knjižnica za kontrolo (comctrl32.dll)

Omogoča uporabo naprednih kontrolnih modulov, kot so: statusna vrstica, vrstica o

napredku, zavihkov in orodne vrstice (toolbar).

Ukazna vrstica (shell32.dll)

Omogoča funkcionalnost celotnega ukazne vrstice operacijskega sistema Windows

z možnostjo razširitve ali uvedbe sprememb.

Mrežni vmesniki (netapi32.dll)

Se uporabljajo za aplikacije, ki za svoje delovanje potrebujejo lokalno omrežje ali

internet.

6.1.1 Microsoft DirectX

Je večja zbirka vmesnikov za multimedijo. Uporablja se za igranje in programiranje

video iger, prav tako tudi pri predvajanju/zajemanju video vsebin na Microsoftovih

sistemih.

Direct3D – je komponenta znotraj DirectX, ki se uporablja za 3D grafiko na

operacijskih sistemih Microsoft Windows in njihovih igralnih konzolah Microsoft

Xbox/360/One.

Prav tako igra pomembno vlogo pri programih za načrtovanje objektov, ki

uporabljajo 3D grafiko (CAD/CAM computer-aided design/manufacturing) [10].

Komponente Microsoft DirectX so prikazane v naslednji tabeli.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 17 od 33

Ime komponente Področje uporabe

Direct3D 3D grafika

DXGI za inicializacijo in določitev vseh grafičnih

kartic in monitorjev

Direct2D 2D grafika

DirectWrite za črke

DirectComptue za preračunavanje graf. procesorja

DirectSound3D za predvajanje 3D zvoka

DirectX Media (Direct Animation,

DirectShow, DirectX Video

Acceleration ipd.)

grafične in spletne animacije, Direct Show

za predvajanje multimedije

XACT3 zvokovni zapis višjega nivoja

Xaudio2 zvokovni zapis nižjega nivoja

Tabela 1: Komponente Microsoft DirectX

(Vir: https://en.wikipedia.org/wiki/DirectX)

6.2 Problem Microsoft DirectX kot komponente z razvojnim in

tržnim monopolom

Microsoftova strategija je bila usmerjena v razvijalce iger v okolju DOS. Z

implementacijo lastnega vmesnika DirectX in Direct3D za razvoj videoiger na

njihovih operacijskih sistemih so želeli pritegniti pozornost razvijalcev in s tem dobro

zaznamovali zgodovino razvoja programske in strojne opreme na osebnih

računalnikih [11].

Od začetka uveljavitve prvih 3D grafičnih pospeševalnikov za množično uporabo pa

je bilo na voljo nekaj aplikacijskih programskih vmesnikov (API-jev) za 3D grafiko,

med katerimi je tudi dobro poznan OpenGL.

6.2.1 OpenGL (Open Graphics Library)

Silicon Graphics Inc. (SGI) je leta 1991 pričel z razvojem vmesnika in ga izdal

januarja 1992. Njegova glavna funkcija je, da omogoča pospeševanje 2D in 3D

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 18 od 33

grafike s pomočjo strojne opreme. OpenGL je podprt na različnih operacijskih

sistemih in programskih jezikih [12].

V aplikacijah se uporablja za:

- navidezno resničnost,

- znanstvene vizualizacije,

- vizualizacijo informacij,

- pomoč pri grafičnem načrtovanju (CAD),

- simulacije letenja,

- videoigre.

Ta odprtokodni standard upravlja neprofitni tehnološki konzorcij, skupina Khronos.

6.2.2 Glide API in 3dfx

Prvi začetki komercialnih 3D grafičnih pospeševalnikov segajo med leti 1994 in

2000. Na tem področju je bilo prevladujoče podjetje z imenom 3dfx, ki je takrat

delovalo [13].

Izdelali so nabor 3D grafičnih pospeševalnikov in pozneje tudi samostojnih kartic

pod imenom Voodoo, ki so uporabljali lasten vmesnik, imenovan Glide. Osnovan je

bil na OpenGL, uporabljal pa je le nekatere od njegovih 336 klicev. Glavni namen

njihovega vmesnika je bil, da je uporabljal le najnaprednejše klice za realno časovno

3D grafično procesiranje.

6.2.3 Direct3D/DirectX

DirectX je postal prevladujoč po razpadu podjetja 3dfx in do danes ni imel nobenega

resnejšega tekmeca. Vsi razvijalci so začeli podpirati dobro opredeljena navodila in

podporo za uporabo te grafične komponente.

S hitrim razvojem operacijskih sistemov Microsoft Windows je povezana industrija

grafičnih kartic, ki imajo podporo za specifično verzijo njihovega grafičnega

vmesnika, čeprav so za nazaj združljivi.

Tako je strojna oprema odvisna od programske in ima ob implementaciji novejših

naprednih grafičnih tehnologij pogosto omejeno funkcionalnost.

Zakaj torej govorimo o razvojnem in tržnem monopolu, če lahko SDK (Software

development kit) za DirectX prenesemo zastonj?

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 19 od 33

Vsa podjetja s tržno dejavnostjo morajo imeti nameščeno licenčno programsko

opremo. Microsoft si je na ta način kot podjetje zagotovil večinski tržni in razvojni

delež, ko govorimo o področju videoiger na osebnih računalnikih. Operacijski sistemi

iz družine Windows predstavljajo platformo, ki je do današnjega dne postala tako

standardizirana, da jo uporabljajo skoraj vsi razvijalci, od programerjev do grafičnih

načrtovalcev.

7 ODDALJENO POVEZOVANJE

Je povezovanje s primarnega na oddaljeni računalnik. Povezava se vzpostavi preko

programa, ki na eni strani deluje v uporabniškem, na drugi pa v strežniškem načinu.

Povezujemo se preko lokalnega ali internetnega omrežja ter tako uporabljamo

računalnik izven fizičnega dosega za različna opravila, dostop do datotek, nadzor

kontrolnih in video sistemov ali nudimo oddaljeno pomoč.

7.1 Oddaljena povezava namizja na Microsoft Windows

Microsoft je v ta namen razvil lasten protokol za oddaljeno povezovanje RDP, ki se

je prvič pojavil v Windows NT 4.0 Terminal Server Edition pod imenom terminalne

storitve (Terminal Services).

Kasneje se je sklop teh programov preimenoval v RDS (Remote Desktop Services)

skupaj z izdajo Windows Server 2008 R2 leta 2009 in je do danes postal del

sistemske programske opreme.

Remote Desktop Services sestavljajo tri komponente [14]:

- Windows oddaljena asistenca,

- povezava z oddaljenim namizjem,

- možnost hitrega preklapljanja med uporabniki.

RDP (Remote Desktop Protocol) – protokol za oddaljeno povezovanje

RDS (Remote Desktop Services) – storitve za oddaljeno namizje

RDC (Remote Desktop Connection) – povezava z oddaljenim namizjem

VNC (Virtual Network Computing) – virtualno omrežno računalništvo

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 20 od 33

7.2 Oddaljena povezava v tekstovnem načinu

Za vzpostavitev oddaljene povezave se uporablja SSH (Secure Shell). Kaj je SSH?

SSH je kriptiran omrežni protokol za vzpostavitev varnega kanala skozi nezaščiteno

omrežje. Najpogosteje se uporablja v tekstovnem načinu z uporabo ukazne vrstice

[15].

7.2.1 Oddaljena povezava na Unixu in Unixu podobnih sistemih (Linux,

OpenBSD, FreeBSD)

Za vzpostavitev oddaljene povezave se uporablja OpenSSH, ki je poznan tudi kot

OpenBSD Secure Shell. OpenSSH je nadgrajena verzija SSH z orodji za večjo

varnost omrežnega povezovanja [16].

7.2.2 Oddaljena povezava na Mac OS X

Mac OS X ima za oddaljeno povezovanje v terminal in namizje vgrajena [17], [18]:

- Remote Login – SSH (strežnik in odjemalec) in

- Screen Sharing – VNC (strežnik in odjemalec) – vgrajen v MacOS X 10.4+.

7.3 VNC (Virtual Network Computing)

VNC deluje na protokolu RFB (Remote Frame Buffer) in služi za prikaz grafičnega

uporabniškega vmesnika z oddaljenega računalnika. Je neodvisen od vrste

operacijskega sistema, saj deluje skoraj v vsakem okolju in je najpogosteje

uporabljen.

Najbolj znani programi VNC s podporo za različne sisteme so [19]:

- RealVNC (Windows, Linux, Mac OS X, Raspberry PI, Solaris, HP-UX, AIX),

- TightVNC (Windows, Linux, Unix),

- TeamViewer (Windows, Linux, Mac OS X, Windows Phone, iOS, Android).

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 21 od 33

8 POSTAVITEV TESTNEGA STREŽNIKA BREZ

GRAFIČNEGA VMESNIKA

Odločili smo se, da bomo za postavitev strežnika uporabili operacijski sistem Debian

GNU/Linux 8. Namestitev je potekala na starejši strojni opremi, natančneje na

strežniku Compaq-Proliant DL320.

Tehnične specifikacije testnega okolja strežnika [20]:

- proizvajalec in model – Compaq-Proliant DL320 (leto izdelave: 2001),

- procesor – Intel Pentium III 1.26GHz FC-PGA,

- pomnilnik – 1.5GB ECC Sdram,

- grafična kartica – integrirana ATI Rage XL 8MB,

- disk – IDE 40GB,

- omrežna kartica – 2 x 100 mbit Ethernet,

- ohišje – 1U Rack,

- CD-rom in disketna enota.

Slika 5: Strežnik Compaq-Proliant DL320

(Vir: http://www.drivecrash.com/wp-content/uploads/2012/04/c00457830.jpg)

Operacijski sistem: Debian 8 (Jessie)

Za namestitev operacijskega sistema smo uporabili:

- ISO-datoteko – netinst CD image [21],

- prazen CD-medij in

- omrežno povezavo.

Ob uspešnem zagonu ISO-datoteke s CD-medija se nam prikaže namestitveni

zagonski meni Debian GNU/Linux, kjer smo izbrali prvo opcijo (Install).

Med namestitvijo je pogosto treba ročno prekopirati non-free firmware gonilnike za

omrežno kartico na USB-medij, formatiran v datotečnem formatu fat32, znotraj

imenika z imenom firmware [22].

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 22 od 33

Po prijavi v strežnik s korenskim uporabnikom lahko začnemo izvajati ukaze za

namestitev programskih paketov.

Po uspešni namestitvi smo odstranili še privzeto izbrana SSH-strežnik in standardna

sistemska orodja. Vsa polja za minimalno namestitev so tako brez zvezdic.

Slika 6: Minimalna namestitev Debian GNU/Linux

(Vir:

https://www.howtoforge.com/images/debian_jessie_minimal_server/big/debian-

jessie-minimal-server-29.png)

8.1 Namestitev SSH-strežnika

Kaj je SSH in zakaj ga uporabljamo?

Secure Shell je omrežni protokol aplikacijske plasti, ki se uporablja za upravljanje

računalnika na daljavo. Deluje na principu javno/zasebnih ključev, s katerimi preko

nezaščitenih omrežij omogoči varno prijavo in uporabo oddaljenega sistema.

Namestitev in konfiguracija SSH strežnika [23]

apt-get install ssh

/etc/ssh/sshd_config – konfiguracijska datoteka SSH-strežnika

nano /etc/ssh/sshd_config

# What ports, IPs and protocols we listen for

Port 22 -> spremenimo 22 v 27, shranimo datoteko s ctrl+x,y,enter

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 23 od 33

/etc/init.d/ssh restart

Lokalni IP-naslov [24]

root@debian:~#ifconfig eth0 | grep 'inet addr'

inet addr:192.168.1.122 Bcast:192.168.1.255 Mask:255.255.255.0

Zunanji IP-naslov [24]

wget -qO- http://ipecho.net/plain ; echo

84.x.x.x

Za povezovanje potrebujemo:

- lokalni ali zunanji IP-naslov strežnika,

- številko vrat SSH-strežnika (privzeto 22, v našem primeru 27),

- brezplačen program PuTTY (če pri povezovanju uporabljamo Microsoft

Windows operacijski sistem).

Putty prenesemo z uradne strani [25].

8.2 SUDO in dodelitev vseh pravic uporabniku

adduser uporabnik

apt-get install sudo

visudo

Poiščemo vrstico (med vrsticami se pomikamo s smernimi tipkami):

# User privilege specification

root ALL=(ALL:ALL) ALL

Dodamo uporabnika, ki mu želimo dodeliti vse pravice, ker je direktna prijava

korenskega uporabnika onemogočena privzeto v konfiguracijski datoteki SSH-

strežnika.

# User privilege specification

root ALL=(ALL:ALL) ALL

uporabnik ALL=(ALL:ALL) ALL

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 24 od 33

Potrdimo s ctrl+x na tipkovnici, y in enter. Na koncu nam tekstovni urejevalnik

sporoči, da zapisuje v /etc/sudoers.tmp, kar je tudi pravilno, saj je direkten zapis

onemogočen.

uporabnik@debian:~$ sudo su

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.

#2) Think before you type.

#3) With great power comes great responsibility.

[sudo] password for uporabnik:

Vnesemo poljubno geslo, ki uporabniku z imenom 'uporabnik' omogoči

administratorske pravice.

8.3 Namestitev Apache

Glavni imenik za datoteke spletne strani : /var/www/html.

apt-get install apache2

8.4 Namestitev MySQL in PHP

apt-get install mysql-server

apt-get install php5 php5-mysql

Prijava v MySQL strežnik

mysql –u root –p

8.5 Program phpMyAdmin

Za delo s strežnikom MySQL smo uporabili program phpMyAdmin. Ob uspešni

namestitvi nam omogoča administracijo zbirk podatkov MySQL preko spletne strani.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 25 od 33

Namestitev phpMyAdmin

apt-get install phpmyadmin

sudo ln -s /usr/share/phpmyadmin /var/www/html/

Prijavno okno: http://1.2.3.4/phpMyAdmin.

1.2.3.4 = domena, lokalni ali zunanji IP-naslov.

8.6 Ukazi in orodja za prikaz strojne opreme

Obstaja več programov in načinov za prikaz informacij o strojni opremi. Nekatera

orodja so že nameščena kot del sistema, nekatera pa lahko namestimo z uporabo

ukaza: apt-get install ime_programa.

Za prikaz, katera so že vsebovana v osnovni mrežni namestitvi operacijskega

sistema brez dodatne namestitve, smo orodja razvrstili v dve kategoriji:

- sistemska,

- programska.

8.6.1 Sistemska orodja

lscpu: izpiše informacije o procesorju (število jeder, niti)

free: prikaže zasedenost pomnilnika

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 26 od 33

lsusb: izpiše seznam USB-vodil in naprav

lspci: izpiše seznam PCI vodil in naprav v sistemu

lsblk: izpiše seznam vseh ali specifičnih napravah z blokovno strukturo (trdi diski,

optični pogoni)

df: disk free – izpiše seznam pripetih particij, njihov imenik ter zasedenost prostora

na disku

fdisk: uporablja se za particioniranje diskov ("fdisk–l" izpiše particije in datotečne

sisteme)

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 27 od 33

dmidecode

Ta ukaz se razlikuje od ostalih po tem, da pridobiva informacije iz podatkovnih

struktur SMBIOS (System Management BIOS) .

dmidecode –t bios

system

baseboard

chassis

processor

memory

cache

connector

slot

/proc files

Navidezne datoteke v /proc direktorju vsebuje informacije o strojni opremi in njeni

konfiguraciji.

cat /proc/cpuinfo – izpiše infomacije o procesorju

cat /proc/meminfo – izpiše informacije o pomnilniku

cat /proc/version – izpiše informacije o verziji linux jedra

cat /proc/scsi/scsi – izpiše informacije o scsi in sata napravah

cat /proc/partition – izpiše particije

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 28 od 33

mount

Mount se uporablja za dodajanje/odstranjevanje in pregled nad pripetimi datotečnimi

sistemi.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 29 od 33

8.6.2 Programska orodja / imamo možnost dodatne namestitve z ukazom apt-

get install ime_programa

lsscsi: izpiše seznam trdih diskov in optičnih pogonov

lshw: list hardware – izpiše seznam vse strojne opreme – uporablja navidezne

datoteke iz /proc

hwinfo: hardware info – izpiše informacije o strojni opremi na krajši in preglednejši

način kot program lshw

inxi

Inxi je bash skripta z več kot desettisočvrstično kodo, ki zajema podatke o strojni

opremi iz različnih virov in ukazov v sistemu. Kot rezultat nam v pregledni obliki

prikaže informacije o strežniku.

inxi

inxi –Fx

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer : Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 30 od 33

pydf: python disk free – na pregleden in bolj sistematičen način prikaže zasedenost

trdega diska v primerjavi z df

hdparm

Je programska oprema za pridobivanje in nastavljanje parametrov na trdih diskih.

Uporabimo ga tudi za identifikacijo določenih pogonov [26].

hdparm –i (pot_do_virtualne_datoteke_pogona)

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer: Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 31 od 33

9 ZAKLJUČEK

Napredek razvoja programske opreme v okolju osebnih računalnikov je v zadnjih

letih postal zelo razviden in je posredno povezan z razvojem strojne opreme.

DirectX je kot lastniški vmesnik prevladoval skoraj dvajset let. Novejše verzije tega

vmesnika so navadno predstavljene in integrirane z izdajo najnovejših Microsoftovih

operacijskih sistemov.

Možnost za uspeh alternativnih rešitev, kot so OpenGL, je že pred vrati. Vrnili se

bomo v devetdeseta leta, kjer se je vse skupaj tudi začelo. K temu bo velik del

prispeval tudi SteamOS, ki je dal pobudo za zagon tega projekta.

Igranje in razvoj videoiger kmalu ne bo več omejeno izključno na Microsoftove

sisteme. Ko bo podpora na nivoju gonilnikov enakovredna in ne bo večjih razlik v

hitrosti delovanja, lahko pričakujemo vzpon odprtokodnih operacijskih sistemov.

Linux zaradi svoje odzivnosti, varnosti in hitrosti delovanja še vedno uporablja

večino spletnih strežnikov.

Testna postavitev operacijskega sistema brez grafičnega vmesnika se lahko pri

manj zahtevnih opravilih primerja z novejšimi sistemi. Ob selektivni izbiri nekaterih

sistemskih storitev in programske opreme celoten strežnik za delovanje ne

potrebuje veliko pomnilnika.

Na ta način lahko za praktične primere in učenje ukazov pri življenju ohranimo že

sicer pozabljeno in odpisano strojno opremo.

Cilj diplomske naloge je bil dosežen, saj smo pri pisanju razširili in uporabili lastno

raziskovalno znanje, bralcu pa na jasen in preprost način pojasnili nekatere

najzanimivejše lastnosti sodobnih operacijskih sistemov.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer: Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 32 od 33

VIRI IN LITERATURA

[1] Zazula, D. (2006). Operacijski sistemi. Maribor: FERI.

[2] Operacijski sistem (4. 10. 2015). Dosegljivo na naslovu

https://sl.wikipedia.org/wiki/Operacijski_sistem. Dostopno 12. 1. 2016.

[3] How Computer Boots Up? (2012). Dosegljivo na naslovu

http://www.engineersgarage.com/tutorials/how-computer-pc-boots-up.

Dostopno 12. 1. 2016.

[4] Scheduling (computing). Dosegljivo na naslovu https://en.wikipedia.org/wiki/

Scheduling_computing. Dostopno 12. 1. 2016.

[5] Template:Windows_commands Dosegljivo na naslovu

https://en.wikipedia.org/wiki/Template:Windows_commands. Dostopno 12. 1.

2016.

[6] File System. Dosegljivo na naslovu https://en.wikipedia.org/wiki/File_system.

Dostopno 12. 1. 2016.

[7] Does the Unix or Linux has gui (6. 6. 2007). Dosegljivo na naslovu

http://www.cyberciti.biz/faq/does-the-unix-or-linux-has-gui/. Dostopno 12. 1.

2016.

[8] Windows Runtime. Dosegljivo na naslovu

https://en.wikipedia.org/wiki/Windows_Runtime. Dostopno 12. 1. 2016.

[9] Windows API. Dosegljivo na naslovu

https://en.wikipedia.org/wiki/Windows_API. Dostopno 12. 1. 2016.

[10] DirectX. Dosegljivo na naslovu https://en.wikipedia.org/wiki/DirectX.

Dostopno 12. 1. 2016.

[11] Microsoft's DirectX strategy. Dosegljivo na naslovu

http://appleinsider.com/articles/08/12/16/opencl_and_opengl_take_on_direct

x. Dostopno 12. 1. 2016.

[12] OpenGL. Dosegljivo na naslovu https://en.wikipedia.org/wiki/OpenGL.

Dostopno 12. 1. 2016.

[13] Glide API. Dosegljivo na naslovu https://en.wikipedia.org/wiki/Glide_API.

Dostopno 12. 1. 2016.

[14] Remote Desktop Protocol. Dosegljivo na naslovu

https://en.wikipedia.org/wiki/Remote_Desktop_Protocol. Dostopno 12. 1.

2016.

[15] Secure Shell. Dosegljivo na naslovu

https://en.wikipedia.org/wiki/Secure_Shell. Dostopno 12. 1. 2016.

[16] OpenSSH. Dosegljivo na naslovu https://en.wikipedia.org/wiki/OpenSSH.

Dostopno 12. 1. 2016.

[17] Mac OS X Remote Login. Dosegljivo na naslovu

http://osxdaily.com/2011/09/30/remote-login-ssh-server-mac-os-x/. Dostopno

12. 1. 2016.

ICES – Višja strokovna šola Diplomsko delo višješolskega strokovnega študija

Igor Majer: Predstavitev delovanja operacijskih sistemov v okolju osebnih računalnikov stran 33 od 33

[18] MAC OS X Screen Sharing. Dosegljivo na naslovu

http://www.macworld.com/article/2839080/away-from-home-heres-how-to-

access-your-mac-remotely.html. Dostopno 12. 1. 2016.

[19] RFB protocol. Dosegljivo na naslovu

https://en.wikipedia.org/wiki/RFB_protocol. Dostopno 12. 1. 2016.

[20] Compaq ProLiant DL320. Dosegljivo na naslovu

http://h18000.www1.hp.com/products/servers/proliantdl320/description.html.

Dostopno 12. 1. 2016.

[21] Network install from a minimal cd. Dosegljivo na naslovu

https://www.debian.org/CD/netinst/. Dostopno 12. 1. 2016.

[22] Non-free firmware Debian Jessie. Dosegljivo na naslovu

http://cdimage.debian.org/cdimage/unofficial/non-

free/firmware/jessie/current/firmware.tar.gz. Dostopno 12. 1. 2016.

[23] SSH. Dosegljivo na naslovu https://wiki.debian.org/SSH. Dostopno 12. 1.

2016.

[24] 5 commands to get public IP using linux terminal. Dosegljivo na naslovu

http://tecadmin.net/5-commands-to-get-public-ip-using-linux-terminal/.

Dostopno 12. 1. 2016.

[25] PuTTY Download Page. Dosegljivo na naslovu

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Dostopno 12. 1. 2016.

[26] 16 commands to check hardware information on Linux. Dosegljivo na

naslovu http://www.binarytides.com/linux-commands-hardware-info/.

Dostopno 12. 1. 2016.