Author
others
View
0
Download
0
Embed Size (px)
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]
[email protected]:~#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.
[email protected]:~$ 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.