Operační systémy II
Autor: Ing. Jakub Šimůnek
Komunikace mezi procesy
- Meziprocesová komunikace (IPC) – výměna informací mezi více procesy/vlákny
- Zahrnuje zasílání zpráv, sdílení paměti, vzdálené volaní
- muže probíhat na jednom i více počítačích
Zasílání zpráv
- Základní operace
o send (destination, message)
§ vysílání zprávy
o receive(source, message)
§ Přijímaní zprávy
Sdílená paměť
- jeden proces alokuje prostor v paměti a další do něho mohou přistupovat
- Využití unix
Problémy při synchronizaci procesů/vláken
- Uváznutí (zablokování)
o čekání na událost, kterou může generovat pouze jiný proces
- Vyhladovění
o trvalé odpíraní požadované sdílené prostředky – nelze tak dokončit úlohu
Uváznutí (zablokování)
- dojde k němu pokud jsou splněny všechny následující podmínky
o výlučný přístup – prostředek přidělen pouze výhradně jednomu procesu
o neodnímatelnost – nelze násilně odebrat
o podmínka „drž a čekej“ – pokud jsou již přiděleny prostředky, lze žádat od další
o cyklické čekání – existuje smyčka kde každý proces čeká na prostředek přidělení následujícímu procesu ve smyčce
Uváznutí (zablokování)
- řešení problému
o prevence – napadení z jedné podmínek
o vyhnutí – pečlivá alokace prostředků, přidělit pouze pokud je to bezpečné
o detekce a zotavené – řešení problému až když nastane, pak zotavení
o Pštrosí algoritmus – předstíráme že k ničemu nedošlo
problém producent-konzument
- jeden proces(producent) poskytuje data a ukládá je do sdílené paměti
- druhý proces(konzument) data ze sdílené paměti odebírá
- Blokování pokud
o producent vkládá pokud je plno
o konzument vyžaduje pokud je prázdno
Problém čtenáři – písař
- více procesů/vláken
- v roli čtenáře nebo písaře musí přistupovat ke sdílené paměti, aby zapisovaly nebo četly
- potřeba zaručit integritu dat (souběh čtenáře a písaře nebo dvou písařů
- příklad – rezervace jízdenek, práce s databází
Problém večeřící filosofové
- procesy které soutěží o výlučný přístup k omezenému počtu prostředků
- N filosofů sedí kolem kulatého stolu a každý z nich buď přemýšlí nebo jí. K jídlu potřebují současně levou a pravou vidličku
Správa paměti
- RAM
- SIMM
- DIMM
- DRAM
- SDRAM
- DDR
- SRAM
- ROM
- PROM
- EPROM
- FLASH
- VRAM
RAM
- Volatilní paměť (potřebuje napájení)
- rychlé čtení a zápis
- dočasná data (ztratí se po vypnutí počítače)
SIMM
- Starší typ paměti (80. a 90. léta)
- menší množství paměti
- piny na jedné straně
DIMM
- Větší kapacita a rychlost než SIMM
- piny na obouch stranách
DRAM
- každý bit dat v samostatné buňce
- pravidelné obnovování (zpomalení výkonu)
SDRAM
- Vylepšená verze DRAM
- synchronizace s rychlostí sběrnice počítače
DDR
- typ SDRAM
- rychlejší než SDRAM
- Generace DDR
o DDR
o DDR2
o DDR3
o DDR4
SRAM
- ukládání dat bez obnovování
- rychlejší než DRAM
- dražší
ROM
- Nevolatilní paměť (není potřeba napájení)
- pouze čtení
- obsahuje firmware či bios
PROM
- typ ROM
- lze jednou zapsat a pak jen číst
EPROM
- typ ROM
- lze zapisovat a mazat pomocí ultrafialového světla
FLASH
- Nevolatilní paměť (není potřeba napájení)
- lze zapisovat a mazat
- USB flash, pamětové karty, SSD
VRAM
- paměť pro ukládání grafických dat
- rychlý přístup k grafickým datům pro grafickou kartu
Bez abstrakce fyzické paměti
- Přístup přímo k fyzickým adresám v paměti
- Problémy
o Kolize paměti – přístup k stejnému místo
o Omezená izolace – narušení paměti jiného programu
o Nedostatek paměti
Abstrakce fyzické paměti
- Segmentace
o Rozdělení paměti na různě velké bloky
o Segment může obsahovat různé typy dat nebo instrukcí
o Logické rozdění podle typu dat
- Stránkování
o Rozdělení paměti na stejné bloky
o Stránková tabulka
§ Mapování stránkového ráměčku na fyzické paměti
o Optimalizace paměti
- Výhody
o Izolace – každý program vlastní adresní prostor
o Flexibilita – dynamické přidělování paměti
o Vyšší výkon
Adresový prostor
- Rozsah všech možných adres které může generovat procesor pro přístup k paměti
- Typy
o Fyzický adresový prostor – skutečná fyzická paměť
o Logický virtuální prostor – adresy které generuje aplikace nebo proces běžící v OS. Následný překlad pomocí stránkování nebo segmentace
- Rozsah zavisí na architektuře procesoru
o 32 bit – 2 na 32 – 4GB
o 64 bit – 2 na 64 – teoreticky 18,4 exabajtů
Dlouhodobá pamět
Externí media
- Děrné štítky
- Diskety
- CD
- DVD
- Blueray
- Flash paměti
Pevné disky
- HDD
- SSD
Děrné štítky
- první polovina 20.stol
- použití kartonu
- programování raných počítačů
- ukládání malých dat
Diskety
- magnetický materiál
- 70.- 90.léta 20.stol
- kapacita
o 8-palcové - několik set kilobajtů
o 3,5 palcové - 1,44 MB
CD (Compact Disc)
- optické diskové médium
- kapacita 700 MB
DVD (Digital Versatile Disc)
- další generace po CD
- vyšší kapacita a kvalita
- kapacita
o jednovrstvé - 4,7 GB
o vícevrstvé - 8,5 GB
Blue-ray
- další generace po DVD
- vyšší kapacita
- ukládání videí ve vysokém rozlišení
- kapacita - 25 GB/50 GB
Flash Paměti
- přenositelnost
- elektronické ukládání
- kapacita - GB/TB
Pevné disky
- využití magnetických disků(plotny)
- zapisování pomocí čtecích/zapisovacích hlav
- kapacita - GB/TB
- pomalejší zápis/čtení - mechanické součástky
- levnější než SSD
- náchylnější k poškození způsobené otřesy a vibracemi
Pevné disky - SSD (Solid State Drive)
- flash paměť
- menší kapacita než HDD, ale navyšuje se
- větší rychlost než HDD
Technologie S.M.A.R.T
-Self-Monitoring, Analysis, and Reporting Technology
- monitorování a analýza pevných disků
- identifikace potencionálních problémů - ještě před selháním
- atributy
o počet čtení/zápisů
o počet spuštení a zastavení
o teplota
o počet hodin provozu
Technologie RAID(Redundant Array of Independent Disks)
- správa více pevných disků
- ochrana dat
- Hardwarové / softwarové řešení
Raid 0
- rozdělení dat na bloky(rovnoměrné rozprostření)
- vyšší výkon - paralelní čtení/zápis
- ztráta jednotho diskku vede ke ztrátě všech dat
Raid 1
- zrcadlení dat na dva disky
- přesná kopie dat
- systém pracuje i po selhání jednoho disku
- nevýhoda - dvojnásobná kapacita na stejná data
Raid 5
- data a paritní informace jsou rozloženy mezi tři a více disků
- výhody - redundance a zlepšení výkonu - přežití po selhání jednoho disku
- nevýhody - nižší výkon při zápisu - výpočet paritních informací
Raid 6
- podobný jako raid 5, ale dvojitá parita
- umožnuje přežití selhání dvou disků
- nevýhoda vyšší nároky na výpočetní výkon a kapacitu
Raid 10
- raid 1 + raid 0
- zrcadlení + rozdělení dat
- vysoký výkon a redundance
- vyžaduje minimálně čtyři disky a ztrácí 50% kapacity
Fragmentace souborů
- data nejsou uložena jako souvislý blok dat (různá místa na disku)
- problém zejména u HDD (vliv na výkon a odezvu systému)
- soubory nejsou uloženy jako souvislý blok dat
- časté mazaní a zapisování souborů
Fragmentace volného prostoru
- volný prostor není souvislý
- ztížení uložení nových souborů jako souvislý blok dat(další fragmentace)
Důsledky fragmentace
- nižší rychlost přístupu k datům => zpomalení systému
- Zvýšení opotřebení disku
Řešení problému
- Defragmentace disku
- SSD
Nástroje pro správu disku - Windows
Grafické nástroje
- Správa disků - správa diskových oddílů
- Defragmentace a optimalizace Disků
Příkazový řádek
chkdsk C:/
- kontrola a oprava integrity souborového systému
Nástroje pro správu disku - Linux
Grafické nástroje
- GParted - správa diskových oddílů (Gnome)
- KDE Partition Manager - správa diskových oddílů (KDE)
Nástroje pro správu disku - Linux
Příkazový řádek
fdisk / gdisk
- Manipulace s diskovými oddíly
mkfs
- formátování diskových oddílů pro různé souborové systémy
fsck
- kontrola a oprava souborových systémů
mount/umount
- připojení / odpojení souborových systémů
Obnova smazaných dat - Windows
- Recuva https://www.ccleaner.com/cs-cz/recuva
- Stellar Data Recovery https://www.stellarinfo.com/
- Disk Drill https://www.easeus.com/ppc/data-recovery-wizard-vs-diskdrill.html
- MiniTool Power Data Recovery https://www.minitool.com/data-recovery-software/free-for-windows.html
Obnova smazaných dat - Linux
- TestDisk https://www.digitalocean.com/community/tutorials/how-to-install-testdisk-on-linux-and-recover-deleted-files
- Foremost https://foremost.sourceforge.net/
- Scalpel https://www.kali.org/tools/scalpel/
Počítačové sítě
- Množina vzájemně propojených počítačů
- Množina vzájemně propojených dílčích sítí
- Důvod vzniku
o výměna dat
o sdílení výkonu
o záloha dat
o sdílení zařízení
Počítačové sítě
Dělení podle dosahu
- PAN
- LAN
- WAN
- Internet
Dělení podle vlastnictví
- Veřejné
- Soukromé
- Virtuální privátní sítě
PAN (Personal Area Network)
- Osobní použití v malém prostoru (několik metrů)
- Mobilní telefony, notebooky, Bluetooth zařízení, ..
LAN (Local Area Network)
- malá oblast (dům, kancelář, školní budova)
- počítače, tiskárny, servery, síťová uložiště
WAN (Wide Area Network)
- velká oblast (město, region, stát)
- spojení několik LAN sítí
- Telekomunikace, satelitní spoje, podmořské komunikační kabely
Internet
- globální systém propojených počítačových sítí(WAN)
- všechna zařízení připojená k internetu
Dělení komunikace
- Klient - server
o zdroje jsou soustředěny na serveru
o server čeká na vyžádání určitého zdroje/služby klientem
o klient žádá server o zdroje/služby
- Peer-to-peer
o zdroje zůstavají u vlastníků - poskytování ostatním
Spojovaná komunikace
- stavová komunikace
- princip
o navazání spojení(vyhledání trasy)
o vlastní komunikace
o ukončení spojení
- zachování pořadí přenášení dat
- data přenášena stejnou trasou
- protokol TCP
Nespojovaná komunikace
- bezstavová komunikace
- neověřuje se zda existuje cíl
- každý blok se přenáší samostatně a nezávisle, nezáleží na pořadí
- lze přenášet různými trasami
- protokol UDP(User Datagram Protocol)