B4B35OSY: Operační systémy
|
|
- Blanka Novotná
- před 6 lety
- Počet zobrazení:
Transkript
1 B4B35OSY: Operační systémy Grafika, GUI a HW akcelerace Michal Sojka prosince michal.sojka@cvut.cz 1 / 33
2 Obsah I 1 Uživatelské rozhraní Smyčka událostí GUI knihovny 2 Grafický subsystém OS HW akcelerace grafických operací Grafické servery 3 Použití GPU jako výpočetního akcelerátoru 2 / 33
3 Uživatelské rozhraní Obsah 1 Uživatelské rozhraní Smyčka událostí GUI knihovny 2 Grafický subsystém OS HW akcelerace grafických operací Grafické servery 3 Použití GPU jako výpočetního akcelerátoru 3 / 33
4 Uživatelské rozhraní Koncept GUI z pohledu OS Menu Radiobox Vstup Rámeček App GUI lib Radiobox Okno Vykreslování Editbox Jádro OS Grafický server Hardware App GUI lib Aplikace se typicky stará pouze o své okno Kombinování oken různých aplikací má na starosti tzv. grafický server. Aplikace čte informace (události) o vstupu od uživatele myš, klávesnice, touch screen to má na starosti tzv. smyčka událostí Aplikace organizuje grafické prvky ve stromové struktuře Události posílá do správných objektů v aplikaci (např. aktuálně vybraný edit box ) Objekty na události reagují a vykreslují se Vykreslování čáry, text, obrázky,... softwarové do framebufferu v paměti, implementováni knihovnou, kromě finálního zobrazení není potřeba OS HW akcelerované příkazy k vykreslování se posílají do GPU (zpravidla za pomoci jádra OS) 4 / 33
5 Uživatelské rozhraní» Smyčka událostí Smyčka událostí Event loop Typicky v hlavním vlákně aplikace: while (!quit) { wait_for_event handle_event Pokud obsluha události trvá dlouho, aplikace nemůže reagovat na jiné události Projevuje se to jako zatuhlá aplikace, či hláška aplikace neodpovídá Déletrvající obsluha by se měla vykonávat v jiném (pracovním) vlákně Z hlavního vlákna se pouze spustí (např. pomocí semaforu) Mnoho knihoven má omezení, že některé operace (např. vykreslování) lze volat jen z jednoho vlákna (jedná se o tzv. nereentrantní funkce) Proto je dokončení obsluhy v pracovním vlákně často signalizováno zasláním události do hlavního vlákna. A teprve v hlavním vlákně se uživateli vykreslí/napíše že operace byla dokončena. 5 / 33
6 Uživatelské rozhraní» Smyčka událostí Neblokující I/O Linux/Unix Základním problémem, který musí smyčka událostí řešit je čekání na více zdrojů současně (myš, klávesnice, případně síť,...) Pokud aplikace otevře např. /dev/input/mice a zavolá read(), vlákno se zablokuje do té doby než uživatel pohne myší a na jiné vstupy (např. klávesnice) nemůže reagovat Je potřeba používat tzv. neblokující I/O V Linuxu můžeme file descriptor fd přepnout do neblokujícího režimu následovně: /* set O_NONBLOCK on fd */ int flags = fcntl(fd, F_GETFL, 0); fcntl(fd, F_SETFL, flags O_NONBLOCK); Pokud na neblokujícím fd nejsou žádná data ke čtení, read() se okamžitě vrátí s chybou EAGAIN nebo EWOULDBLOCK. 6 / 33
7 Uživatelské rozhraní» Smyčka událostí Neblokující I/O pokračování Linux/Unix U neblokujícího I/O ale nechceme pořád kontrolovat, jestli na některém file descriptoru (FD) nejsou připravena data ke čtení (tzv. busy waiting), protože by to zbytečně zatěžovalo procesor OS poskytuje systémová volání, které umí čekat na více FD najednou např.: select(), poll(), epoll_wait() Všechny dělají v principu to samé, ale mají jiné API a různou výkonnost. Aplikace řekne na co všechno chce čekat a funkce pak čeká. 7 / 33
8 Uživatelské rozhraní» Smyčka událostí poll() example int retval; struct pollfd poll_list[3] = { // specify which socket and events we are interested in {.fd = mouse_fd;.events = POLLIN, {.fd = kbd_fd;.events = POLLIN, {.fd = sock_fd;.events = POLLIN POLLOUT, ; while(1) { retval = poll(poll_list, 3, 1000); // Wait for 3 FDs with 1000 ms timeout if (retval < 0) err(1, "poll"); // Print error message and exit else if (retval == 0) printf("timeout\n"); else { if (poll_list[0].revents!= 0) { // read mouse_fd and process the data if (poll_list[1].revents!= 0) { // read kbd_fd and process the data if (poll_list[2].revents!= 0) { if (poll_list[2].revents & POLLIN) { // read data from the socket and process them if (poll_list[2].revents & POLLOUT) { // socket is ready to send data - we can do it know 8 / 33
9 Uživatelské rozhraní» Smyčka událostí Windows message loop 2 MSG msg; while( (bret = GetMessage( &msg, NULL, 0, 0 ))!= 0) { if (bret == -1) { // handle the error and possibly exit else { TranslateMessage(&msg); DispatchMessage(&msg); Windows poskytují vyšší úroveň nízkoúrovňové události jsou převáděny na zprávy File descritpry a pod. jsou schovány uvnitř GetMessage Princip je podobný / 33
10 Uživatelské rozhraní» GUI knihovny GUI framework Knihovny poskytující Nezávislost na OS/HW Vysokoúrovňové API (objekty, snadnost použití) Základem každé knihovny je smyčka událostí WinForms C# Qt C++, různé OS i embedded HW GTK C + podpora (bindings) jiných jazyků / 33
11 Grafický subsystém OS Obsah 1 Uživatelské rozhraní Smyčka událostí GUI knihovny 2 Grafický subsystém OS HW akcelerace grafických operací Grafické servery 3 Použití GPU jako výpočetního akcelerátoru 11 / 33
12 Grafický subsystém OS Grafický subsystém OS Dlouhá historie Technologie se rychle mění komplikované různá API, zpětná kompatibilita, / 33
13 Grafický subsystém OS Framebuffer (obrazový buffer) Starší grafické karty implementovaly pouze tzv. framebuffer Framebuffer je paměť jejíž obsah graf. karta převádí na signál pro displej (např. VGA) dedikovaná paměť na kartě či sdílená paměť s CPU Surface v dnešních GPU je kus paměti reprezentující např. jen jedno okno Vykreslování = zápis do paměti (SW) Dnes: low-end embedded systémy Formát pixelů 888 RGB, 888 RGBA, 565RGB 5551RGBA, YUV ABGR 8888 dříve se používalo indexování (8b.) do palety 13 / 33
14 Grafický subsystém OS Příklad rasterizace čáry do framebufferu Source: Wikipedia, Phrood, CC-BY-SA / 33
15 Grafický subsystém OS» HW akcelerace grafických operací HW akcelerace SW vykreslování je pomalé zejména při vysokých rozlišeních skládání výsledného obrazu vyžaduje mnoho kopírování poloprůhlednost objektů vyžaduje mnoho stejných výpočtů např. výsledná barva (pixel) je průměrem barev dvou objektů p = 0.5p p 2 Anti-aliasing,... Dnešní GPU je velmi výkonný paralelní počítač, který mnoho operací urychlí, nebo kompletně vykoná místo hlavního CPU Historicky se HW akcelerace vyvíjela: 2D akcelerace Pevná 3D akcelerace Programovatelná 3D akcelerace / 33
16 Grafický subsystém OS» HW akcelerace grafických operací 2D akcelerace HW vykreslování kurzoru myši Jeden z nejstarších typů akcelerace Aby kurzor neblikal při posunování Omezená velikost (kus paměti vyhrazen pro kurzor) Implementováno v poslední fázi zpracování obrazu (tzv. scanout), kdy se pixely posílají na obrazovku Blitter akcelerace operací s obdélníky Kopírování obdélníků Výplň obdélníku konstantní barvou Kopírování se roztažením/smrštěním Kopírování s průhledností [Potter/Duff operátory] Overlay (bluescreen) GPU vkládá video do místa, kde aplikace nakreslí modrý obdélník Dříve měly GPU samostatný HW pro 2D, dnes je univerzální programovatelný HW, který umí 2D i 3D Dnes tento typ akcelerace nabízí i malé mikrokontroléry (čipy za pár korun) 16 / 33
17 Grafický subsystém OS» HW akcelerace grafických operací 3D akcelerace Dvojité bufferování = vykreslování následujícího obrázku do neviditelné paměti zatímco displej zobrazuje předchozí (hotový obrázek) Aplikace nezapisuje přímo do framebufferu Posílá příkazy a data do GPU GPU provádí vykreslování (zápisy do paměti) samo a paralelně na mnoha procesorech Výsledky ukládá buď přímo do framebufferu nebo do neviditelné paměti, která je přístupná aplikacím jako surface 17 / 33
18 Grafický subsystém OS» HW akcelerace grafických operací 3D pipeline Vstupem je pole vertexů (x, y, z) + další informace Vertex procesor pracuje s vektory (rotace, posun,...) Fragment procesor obarvuje (stínování, textury) Výstupem je rastrový obrázek Pro práci GPU využívá mnoho paměťových oblastí vstupní vertexy, výstupní rastr, hloubkovou mapu (z-buffer), / 33
19 Grafický subsystém OS» HW akcelerace grafických operací Komunikace s GPU z pohledu OS 1 Paměťově přístupné I/O (MMIO) Registry Část paměti na GPU 2 DMA Kopírování dat Fronta příkazů 3 Přerušení dokončení operace Příkazy pro GPU si připraví aplikace ve spolupráci s knihovnami (např. libgl.so) Knihovna je závislá na HW Ovladači GPU (v jádru OS) se předá ukazatel na příkazy pro GPU Ovladač provede bezpečnostní a jiné kontroly a vloží novou položku do kruhového bufferu 19 / 33
20 Grafický subsystém OS» HW akcelerace grafických operací DRI/DRM (Linux) Direct Rendering Interface/Direct Rendering Manager Dovoluje více aplikacím současný přímý přístup ke GPU (skrze knihovny) Obsahuje paměťový alokátor pro paměť na GPU Řeší koherenci paměti mezi CPU GPU Nutnost explicitně vyprázdnit cache po dokončení operací apod. 20 / 33
21 Grafický subsystém OS» HW akcelerace grafických operací (De)kódování videa Probíhá v několika fázích Dekódování 1 Dekomprese ( unzip ) 2 Inverzní diskrétní kosinová transformace 3 Kompenzace pohybu 4 Převod barevného prostoru (YUV RGB) 5 Zvětšování/zmenšování 21 / 33
22 Grafický subsystém OS» HW akcelerace grafických operací OpenGL Vertex Shader Program Geometry Shader Program Vertex Shader Geometry Shader gldrawelements, glarrayelement, gldrawarrays Clipping Uniforms and Samplers Fragment Shader Program Viewport Face Culling Rasterization Fragment Shader Scissor Multisample Stencil Depth Occlusion Query Blending Dithering Logic Op Masking glviewport glcullface, glfrontface, glpolygonmode, glenable(gl_cull_face) glpolygonoffset, glpointsize, gllinestipple, gllinewidth glscissor, glenable(gl_scissor) glsamplecoverage, glenable(gl_multisample) glstencilfunc, glstentilmask, glstencilop, glenable(gl_stencil_test) gldepthfunc, gldepthmask, glenable(gl_depth_test) glgenqueries, glisquery, glbeginquery, glend- Query, glgetquery* glblendcolor, glblend- Func, glblendequation, glenable(gl_blend) glenable(gl_dither) gllogicop, glenable(gl_color_logic_op) glcolormask, glindexmask Specifikace definující platformě nezávislé API pro grafické operace Lze implementovat pomocí SW renderování nebo HW renderování Vykreslovací pipeline je složitější než na předchozím obrázku Framebuffer Control gldrawbuffer, gldrawbuffers Framebuffer Zdroj: Stéphane Marchesin, Linux Graphics Drivers: an Introduction 22 / 33
23 Grafický subsystém OS» Grafické servery Grafické servery X server (Unix) Kompozitory 23 / 33
24 Grafický subsystém OS» Grafické servery X server grafický server pro UNIX Privilegovaná aplikace, umožňující ostatním aplikacím grafický výstup a čtení událostí Komunikace pomocí protokolu (socket) Síťová transparentnost Mimo jiné implementuje i schránku (clipboard) apod. Dnes Aplikace nevykreslují pomocí komunikace s X serverem, ale pomocí komunikace s GPU Dnes je X server jen obálka implementující clipboard a kombinující okna aplikací dohromady (nadsázka) Keyboard User s workstation X client (browser) Mouse X Server X client (xterm) Network Screen X client (xterm) Remote machine 24 / 33
25 Grafický subsystém OS» Grafické servery Grafický kompozitor V Linuxu např. Wayland, ve Windows od Windows Vista (DWM) Aplikace renderují své okénko samy pomocí přímé komunikace s GPU Výsledný surface předají do kompozitoru Kompozitor přidá rámečky, stíny, průhlednost, animace, atd. a vytvoří výslednou podobu celé obrazovky (rovněž pomocí GPU) Při komunikaci mezi aplikací a kompozitorem se nemusí surface kopírovat surface spravuje jádro a aplikace si předávají se jen odkazy (např. file descriptor) Musí být zajištěna bezpečnost, aby neoprávněné aplikace nemohly vidět/modifikovat okna jiných aplikací. 25 / 33
26 Grafický subsystém OS» Grafické servery Grafický kompozitor 26 / 33
27 Použití GPU jako výpočetního akcelerátoru Obsah 1 Uživatelské rozhraní Smyčka událostí GUI knihovny 2 Grafický subsystém OS HW akcelerace grafických operací Grafické servery 3 Použití GPU jako výpočetního akcelerátoru 27 / 33
28 Použití GPU jako výpočetního akcelerátoru HW architektura dnešních GPU 28 / 33
29 Použití GPU jako výpočetního akcelerátoru Paměťová hierarchie Různé adresové prostory MMU jednotka není jen v CPU, ale i v GPU Adresy: CPU virtuální, CPU fyzické, GPU virtuální, GPU fyzické GPU paměť není koherentní s CPU 29 / 33
30 Použití GPU jako výpočetního akcelerátoru Psaní paralelních programů Většinou jako rozšíření jazyků C/C++ Pro Akcelerátory CUDA OpenMP OpenCL Pro multi-core CPU OpenMP TBB Cilk Plus 30 / 33
31 Použití GPU jako výpočetního akcelerátoru CUDA Nízkoúrovňové API od firmy NVIDIA Kernel funkce, která je vykonávána paralelně na akcelerátoru #include <stdio.h> global void saxpy(int n, float a, float *x, float *y) { int i = blockidx.x*blockdim.x + threadidx.x; if (i < n) y[i] = a*x[i] + y[i]; int main(void) { int N = 1<<20; float *x, *y, *d_x, *d_y; x = (float*)malloc(n*sizeof(float)); y = (float*)malloc(n*sizeof(float)); cudamalloc(&d_x, N*sizeof(float)); cudamalloc(&d_y, N*sizeof(float)); for (int i = 0; i < N; i++) { x[i] = 1.0f; y[i] = 2.0f; cudamemcpy(d_x, x, N*sizeof(float), cudamemcpyhosttodevice cudamemcpy(d_y, y, N*sizeof(float), cudamemcpyhosttodevice // Perform SAXPY on 1M elements saxpy<<<(n+255)/256, 256>>>(N, 2.0f, d_x, d_y); cudamemcpy(y, d_y, N*sizeof(float), cudamemcpydevicetohost float maxerror = 0.0f; for (int i = 0; i < N; i++) maxerror = max(maxerror, abs(y[i]-4.0f)); printf("max error: %f\n", maxerror); cudafree(d_x); cudafree(d_y); free(x); free(y); 31 / 33
32 Použití GPU jako výpočetního akcelerátoru OpenMP Původně pro vyvíjeno paralelní CPU (multi-core) Později přidána i podpora speciálních akcelerátorů jako GPU pomocí #pragma omp target... Anotace pomocí direktiv int main(int argc, char **argv) { int a[100000]; #pragma omp parallel for for (int i = 0; i < ; i++) { a[i] = 2 * i; return 0; 32 / 33
33 Použití GPU jako výpočetního akcelerátoru OpenCL // Multiplies A*x, leaving the result in y. // A is a row-major matrix, meaning the (i,j) element is at A[i*ncols+j]. kernel void matvec( global const float *A, global const float *x, uint ncols, global float *y) { size_t i = get_global_id(0); // Global id, used as the row index. global float const *a = &A[i*ncols]; // Pointer to the i'th row. float sum = 0.f; // Accumulator for dot product. for (size_t j = 0; j < ncols; j++) { sum += a[j] * x[j]; y[i] = sum; 33 / 33
B4B35OSY: Operační systémy
B4B35OSY: Operační systémy Grafika a HW akcelerace Michal Sojka 1 14. prosince 2017 1 michal.sojka@cvut.cz 1 / 27 Obsah I 1 Uživatelské rozhraní 2 Grafický subsystém OS HW akcelerace grafických operací
Co je grafický akcelerátor
Co je grafický akcelerátor jednotka v osobním počítači či herní konzoli přebírá funkce hlavního procesoru pro grafické operace graphics renderer odlehčuje hlavnímu procesoru paralelní zpracování vybaven
Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
Pokročilé architektury počítačů
Pokročilé architektury počítačů Tutoriál 3 CUDA - GPU Martin Milata Výpočetní model CUDA Organizace kódu Sériově organizovaný kód určený pro CPU Paralelní kód prováděný na GPU Označuje se jako kernel GPU
Fakulta informačních technologíı. IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL 1 / 38
IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL Tomáš Milet Ústav počítačové grafiky a multimédíı Fakulta informačních technologíı Vysoké učení technické Brno IZG cvičení 6. - Zobrazování 3D scény
Embedded vývoj v Clutteru a Mx
Pavel Šimerda pavlix@pavlix.net OpenMobility 2011 Creative Commons Uved te autora 3.0 Česko Embedded Oblíbený buzzword Vestavěná zařízení (v automobilech, budovách, venkovních terminálech) Jednoúčelová
Úvod do GPGPU J. Sloup, I. Šimeček
Úvod do GPGPU J. Sloup, I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.3 Příprava studijního programu
Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška 1 Úvod do HW a OS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
Metody připojování periferií
Metody připojování periferií BI-MPP Přednáška 13 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011
Geekovo Minimum. Počítačové Grafiky. Nadpis 1 Nadpis 2 Nadpis 3. Božetěchova 2, Brno
Geekovo Minimum Nadpis 1 Nadpis 2 Nadpis 3 Počítačové Grafiky Jméno Adam Příjmení Herout Vysoké Vysoké učení technické učení technické v Brně, v Fakulta Brně, Fakulta informačních informačních technologií
Nvidia CUDA Paralelní programování na GPU
Mendelova univerzita v Brně Provozně ekonomická fakulta Nvidia CUDA Paralelní programování na GPU 2014 O čem to bude... Trocha historie Shadery Unifikace GPGPU CUDA Využití GPGPU GPU a jeho Hardware Nvidia
Zobrazovací jednotky a monitory
Zobrazovací jednotky a monitory Zobrazovací jednotka - karta, která se zasunuje do jednoho z konektorů na sběrnici uvnitř počítače. Dva režimy činnosti: Textový režim - zobrazuje znaky uvedené v tabulce
Virtualizace. Lukáš Krahulec, KRA556
Virtualizace Lukáš Krahulec, KRA556 Co je vitualizace Způsob jak přistupovat ke zdrojům systému jako k univerzálnímu výkonu a nezajímat se o železo Způsob jak využít silný HW a rozložit ho mezi uživatele,
Principy operačních systémů. Lekce 1: Úvod
Principy operačních systémů Lekce 1: Úvod Sylabus Lekce 1: Úvod 2 Literatura Lekce 1: Úvod 3 Operační systém Základní programové vybavení počítače, které se zavádí do počítače při jeho startu a zůstává
Matematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
GPGPU Aplikace GPGPU. Obecné výpočty na grafických procesorech. Jan Vacata
Obecné výpočty na grafických procesorech Motivace Úvod Motivace Technologie 3 GHz Intel Core 2 Extreme QX9650 Výkon: 96 GFLOPS Propustnost paměti: 21 GB/s Orientační cena: 1300 USD NVIDIA GeForce 9800
Paralelní programování
Paralelní programování přednášky Jan Outrata únor květen 2011 Jan Outrata (KI UP) Paralelní programování únor květen 2011 1 / 15 Simulátor konkurence abstrakce = libovolné proložení atom. akcí sekvenčních
Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty
Vlákna a přístup ke sdílené paměti B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Paralelizace nám může pomoct... 1 Minulé cvičení: Paralelizace nám může pomoct... B4B36PDV: Ale ne všechny
Pokročilé architektury počítačů
Pokročilé architektury počítačů Přednáška 7 CUDA První paralelní aplikace Martin Milata Obsah SIMD versus SIMT Omezení a HW implementace Způsob zpracování warp skupiny vláken CUDA - pohled programátora
VirtualBox desktopová virtualizace. Zdeněk Merta
VirtualBox desktopová virtualizace Zdeněk Merta 15.3.2009 VirtualBox dektopová virtualizace Stránka 2 ze 14 VirtualBox Multiplatformní virtualizační nástroj. Částečně založen na virtualizačním nástroji
Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno
Operační systémy IOS 2009/2010 Tomáš Vojnar Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno ÚÓ Ò Ö ØºÚÙØ ÖºÞ Úvod do UNIXu p.1/11 Unix úvod Úvod do UNIXu p.2/11
Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání
Stavba operačního systému
Stavba operačního systému Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,
Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010
Ing. Jan Buriánek (ČVUT FIT) GPU a GTC BI-MGA, 2010, Přednáška 11 1/29 Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek,
monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura
IBM PC 5150 MS DOS 1981 (7 verzí) DR DOS, APPLE DOS, PC DOS 1. 3. Windows grafická nástavba na DOS Windows 95 1. operační systém jako takový, Windows XP 2001, podporovány do 2014, x86 a Windows 2000 Professional
OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.
Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá. Co vše provádí operační systém: Organizuje přístup a využívání zdrojů počítače
Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@email.cz
Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@email.cz Obsah Ovladače a zařízení Virtuální paměť Komunikace s ovladači Útoky na chybné ošetřování vstupů Systémová volání Útok záměnou argumentů
MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti
MS WINDOWS II Jádro Správa objektů Správa procesů Zabezpečení Správa paměti JÁDRO I ntoskrnl.exe napsán v C (příp. assembler) základní mechanismy poskytované executivám trap dispečink synchronizace přístupů
Paralelní architektury se sdílenou pamětí typu NUMA. NUMA architektury
Paralelní architektury se sdílenou pamětí typu NUMA NUMA architektury Multiprocesorové systémy s distribuovanou pamětí I. úzkým hrdlem multiprocesorů se sdílenou pamětí je datová komunikace s rostoucím
Management procesu I Mgr. Josef Horálek
Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více
Metody připojování periferií
Metody připojování periferií BI-MPP Přednáška 10 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011
IT ESS II. 1. Operating Systém Fundamentals
IT ESS II. 1. Operating Systém Fundamentals Srovnání desktopových OS a NOSs workstation síťové OS (NOSs) jednouživatelské jednoúlohové bez vzdáleného přístupu místní přístup k souborům poskytují a zpřístupňují
for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }
5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu
Knihovny pro CUDA J. Sloup a I. Šimeček
Knihovny pro CUDA J. Sloup a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.10 Příprava studijního programu
Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič
Obecné výpočty na GPU v jazyce CUDA Jiří Filipovič Obsah přednášky motivace architektura GPU CUDA programovací model jaké algoritmy urychlovat na GPU? optimalizace Motivace Moorův zákon stále platí pro
NPRG051 Pokročilé programování v C /17 Úkol 2
NPRG051 Pokročilé programování v C++ 2016/17 Úkol 2 Téma Async I/O B-Tree server Motivace Typická databáze: stromové indexy výkon odvozený od rychlosti disku rychlosti synchronizace při paralelním přístupu
x86 assembler and inline assembler in GCC
x86 assembler and inline assembler in GCC Michal Sojka sojkam1@fel.cvut.cz ČVUT, FEL License: CC-BY-SA 4.0 Useful instructions mov moves data between registers and memory mov $1,%eax # move 1 to register
Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém
Software Co je to software? Software je ve světě IT vše, co není Hardware Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém Podívejme se tedy na jednotlivé
Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty
Paralení programování pro vícejádrové stroje s použitím OpenMP B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Vlákna a jejich synchronizace v C++ 11... 1 Minulé cvičení: Vlákna a jejich synchronizace
Implementace systémů HIPS: historie a současnost. Martin Dráb
Implementace systémů HIPS: historie a současnost Martin Dráb martin.drab@secit.sk HIPS: základní definice Majoritně používané operační systémy disponují bezpečnostními modely, které dovolují jednotlivým
IUJCE 07/08 Přednáška č. 1
Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming
Základní typy struktur výpočetních systémů
Základní typy struktur výpočetních systémů Struktury výpočetních systémů Monolitická struktura Vrstvená (hierarchická) struktura Virtuální počítače (virtuální stroje) Abstraktní počítače Modulární struktura
Profilová část maturitní zkoušky 2013/2014
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.
Přednáška 11 Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna. 1 Historie MS Windows I 1980 1981 1983 1990 1995 1998 2000 8-bitový procesor Intel 8080
Masivně paralelní zpracování obrazu v prostředí systému VisionLab. 25. 9. 2013 Liberec Roman Cagaš, rc@mii.cz
Masivně paralelní zpracování obrazu v prostředí systému VisionLab 25. 9. 2013 Liberec Roman Cagaš, rc@mii.cz Moravské přístroje a.s. - oblasti vývoje a výroby Prostředí pro vývoj aplikací Software pro
Operační systémy. Přednáška 1: Úvod
Operační systémy Přednáška 1: Úvod 1 Organizace předmětu Přednášky každé úterý 18:00-19:30 v K1 Přednášející Jan Trdlička email: trdlicka@fel.cvut.z kancelář: K324 Cvičení pondělí, úterý, středa Informace
GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA
GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA HISTORIE GPU GPU = graphics processing unit jde o akcelerátory pro algoritmy v 3D grafice a vizualizaci mnoho z nich původně vzniklo pro účely počítačových
Windows a real-time. Windows Embedded
Windows a real-time Windows Embedded Windows pro Embedded zařízení Současnost (2008): Windows Embedded WINDOWS EMBEDDED Windows Embedded CE Windows XP Embedded Windows Embedded for Point of Service Minulé
Procesy a vlákna (Processes and Threads)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating
Připravil: David Procházka. Vertex Buffer Objects
30. září 2013, Brno Připravil: David Procházka Vertex Buffer Objects Počítačová grafika 2 Obsah přednášky Strana 2 / 22 Obsah přednášky 1 Obsah přednášky 2 Vertex Buffer Objects 3 Příklady 4 Shrnutí Obsah
Připravil: David Procházka. Základy OpenGL
24. září 2013, Brno Připravil: David Procházka Základy OpenGL Počítačová grafika 2 Grafické knihovny Strana 2 / 25 Obsah přednášky 1 Grafické knihovny 2 Vykreslování rastrového obrazu 3 OpenGL aplikace
Operační systémy. Přednáška 2: Procesy a vlákna
Operační systémy Přednáška 2: Procesy a vlákna 1 Procesy Všechen běžící software v systému je organizován jako množina sekvenčně běžících procesů. (Sekvenční) proces Abstrakce běžícího programu. Sekvence
Základní informace. Operační systém (OS)
Základní informace Operační systém (OS) OS je základní program, který oživuje technické díly počítače (hardware) a poskytuje prostředí pro práci všech ostatních programů. Operační systém musí být naistalován
Procesory nvidia Tegra
VŠB-TU Ostrava Fakulta elektrotechniky a informatiky Procesory nvidia Tegra Petr Dostalík, DOS140 Pokročilé architektury počítačů Představení nvidia Tegra V únoru roku 2008 představila společnost nvidia
Základní komunikační operace
Základní komunikační operace Úvod Operace send a recieve Blokující a neblokující posílání zpráv Blokující posílání zpráv Neblokující posílání zpráv One-to-all broadcast/all-to-one reduction All-to-all
Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor
Menu Operační systém Procesor a základní deska Paměťové zařízení Ovladače Zobrazení Síť Další zařízení Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor Intel(R) Core(TM)2
Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21
Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní
Procesy a vlákna - synchronizace
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody
Vytváříme dobré aplikace vykreslovače grafiky v programovém prostředí Control Web
Vytváříme dobré aplikace vykreslovače grafiky v programovém prostředí Control Web Vykreslovače grafiky nám umožňují vybrat si, jaké grafické programové rozhraní operačního systému bude použito pro zobrazování
Programové vybavení počítačů operační systémy
Programové vybavení počítačů operační systémy Operační systém Základní program, který oživuje hardware a poskytuje prostředí pro ostatní programy Řídí využití procesoru, síťovou komunikaci, tisk, ovládá
Operační systémy. Tomáš Hudec. Tomas.Hudec@upce.cz. http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/
Operační systémy Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ Osnova definice OS historie rozdělení dle určení koncepce systémová volání rozdělení dle struktury 2 Literatura
TG Motion verze 4 Modul Virtuální PLC návod k obsluze
TG Motion verze 4 Modul Virtuální PLC návod k obsluze Olomoucká 1290/79-1 - Fax: +420 548 141 890 Historie revizí datum verze popis 10. 1. 2017 1.0 31. 7. 2017 1.1 upravena typografie Olomoucká 1290/79-2
B4B35OSY: Operační systémy
B4B35OSY: Operační systémy Lekce 9: Vstup/výstup, ovladače Michal Sojka michal.sojka@cvut.cz November 30, 2017 1 / 35 Osnova 1 Úvod 2 Úložiště 3 Síťová rozhraní 4 Ovladače Linux Windows Ovladače v uživatelském
Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám
Operační systém Mgr. Renáta Rellová Výukový materiál zpracován v rámci projektu EU peníze školám Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Renáta Rellová. Dostupné z Metodického
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2
Operační systémy: funkce
Operační systémy Software, který zabezpečuje základní chod počítače, je prostředníkem mezi hardwarem a aplikačním softwarem. Nutný základní software v počítači. Vykonává řadu rutinních operací, které by
09. Memory management. ZOS 2006, L.Pešička
09. Memory management ZOS 2006, L.Pešička Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému
Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.
Odpovědi jsem hledala v prezentacích a na http://www.nuc.elf.stuba.sk/lit/ldp/index.htm Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je
Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux
KONTAKT 2011 Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux Autor: Rostislav Lisový (lisovy@gmail.com) Vedoucí: Ing. Pavel Píša, Ph.D. (pisa@cmp.felk.cvut.cz) Katedra řídicí techniky
Real Time programování v LabView. Ing. Martin Bušek, Ph.D.
Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití
Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna
Principy operačních systémů Lekce 5: Multiprogramming a multitasking, vlákna Multiprogramování předchůdce multitaskingu Vzájemné volání: Implementován procesem (nikoliv OS) Procesu je přidělen procesor,
Principy operačních systémů. Lekce 8: Ovladače periferií
Principy operačních systémů Lekce 8: Ovladače periferií Vstupní a výstupní zařízení I/O zařízení, V/V zařízení Systém vstupních a výstupních zařízení je subsystémem operačního systému, který zprostředkovává
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Maturitní témata pro 1.KŠPA Kladno, s.r.o. Výpočetní technika
Maturitní témata pro 1.KŠPA Kladno, s.r.o. Předmět Typ zkoušky Obor Forma Zkoušející Období Výpočetní technika Profilová ústní Ekonomika a podnikání zaměření Podnikání Denní / Distanční Ing. Horová / K.
Operační systémy. Přednáška 4: Komunikace mezi procesy
Operační systémy Přednáška 4: Komunikace mezi procesy 1 Časově závislé chyby Dva nebo několik procesů používá (čte/zapisuje) společné sdílené prostředky (např. sdílená paměť, sdílení proměnné, sdílené
DUM č. 14 v sadě. 31. Inf-7 Technické vybavení počítačů
projekt GML Brno Docens DUM č. 14 v sadě 31. Inf-7 Technické vybavení počítačů Autor: Roman Hrdlička Datum: 24.02.2014 Ročník: 1A, 1B, 1C Anotace DUMu: Grafické karty: zapojení, součásti, napájení, chlazení.
Operační systémy. Cvičení 4: Programování v C pod Unixem
Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT
VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender
VY_32_INOVACE_INF.19 Inkscape, GIMP, Blender Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 INKSCAPE Inkscape je open source
SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ
SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ TITAN / HOPPER / NOTEBOOK TITAN HOPPER NOTEBOOK Počet CPU jader 299 008 153 216 2 Operační paměť [GB] 598 016 217 000 8 Počet GPU (CUDA) jader 50 233 344 0 8
Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)
Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,
Novinky AutoCAD LT 2017
Novinky AutoCAD LT 2017 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky AutoCAD LT 2017 PDF dokument obsahuje přehled novinek produktu AutoCAD LT 2017. Obsah: 1. Autodesk aplikace...
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
Vzdálený přístup k počítačům
Vzdálený přístup k počítačům jedna z nejstarších služeb vzdálený přístup k sálovým počítačům nejprve vzdálené terminály později terminálová emulace jako jedna ze služeb počítačové sítě současnost využíváno
Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2
Základy informatiky 2. Přednáška HW Lenka Carr Motyčková February 22, 2011 Základy informatiky 1 February 22, 2011 Základy informatiky 2 February 22, 2011 Základy informatiky 3 February 22, 2011 Základy
MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění
MS WINDOWS I řada operačních systémů firmy Microsoft *1985 -? Historie Práce ve Windows XP Architektura Instalace Spouštění HISTORIE I MS-DOS 1981, první OS firmy Microsoft, pro IBM PC 16b, textový, jednouživatelský,
Činnost operačních systémů. Beránek Pavel 1. KŠPA
Činnost operačních systémů Beránek Pavel 1. KŠPA Funkce operačního systému Jedná se o systémový software (opak uživatelského = aplikace), který spravuje systémové prostředky (RAM, procesorový čas) a poskytuje
Hardware pro počítačovou grafiku NPGR019
Hardware pro počítačovou grafiku NPGR019 3D akcelerátory - historie a architektura Josef Pelikán Jan Horáček http://cgg.mff.cuni.cz/ MFF UK Praha 2012 Pokroky v hardware 3D akcelerace běžná i v konzumním
konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian
02 konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian Kernighan v r. 1973 přepsán do jazyka C Psát programy,
TG Motion verze 4 Modul Virtuální PLC návod k obsluze
TG Motion verze 4 Modul Virtuální PLC návod k obsluze -1- Obsah 1. Virtuální PLC...3 1.1 Popis Virtuálního PLC...3 1.2 Tvorba PLC...3 1.3 Vyžadovaný algoritmus PLC...3 Načtení vstupů...3 Zpracování hodnot
Multiplatformní GUI toolkity
Multiplatformní GUI toolkity GTK+ a Qt Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI GUI toolkit (widget toolkit) (1) = programová knihovna (nebo kolekce knihoven) implementující prvky
GPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze
GPGPU Jan Faigl Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze 8. cvičení katedra kybernetiky, FEL, ČVUT v Praze X33PTE - Programovací techniky GPGPU 1
OPS Paralelní systémy, seznam pojmů, klasifikace
Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus
Návod k použití softwaru Solar Viewer 3D
Návod k použití softwaru Solar Viewer 3D Software byl vyvinut v rámci grantového projektu Technologie a systém určující fyzikální a prostorové charakteristiky pro ochranu a tvorbu životního prostředí a
Motivace. Software. Literatura a odkazy
Využití paralelních výpočtů ve stavební mechanice Motivace Paralelní počítače Software Možnosti využití ve stavební mechanice Příklady Literatura a odkazy 1 Motivace Časová náročnost výpočtů Rozsáhlé úlohy
VÝPOČETNÍ TECHNIKA OBOR: EKONOMIKA A PODNIKÁNÍ ZAMĚŘENÍ: PODNIKÁNÍ FORMA: DENNÍ STUDIUM
VÝPOČETNÍ TECHNIKA OBOR: EKONOMIKA A PODNIKÁNÍ ZAMĚŘENÍ: PODNIKÁNÍ FORMA: DENNÍ STUDIUM 1. Historie a vývoj VT. Dnešní parametry PC. Von Neumannovo schéma. a. historie a vznik počítačů b. využití počítačů
Vláknové programování část I
Vláknové programování část I Lukáš Hejmánek, Petr Holub {xhejtman,hopet}@ics.muni.cz Laboratoř pokročilých síťových technologií PV192 2015 04 07 1/27 Vláknové programování v C/C++ 1. Procesy, vlákna, přepínání
Paralelní a distribuované výpočty (B4B36PDV)
Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech