Tvorba webovej stránky, programy a vrstvy operačného systému a sieťový paket

Tvorba webovej stránky, programy a vrstvy operačného systému a sieťový paket

Táto téma z informatiky sa venuje tvorbe a vzájomnému prepájaniu webových stránok pomocou HTML, základným programom, súčastiam a vrstvám operačného systému a spôsobu, akým sa údaje prenášajú počítačovou sieťou pomocou paketov.

Dokončenie webovej stránky kúpeľov Dudince

V praktickej úlohe máme použiť pripravený priečinok nvu-web a dokončiť webovú stránku kúpeľov v Dudinciach.

Máme vytvoriť tri nové HTML súbory:

Tieto stránky následne prepojíme pomocou hypertextových odkazov s hlavnou stránkou:

index.html

Výsledkom má byť jednoduchá webová lokalita, v ktorej sa používateľ môže z hlavnej stránky dostať na jednotlivé druhy pobytov a podľa potreby sa vrátiť späť.

Webová stránka a HTML

HTML – HyperText Markup Language je značkovací jazyk používaný na vytváranie štruktúry webových stránok.

Pomocou HTML určujeme napríklad:

HTML neurčuje programovú logiku ako klasický programovací jazyk. Jeho hlavnou úlohou je popísať štruktúru webového dokumentu.

Základná štruktúra HTML dokumentu

Jednoduchá moderná HTML stránka môže vyzerať napríklad takto:

 Liečebné pobyty –
Dudince

Liečebné pobyty

Informácie o liečebných pobytoch v Dudinciach.

DOCTYPE

Zápis:

informuje prehliadač, že dokument používa moderné HTML5.

Element html

Element:

obsahuje celý HTML dokument.

Atribút:

lang="sk"

informuje prehliadače a ďalšie nástroje, že obsah stránky je v slovenčine.

Časť head

Časť obsahuje informácie o dokumente, ktoré sa bežne nezobrazujú priamo ako obsah stránky.

Patrí sem napríklad:

Kódovanie UTF-8

Zápis:

zabezpečuje správne zobrazovanie slovenských znakov, napríklad:

á, ä, č, ď, ľ, ĺ, ň, ô, ŕ, š, ť, ž

Element title

Element:

určuje názov stránky zobrazovaný napríklad na karte internetového prehliadača.

Časť body

Do elementu:

umiestňujeme samotný viditeľný obsah stránky.

Vytvorenie stránok pobytov

Všetky vytvárané HTML súbory je vhodné uložiť do rovnakého priečinka ako hlavný súbor index.html, ak zadanie neurčuje inú adresárovú štruktúru.

Priečinok môže mať napríklad takúto štruktúru:

nvu-web/│├── index.html├──
liecebne.html
├── relaxacne.html├── vikendove.html├── obrazky/└── dalsie-subory/

liecebne.html

Stránka môže obsahovať informácie o liečebných pobytoch.

Jej názov v dokumente môže byť napríklad:

Liečebné pobyty

relaxacne.html

Táto stránka môže obsahovať obsah venovaný relaxačným pobytom.

Nadpis stránky môže byť:

Relaxačné pobyty

vikendove.html

Táto stránka môže obsahovať ponuku víkendových pobytov.

Nadpis môže byť:

Víkendové pobyty

Hypertextový odkaz

Jednou zo základných vlastností webu je možnosť prepájať dokumenty pomocou hypertextových odkazov.

V HTML vytvárame odkaz pomocou elementu:

Adresa cieľa sa zadáva do atribútu:

href

Odkaz na liečebné pobyty

Liečebné pobyty

Odkaz na relaxačné pobyty

Relaxačné pobyty

Odkaz na víkendové pobyty

Víkendové pobyty

Navigácia na hlavnej stránke

Do súboru index.html môžeme vložiť napríklad jednoduchú navigáciu:

Po kliknutí na jednotlivý odkaz prehliadač otvorí príslušný HTML dokument.

Odkaz späť na hlavnú stránku

Na každej podstránke je vhodné vytvoriť aj odkaz späť na hlavnú stránku:

Späť na hlavnú stránku

Používateľ sa tak nemusí pri navigácii spoliehať iba na tlačidlo Späť v prehliadači.

Relatívna adresa

Odkazy:

liecebne.html

alebo:

index.html

sú príkladom relatívnych adries.

Relatívna cesta určuje umiestnenie súboru vzhľadom na aktuálny dokument.

Ak sú všetky štyri HTML dokumenty v rovnakom priečinku, stačí uviesť samotný názov súboru.

Odkaz do podpriečinka

Ak by sa súbor nachádzal v podpriečinku pobyty, cesta by mohla byť:

Liečebné pobyty

Odkaz o úroveň vyššie

Zápis:

../

znamená prechod o jednu úroveň vyššie v adresárovej štruktúre.

Napríklad:

Domov

Absolútna adresa

Absolútna URL obsahuje kompletnú internetovú adresu.

Napríklad:

Externá stránka

Pri prepájaní vlastných stránok v jednom priečinku je však vhodnejšie používať relatívne odkazy.

Obrázky na webovej stránke

Ak má stránka obsahovať obrázky, môžeme použiť element:

Napríklad:

Atribút src

src určuje cestu k obrázku.

Atribút alt

alt obsahuje textový popis obrázka.

Je dôležitý napríklad:

Editor Nvu

Pôvodná praktická úloha pracuje s editorom Nvu.

Nvu bol grafický HTML editor typu WYSIWYG – What You See Is What You Get, v ktorom používateľ mohol vytvárať webovú stránku podobným spôsobom ako dokument v textovom editore.

Program Nvu je dnes už historický a nevyvíja sa. Princípy, ktoré sa v úlohe precvičujú, však zostávajú rovnaké:

Kontrola webovej stránky

Po dokončení všetkých stránok je potrebné web otestovať v internetovom prehliadači.

Skontrolujeme najmä:

Častá chyba – nesprávna cesta

Ak odkaz nefunguje, častou príčinou je nesprávne uvedená cesta.

Napríklad:

href="liecebne.htm"

nebude smerovať na súbor:

liecebne.html

ak súbor s príponou .htm neexistuje.

Názov súboru a cesta preto musia presne zodpovedať skutočnému umiestneniu.

Operačný systém

Operačný systém – OS je základný systémový softvér, ktorý riadi hardvérové prostriedky počítača a poskytuje služby aplikáciám a používateľovi.

Operačný systém tvorí prostredníka medzi:

hardvérom ↔ operačným systémom ↔ aplikáciami ↔ používateľom

Medzi jeho hlavné úlohy patria:

Programy operačného systému

Pôvodný školský materiál rozdeľuje programy súvisiace s operačným systémom na:

Ide o tradičnú školskú klasifikáciu. V moderných operačných systémoch sú hranice medzi jednotlivými kategóriami zložitejšie a napríklad kompilátor už nepovažujeme za nevyhnutnú súčasť samotného operačného systému.

Riadiace programy

Riadiace programy zabezpečujú riadenie základných činností počítačového systému.

Starajú sa napríklad o:

Príklad – riadenie procesu

Keď používateľ spustí program, operačný systém:

  1. nájde jeho spustiteľný súbor,
  2. načíta potrebné časti do operačnej pamäte,
  3. vytvorí proces,
  4. pridelí mu systémové prostriedky,
  5. prideľuje mu procesorový čas,
  6. po skončení programu prostriedky uvoľní.

Obslužné programy

Obslužné programy – utility sú nástroje určené na správu, údržbu a podporu počítačového systému.

Môžu zabezpečovať napríklad:

V starších systémoch DOS boli typickými spustiteľnými súbormi napríklad súbory s príponami:

Táto formulácia je historicky správna pre prostredie DOS a starších Windows, ale moderné operačné systémy používajú omnoho viac typov programov a systémových služieb.

Spojovacie programy – linker

Linker spája jednotlivé preložené časti programu a knižnice do výsledného spustiteľného programu alebo knižnice.

Zavádzacie programy

Zavádzač – loader zabezpečuje načítanie programu do operačnej pamäte a jeho prípravu na spustenie.

Pri štarte počítača sa používa aj bootloader, ktorý pomáha spustiť operačný systém.

Testovacie a diagnostické programy

Slúžia na kontrolu:

Prekladače

Prekladače prevádzajú program napísaný v programovacom alebo symbolickom jazyku do formy, ktorú dokáže počítač spracovať.

Rozlišujeme najmä:

Kompilátor

Kompilátor prekladá zdrojový kód vyššieho programovacieho jazyka do strojového kódu, medzikódu alebo inej cieľovej reprezentácie.

Príkladom môže byť preklad programu napísaného v jazyku C alebo C++.

Assembler

Assembler prekladá program napísaný v jazyku symbolických inštrukcií – assembleri – do strojového kódu.

Interpreter

Interpreter spracováva programové inštrukcie počas vykonávania programu namiesto vytvorenia klasického samostatného strojového programu v jednom kroku.

V praxi sa moderné jazyky môžu používať aj v kombinovaných modeloch, napríklad s medzikódom a JIT kompiláciou.

Sú prekladače súčasťou OS?

V staršej školskej klasifikácii sa prekladače uvádzajú medzi systémovými programami.

V modernom pohľade však kompilátor nie je nevyhnutnou súčasťou operačného systému. Ide skôr o vývojový nástroj, ktorý môže byť do systému dodatočne nainštalovaný.

Súčasti operačného systému

Medzi základné súčasti operačného systému môžeme zaradiť:

Jadro operačného systému

Jadro – kernel je základná výkonná časť operačného systému.

Počas činnosti systému je umiestnené v operačnej pamäti a zabezpečuje základné riadenie počítača.

Jadro má na starosti najmä:

Systémové volanie

Aplikácia nemá bežne neobmedzený priamy prístup ku všetkému hardvéru.

Ak potrebuje vykonať určitú privilegovanú operáciu, požiada o službu jadro prostredníctvom systémového volania – system call.

Napríklad môže požiadať o:

Interpreter príkazov – shell

Pôvodný materiál používa označenie monitor – interpreter príkazov.

V súčasnej terminológii používame častejšie pojem:

shell – príkazový interpreter

Jeho úlohou je umožniť komunikáciu používateľa s operačným systémom.

Môže:

Príklady shellov

Moderný operačný systém môže zároveň poskytovať aj grafické používateľské rozhranie – GUI.

Drivery – ovládače zariadení

Driver – ovládač je softvérová súčasť umožňujúca operačnému systému komunikovať s konkrétnym hardvérovým zariadením.

Ovládače sa používajú napríklad pre:

Ovládač prekladá všeobecné požiadavky operačného systému na príkazy, ktorým rozumie konkrétne zariadenie.

Systémové knižnice

Systémové knižnice obsahujú pripravené funkcie, ktoré môžu využívať operačný systém a aplikácie.

Môžu poskytovať napríklad:

Systémové služby

Moderné operačné systémy používajú množstvo procesov bežiacich na pozadí, ktoré poskytujú systémové služby.

Môžu zabezpečovať napríklad:

Vrstvy operačného systému

Počítačový systém môžeme zjednodušene chápať ako niekoľko vrstiev umiestnených nad sebou.

Najnižšiu vrstvu tvorí hardvér a najvyššiu aplikácie používané človekom.

Zjednodušený model môže vyzerať:

používateľské aplikácie

↓

systémové knižnice, služby a používateľské rozhranie

↓

jadro operačného systému a ovládače

↓

firmvér – UEFI / historicky BIOS

↓

hardvér

1. Hardvér

Hardvér tvorí fyzické technické vybavenie počítača.

Patrí sem napríklad:

2. Firmvér – UEFI a BIOS

Pôvodné učivo uvádza nad hardvérom BIOS – Basic Input/Output System.

BIOS bol tradičný firmvér počítača, ktorý pri zapnutí:

V moderných počítačoch bol klasický BIOS vo veľkej miere nahradený systémom:

UEFI – Unified Extensible Firmware Interface

Preto je dnes presnejšie hovoriť o vrstve firmvéru UEFI, hoci výraz BIOS sa stále používa aj neformálne.

3. Jadro operačného systému

Nad hardvérom a firmvérom pracuje jadro operačného systému.

Jadro riadi základné systémové zdroje a vytvára kontrolované rozhranie medzi hardvérom a vyššími vrstvami softvéru.

4. Systémové služby a prostredie

Nad jadrom sa nachádzajú ďalšie časti operačného systému, napríklad:

Tieto služby poskytujú pohodlnejšie rozhranie pre aplikácie aj používateľa.

5. Aplikácie

Na najvyššej softvérovej úrovni bežia používateľské aplikácie.

Napríklad:

Aplikácie využívajú služby operačného systému namiesto toho, aby samy priamo riadili všetok hardvér.

Prehľad vrstiev počítačového systému

VrstvaPríkladyÚloha
AplikáciePrehliadač, Word, hryPlnia úlohy používateľa
Systémové prostredieGUI, shell, služby, knižnicePoskytuje služby aplikáciám a používateľovi
Jadro a ovládačeKernel, driveryRiadenie hardvéru a systémových zdrojov
FirmvérUEFI, historicky BIOSInicializácia hardvéru a štart systému
HardvérCPU, RAM, SSD, GPUFyzické vykonávanie operácií

Paket

Paket je jednotka údajov používaná pri prenose dát v paketových počítačových sieťach.

Veľké množstvo údajov sa pri prenose spravidla neposiela ako jeden obrovský celok. Dáta sa rozdelia na menšie časti, ku ktorým sa doplnia riadiace informácie potrebné na ich doručenie.

Zjednodušene:

údaje + riadiace informácie = prenášaná dátová jednotka

Prečo sa údaje delia na pakety?

Rozdelenie dát na menšie jednotky má viacero výhod:

Paketové prepínanie

Internet je založený na princípe paketového prepínania – packet switching.

Dáta sa rozdelia na pakety a sieťové zariadenia ich postupne prenášajú k cieľu.

Jednotlivé pakety jedného prenosu nemusia v každej situácii prejsť úplne rovnakou trasou. Smerovanie môže závisieť napríklad od:

Hlavička a užitočné údaje

Sieťová dátová jednotka sa typicky skladá z:

Hlavička

Hlavička obsahuje informácie potrebné na spracovanie a doručenie dát.

Môžu medzi ne patriť napríklad:

Payload

Payload predstavuje samotné prenášané používateľské alebo aplikačné údaje.

Môže ísť napríklad o časť:

Paket, segment a rámec

V bežnej reči sa výraz paket často používa všeobecne pre prenášané dáta. Pri presnejšom sieťovom názvosloví sa však názov dátovej jednotky mení podľa vrstvy protokolu.

VrstvaPríklad protokoluDátová jednotka
AplikačnáHTTP, DNSDáta / správa
TransportnáTCPSegment
TransportnáUDPDatagram
SieťováIPPaket / datagram
LinkováEthernetRámec – frame

Zapuzdrenie – encapsulation

Pri odosielaní dát jednotlivé sieťové vrstvy postupne pridávajú vlastné riadiace informácie.

Zjednodušene:

aplikačné dáta

↓

TCP segment alebo UDP datagram

↓

IP paket

↓

ethernetový rámec

↓

bity prenesené médiom

Tento proces označujeme ako zapuzdrenie – encapsulation.

Na prijímacej strane sa jednotlivé hlavičky postupne odstránia a dáta sa odovzdajú príslušnej aplikácii.

Príklad štruktúry IPv4 paketu

Moderný IP paket má presne definovanú hlavičku. Pri IPv4 obsahuje napríklad:

Zdrojová a cieľová IP adresa

IP paket obsahuje:

Smerovače používajú cieľovú IP adresu na rozhodnutie, kam majú paket poslať ďalej.

TTL – Time To Live

Pôvodný materiál spomína riadiacu hodnotu obsahujúcu počet smerovačov, ktoré paket prešiel. V protokole IPv4 sa používa pole:

TTL – Time To Live

Jeho význam je presnejšie opačný – obmedzuje, koľko ďalších smerovacích krokov môže paket absolvovať.

Pri každom prechode cez smerovač sa hodnota TTL zníži.

Ak dosiahne nulu, smerovač paket zahodí.

Tým sa zabraňuje tomu, aby chybným smerovaním pakety nekonečne krúžili v sieti.

IPv6

V protokole IPv6 sa obdobná hodnota označuje presnejšie ako:

Hop Limit

Kontrolný súčet

Kontrolný súčet – checksum je hodnota používaná na odhalenie niektorých chýb vzniknutých pri prenose alebo spracovaní dát.

Pri IPv4 obsahuje IP hlavička kontrolný súčet svojej hlavičky.

Na ďalších vrstvách môžu vlastné mechanizmy kontroly používať napríklad:

Preto nie je presné hovoriť o jednom univerzálnom kontrolnom súčte spoločnom pre každý paket bez ohľadu na použitý protokol.

TCP segment

Ak aplikácia používa protokol TCP – Transmission Control Protocol, transportná vrstva vytvorí TCP segment.

Jeho hlavička môže obsahovať napríklad:

Porty

Port pomáha určiť, ktorej sieťovej aplikácii alebo službe má operačný systém doručiť prijaté údaje.

Príklady známych portov:

Preto údaj, ktorý starší materiál opisuje ako „číslo aplikácie“, dnes presnejšie vysvetľujeme najmä pomocou čísel transportných portov.

Ethernetový rámec

Pred fyzickým odoslaním cez ethernetovú lokálnu sieť sa IP paket vloží do ethernetového rámca.

Rámec obsahuje napríklad:

IP adresa a MAC adresa – rozdiel

IP adresa je logická sieťová adresa používaná na smerovanie paketov medzi sieťami.

MAC adresa je identifikátor sieťového rozhrania používaný najmä na linkovej vrstve v rámci lokálneho segmentu siete.

IP adresaMAC adresa
Sieťová vrstvaLinková vrstva
Používa sa na smerovanie medzi sieťamiPoužíva sa pri doručovaní rámca v lokálnej sieti
Môže sa meniť podľa sieteJe spojená so sieťovým rozhraním, hoci môže byť softvérovo zmenená alebo randomizovaná

Čo sa deje s paketom pri prechode cez router?

Keď IP paket príde na smerovač:

  1. smerovač prijme linkový rámec,
  2. odstráni jeho linkovú hlavičku,
  3. preskúma cieľovú IP adresu paketu,
  4. podľa smerovacej tabuľky vyberie ďalšiu cestu,
  5. zníži TTL alebo Hop Limit,
  6. vytvorí nový linkový rámec vhodný pre ďalšie spojenie,
  7. pošle paket ďalej.

IP paket teda môže prechádzať cez viacero smerovačov, zatiaľ čo linkové rámce sa na jednotlivých úsekoch siete môžu meniť.

Strata paketov

Pri prenose môže dôjsť k tomu, že niektorý paket:

To, ako sa takáto situácia vyrieši, závisí od použitého transportného protokolu.

TCP

TCP poskytuje mechanizmy na spoľahlivý prenos údajov.

Dokáže napríklad:

UDP

UDP – User Datagram Protocol je jednoduchší transportný protokol.

Štandardne neposkytuje rovnaké potvrdenie doručenia a opakované odosielanie ako TCP.

Má však menšiu režijnú záťaž a nízku latenciu, preto je vhodný napríklad pre niektoré:

Príklad prenosu webovej stránky

Keď používateľ otvorí webovú stránku, zjednodušene sa môže stať:

  1. prehliadač vytvorí HTTP alebo HTTPS požiadavku,
  2. transportná vrstva ju rozdelí do príslušných dátových jednotiek,
  3. IP vytvorí pakety so zdrojovou a cieľovou IP adresou,
  4. linková vrstva ich vloží do rámcov,
  5. rámce sa prenesú fyzickou alebo bezdrôtovou sieťou,
  6. smerovače postupne smerujú IP pakety k serveru,
  7. server dáta spracuje a odpoveď odošle podobným spôsobom späť.

Moderný príklad štruktúry prenášaných dát

ÚroveňPríklad informácií
AplikačnáHTTP požiadavka alebo iné používateľské dáta
TCP / UDPZdrojový a cieľový port, riadiace údaje
IPZdrojová a cieľová IP adresa, TTL / Hop Limit
Ethernet / Wi-FiLinkové adresy a kontrola rámca
Fyzická vrstvaElektrické, optické alebo rádiové signály

Čo si zapamätať

Zones.sk – Zóny pre každého študenta
https://www.zones.sk/studentske-prace/informatika/22303-tvorba-webovej-stranky-programy-a-vrstvy-operacneho-systemu-a-sietovy-paket/