operační systém

Transkript

operační systém
operační systém
24.12.2013
vjj
1
co chce uživatel od OS
• NIC
• chce jen
•
•
•
•
•
•
•
24.12.2013
spočítat trajektorii modulu přistávajícího na Marsu
vypracovat měsíční bilanci podniku
přečíst/napsat e-mail
brouzdat po webu
zahrát si svojí oblíbenou hru
koukat na film
prohlížet fotky
vjj
2
proč OS
•
co zvládne samotný program?
•
VŠECHNO !
•
ALE
každý program by z 99% obsahoval kód pro nezbytné
základní funkce, které potřebuje i každý další program,
a které jsou navíc závislé na konkrétním HW
•
současný uživatel by byl nepříjemně překvapen
•
•
•
24.12.2013
spouštění programů
multitasking
…
vjj
3
OS
• užitečné služby pro aplikace
• služby pro uživatele
•
24.12.2013
User Interface – rezidentní aplikace
vjj
4
co chce program od OS
• komunikace s uživatelem
•
okna
•
•
text
grafika
• přístup k datům
•
práce se soubory
• práce s periferiemi
•
•
24.12.2013
USB
síť
vjj
5
co chce uživatel od OS
• používat program
•
•
(nainstalovat ?, spustit ! , zastavit ?)
nahrát, zkopírovat, smazat, vytisknout data
komunikovat s programem
• pohodlí
• rychlost
• bezpečnost
• příjemné uživatelské prostředí
• vizuální efekty
24.12.2013
vjj
6
uživatel
• keyboard
• mouse
• joystick
• touchpad
• touchscreen
• voice command
• biometrie
• ...
24.12.2013
vjj
7
OS
• reakce na činnost uživatele
– zajištění komunikace uživatele s programem:
•
HW interrupt – driver – RIT – message
• požadavky programu
•
24.12.2013
SW interrupt – interrupt routine – …
vjj
8
OS
•
přidělování procesoru,
výběr procesu/vlákna, kterému má být přidělen procesor
– task management
•
strategie, jakou je využívána paměť,
přidělování paměti procesům
– memory management
•
usnadnění přístupu procesů k datů na discích
– file system management
•
administrace – potřebné údaje o procesech, vláknech, …
•
…
24.12.2013
vjj
9
historie
•
•
monolit
•
strukturovaný systém, vrstvy
•
•
•
•
z jakékoliv části OS lze volat jakoukoliv funkci OS a přistupovat k libovolným
datům OS
lze volat pouze funkce vlastní a nejbližší nižší vrstvy a přistupovat pouze k
datům vlastní vrstvy
synchronní zpracování požadavků (tj. volání funkcí)
microkernel
•
•
posílání zpráv místo volání funkcí
asynchronní zpracování požadavků (tj. posílání zpráv do fronty)
Singularity, Metro
•
•
24.12.2013
pipeline – jediný způsob komunikace s okolím, striktní kontrola parametrů
kontrakty – oboustranná dohoda o vytvoření pipeline, komunikace pouze po
vzájemné dohodě
vjj
10
historie - hierarchie správ
• správa prací / job manager
•
•
•
•
•
operator
job scheduler
monitor
reader
writer
• pracovní moduly / utility
• správa prostředků
• technické vybavení
24.12.2013
vjj
11
historie - správa prostředků
•
•
•
•
správa dat / data manager
•
•
správa souborů
správa přídavných zařízení
správa procesů / task manager
•
•
•
•
process/task creation
program modules manager
loader
timer
správa paměti
správa procesů
•
•
•
24.12.2013
concurrency manager
interrupt manager
scheduler , dispatcher
vjj
12
microkernel
• ring 0 - jádro OS
• ring 1 - drivery a jednotlivé části OS
• ring 2 - utility
• ring 3 - uživatelské aplikace
• přepínání a předávání informací mezi
•
•
jednotlivými úrovněmi je časově náročné
(pomalý Int nahrazován rychlejším SysEnter)
komunikace pomocí posílání zpráv
asynchronní x synchronní
NeXT
24.12.2013
vjj
13
struktura Windows
24.12.2013
vjj
14
24.12.2013
vjj
15
System support processes
Service processes
SCManager
Service control manager
Svchost.exe
Lsass.exe
Local Security Authentication Server
Winmgmt.exe
Winlogon.exe
Logon Process
Smss.exe
Session manager
Applications
User applications
Spooler
Task Manager
Services.exe
Windows Explorer
Subsystem DLLs
Environment subsystems
Csrss.exe
Win32
OS2SS.exe
OS/2
PSXSS.exe
POSIX
Kernel32.dll, Advapi32.dll, User32.dll, GDI32.dll
Ntdll.dll
Int 2E / SysEnter
System threads
Win32k.sys
Windowing and graphics
Ntoskrnl.exe
Win32
Executive
System service dispatcher
Executive support
WDM WMI
routines
Configuration
manager
(registry)
Processes and
threads
Object manager
Virtual
memory
Security
reference
monitor
Power
manager
Plug and Play
manager
File system
cache
I/O Manager
Local procedure call
User
GDI
RTL
Kernel (Process Manager, Interrupt / Exception Dispatcher, Multiprocessor Synchronization)
Device and file system drivers
Graphic device drivers
Hal.dll
24.12.2013
Hardware abstraction layer (HAL)
vjj
16
System support
processes
Service
processes
Applications
Environment
subsystems
Subsystem DLLs
Ntdll.dll
Int 2E / SysEnter
Ntoskrnl.exe
Win32k.sys
Windowing and graphics
Win32
System service dispatcher
Executive
User
Kernel
GDI
Drivers
Graphic device drivers
Hal.dll
Hardware abstraction layer (HAL)
24.12.2013
vjj
17
ring 3 -> ring 0
Csrss.exe
Win32
subsystém
Aplikace
GDI32.dll
User32.dll
AdvAPI32.dll
RPCRT4.dll
Kernel32.dll
NTdll.dll
ring 3
INT 2E / SysEnter
LRPC
ring 0
Win32k.sys
24.12.2013
NTOSKrnl.exe
vjj
18
Csrss.exe
•
Client/Server Runtime Subsystem
•
•
•
•
•
•
Win32 subsystém
zprostředkovatel služeb pro ostatní subsystémy
okna textových konsol
vytváření a rušení procesů a vláken
část podpory pro VDM (16-bit virtual DOS machine)
procesy
různé funkce
•
•
•
•
24.12.2013
GetTempFile
DefineDosDevice
ExitWindowsEx
...
vjj
19
Ntdll.dll
•
System service dispatch stubs
•
•
•
více než 200 API funkcí (NtCreateFile, NtSetEvent, ...)
stubs - Int 2E – volání stejně pojmenované funkce z jádra
Windows (Ntoskrnl.exe)
Internal support functions
•
•
•
•
•
24.12.2013
heap manager
Win32 subsystem process communication functions
Run-time library routines
user-mode asynchronous procedure call (APC) dispatcher
exception dispatcher
vjj
20
Win32k.sys
•
správce oken (Window Manager)
•
•
•
•
•
řídí zobrazování oken
řídí výstup na obrazovku
spravuje vstup z klávesnice, od myši, . . .
předává uživatelské zprávy aplikacím
Graphics Device Interface (GDI)
•
knihovna funkcí pro zařízení s grafickým výstupem
•
24.12.2013
obsahuje funkce pro text, čárové a bitmapové kreslení a pro manipulaci
s grafikou
vjj
21
NTOSKrnl.exe
•
System service dispatcher
•
Executive – horní vrstva NTOSKrnl.exe
•
•
•
•
•
•
System Services - exportované funkce - většinu z nich lze volat z
uživatelského módu (API funkce)
exportované a dokumentované funkce
•
•
Windows DDK
Windows 2000 Installable File System (IFS) Kit
exportované a nedokumentované funkce
neexportované funkce jejichž názvy jsou ale definovány jako globální
symboly
interní funkce jednotlivých modulů, které nejsou definovány jako
globální symboly
Kernel – dolní vrstva NTOSKrnl.exe
24.12.2013
vjj
22
struktura OS
•
Marc Russinovich:
"Windows is similar to most UNIX systems in that
it's a monolithic operating system
in the sense that the bulk of the operating system and
device driver code shares the same kernel mode
protected memory space.
This means that any operating system component or
device driver can potentially corrupt data being used by
other operating system components"
24.12.2013
vjj
23
Singularity
•
Microsoft Research
•
project Singularity
(Andrew Birrell - Mountain View)
a research operating system prototype
Software Isolated Processes - pro všechny programy, drivery a
rozšíření systému
•
project Sing#
(Wolfram Schulte - Redmont)
type safe language
experimentální rozšíření Spec#
(rozšíření C# - průběžné hlídání podmínek,...)
kontrakty, pipelines
24.12.2013
vjj
24
Metro
•
•
•
UI pro touchscreens
•
•
WinPhone
tablet
nové API – nadstavba nad Win32 API
•
•
•
striktní omezení grafických možností
odstraněna vizuální nápověda
vynucené asynchronní volání funkcí
oddělení procesů – viz Singularity
24.12.2013
vjj
25

Podobné dokumenty

Architektura rodiny operačních systémů Windows NT

Architektura rodiny operačních systémů Windows NT kernel32.dll, user32.dll, gid32.dll, advapi32.dll; csrss.exe v sobě uchovává vlastní kopii seznamu běžících procesů a vláken; bránu k ovladači win32k.sys tvoří knihovny:

Více

uloha operacniho systemu 542.33 KB 05.09.2012

uloha operacniho systemu 542.33 KB 05.09.2012 OS zajišťuje prostředí pro běh (=vykonávání) programů prostřednictvím služeb. OS poskytuje: - služby pro programy, - služby pro uživatele. Základní služby OS: • provádění programů (program executio...

Více

isass.exe objekt nebyl nalezen

isass.exe objekt nebyl nalezen poškozen. Pokud chceme nainstalovat nový operační systém, stačí vložit originální bootovací CD s operačním systémem Windows 2000/XP a postupovat podle instrukcí na obrazovce, nebo můžeme použít spe...

Více

Administrace a bezpečnost ArcGIS Serveru

Administrace a bezpečnost ArcGIS Serveru stolním počítači (desktopu) jsou uspokojivé řešení pro dnešní práci s geografickými daty. Avšak celosvětový trend v informačních technologiích (IT) je takový, že se většina aplikací a služeb přesou...

Více

Podpůrný výukový materiál

Podpůrný výukový materiál Od b or nát e r mi nol ogi evc i z í c hj a z y c í c hp r ož á k ySŠ CZ

Více

vlastnosti, použití

vlastnosti, použití údaje zapíše do deskriptoru a začne obsluhovat periferii dle programu. - viz otázka č. 29 - Propojovací subsystém

Více

Internals - vjj root page

Internals - vjj root page stubs – SysCall (x64) / SysEnter (x32) / Int 2E (dříve) – volání stejně pojmenované funkce z jádra Windows (Ntoskrnl.exe)

Více

Architektura OS

Architektura OS OS zajišťuje prostředí pro běh (=vykonávání) programů prostřednictvím služeb. OS poskytuje: - služby pro programy, - služby pro uživatele. Základní služby OS: • provádění programů (program executio...

Více

VISTA a vyšší (longhorn)

VISTA a vyšší (longhorn) ­ instal na DVD (z hlediska edicí ­ všechny edica na 1 DVD) 

Více