Mikrokernelski operativni sistemi

Слични документи
Slide 1

Generated by Foxit PDF Creator Foxit Software For evaluation only. Operativni sistem U računarstvu, operativni sistem (OS

POSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

vodič za os

Računarski softver Da bi računarski sistem mogao da radi, pored hardvera mora biti opremljen i odgovarajućim programima koji će njime upravljati.ova k

OPERATIVNI SISTEMI

PowerPoint Presentation

RAČUNALO

Microsoft PowerPoint - Topic02 - Serbian.ppt

Microsoft PowerPoint - Topic02 - Serbian.ppt

SRV_3_Ugradj_racun_sistemi_p [Compatibility Mode]

ZIS

Slide 1

PowerPoint Presentation

** Osnovni meni

RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizova

PowerPoint Presentation

RA

STUDIJA SLUČAJA: Konsolidacija informatičkog sustava Grada Raba siječanj, Informacijske tehnologije

SRV_1_Problematika_real_time_sistema

P1.0 Uvod

PuTTY CERT.hr-PUBDOC

Softversko inženjerstvo

Повезивање са интернетом

R u z v e l t o v a 5 5, B e o g r a d, t e l : , e - m a i l : p r o d a j p s i t. r s, w w w. p s i t. r s

Slide 1

PowerPoint Presentation

Microsoft Word - 13-Mreze.doc

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

Microsoft PowerPoint - 06 Uvod u racunarske mreze.ppt

Microsoft Word - Master 2013

Microsoft Word - Master 2013

Школа Ј. Ј. Змај Свилајнац МЕСЕЧНИ ПЛАН РАДА ЗА СЕПТЕМБАР Школска 2018 /2019. Назив предмета: Информатика и рачунарство Разред: 5. Недељни број часова

EXC_BROSURA_Tour ver_05

PowerPoint Presentation

[Р271] Информациони системи 10 [Р271] Информациони системи Саша Малков Саша Малков Универзитет у Београду Математички факултет 2017/2018 Тема 14 Вирту

Microsoft Word - SYLLABUS -Bezbednost na IT mrezama

KATALOG ZNANJA IZ INFORMATIKE

QFD METODA – PRIMER

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

I година Назив предмета I термин Вријеме II термин Вријеме Сала Математика : :00 све Основи електротехнике

No Slide Title

Универзитет у Београду Факултет организационих наука Коначан распоред испита за предмете Мастер академских студија Испитни рок: ОКТОБАР Предмет

I година Назив предмета I термин Вријеме Сала Математика :00 све Основи електротехнике :00 све Програмирање

CENOVNIK USLUGA maj godine

1 и 2 ДЕЦЕМБАР 2012.ГОДИНЕ УДРУЖЕЊЕ ПРОФЕСОРА ИНФОРМАТИКЕ СРБИЈЕ У САРАДЊИ СА УПРАВОМ ЗА ДИГИТАЛНУ АГЕНДУ ПРОГРАМ РАДА КОНФЕРЕНЦИЈЕ ''ПРИМЕНА СЛОБОДНО

Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос

НАЦРТ РЕАЛИЗАЦИЈЕ СТУДИЈСКОГ ПРОГРАМА ОСНОВНИХ СТРУКОВНИХ СТУДИЈА ШКОЛСКЕ 2010/11

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s

Универзитет у Београду Факултет организационих наука Распоред испита за предмете мастер академских студија Испитни рок: Јун Предмет Датум Време

Odluka o oglasavanju

Projektovanje informacionih sistema i baze podataka

Organizacija koja uči Nemanja Davidović

SEEDS template

Microsoft PowerPoint - Strukturni dijagrami, Gantogram - Planiranje [Compatibility Mode]

РАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена ) Прва година: ПРВА ГОДИНА - сви сем информатике Име пр

Broj: 01-12/2014 Datum: Direktor preduzeća Phoneco doo, Marko Burgić dipl. Oecc., objavljuje OPŠTE USLOVE USTUPANJA PRAVA NA KORIŠĆENJE POS

Kada pokrenete Windows 8 koristeci normalan nacin, nekoliko aplikacija i usluga automatski ce se i pokrenuti u pozadini. Ti programi ukljucuju i drajv

Табела 4.2 Обухваћеност сваког програмског исхода учења у оквиру предмета појединачних студијских програма У овом прилогу је процењен допринос сваког

untitled

PROMENLJIVE, TIPOVI PROMENLJIVIH

FAMILY SAFETY - PORODIČNA BEZBJEDNOST Program Family safety veoma je koristan za ograničavanje sadržaja i aplikacija koje učenici mogu koristiti na šk

Rano učenje programiranj

Modernisation of Post-Graduate Studies in Chemistry and Chemistry Related Programmes Tempus UK-Tempus-JPCR WORK PACKAGE 3 WP Type 3,3

Model podataka

ImgBurn - instalacija i narezivanje ISO datoteke Mali alat pomocu koga jednostavno sa par klikova misa mozemo narezivati raznorazne medie... ImgBurn p

PowerPoint Presentation

Microsoft PowerPoint - SEP-2013-CAS02

Uputstvo za korištenje Moja webtv Smart TV aplikacije Moja webtv aplikacija dostupna je za korištenje putem Web Browsera, na Play Store-u (za mobilne

Увод у организацију и архитектуру рачунара 1

НАСТАВНИ ПЛАН ОДСЕКА ЗА ТЕЛЕКОМУНИКАЦИЈЕ И ИНФОРМАЦИОНЕ ТЕХНОЛОГИЈЕ 2. година 3. семестар Предмет Статус Часови (П + В + Л) Кредити 3.1 Математика 3 O

Dan02_Dio01 - Koncept informacionog sistema za energetsku efikasnost

Структура модула студијског програма МЕНАЏМЕТ И ОРГАНИЗАЦИЈА

JEZGRO OPERATIVNOG SISTEMA I UPRAVLJANJE PROCESIMA 1. Šta je jezgro, a šta proces? Jezgro (nukleus ili kernel) je osnovni deo svakog operativnog siste

PowerPoint Presentation

GTM plan MS&HT coop

Negativni naslovi, pozitivan ton kako mediji u Srbiji vide vojne vežbe, mirovne misije i IPAP Pavle Nedić Beograd, 2019

Slide 1

UNIVERZITET UKSHIN HOTI PRIZREN FAKULTET RAČUNARSKIH NAUKA PROGRAM: TIT - BOS NASTAVNI PLAN-PROGRAM SYLLABUS Nivo studija Bachelor Program TIT-Bos Aka

Microsoft Word - pravila RTGS-precišcen tekst2007 (2).doc

Студијски програм: ИНДУСТРИЈСКО ИНЖЕЊЕРСТВО

Студијски програм: ИНДУСТРИЈСКО ИНЖЕЊЕРСТВО

Microsoft Word - KORISNIČKA UPUTA za pripremu računala za rad s Fina potpisnim modulom_RSV_ doc

ИНTEРНA РEВИЗИJA

Slide 1

Microsoft Word - IzvjestajPlakalovic

Техничко решење: Метода мерења реактивне снаге у сложенопериодичном режиму Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић Аут

DOO ZA SPOLJNI I UNUTRAŠNJI PROMET Futoška 33, Novi Sad, Srbija Tel/fax: +381 (021) , , Skladište: Bajči Žilinskog br. 23 e

UPUTSTVO ZA KRETANJE KROZ EON KORISNIČKI INTERFEJS 1

ASAS AS ASAS

MOLIMO DA NARUDŽBE ŠALJETE ISKLJUČIVO NA MAIL ADRESU CJENIK MOTO GSM vrijedi od: Naziv Moto E 3 Play Opis MPC Cijena Pro

Nastavna cjelina: 1. Jezik računala Kataloška tema: 1.1. Bit 1.2. Brojevi zapisani četvorkom bitova Nastavna jedinica: 1.1. Bit   1.2. Brojevi zapisan

Техничко решење: Метода мерења ефективне вредности сложенопериодичног сигнала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић

Računarski praktikum II - Predavanje 03 - Apache Web server

Instalacija R-project softvera Univerzitet u Novom Sadu April 2018 Contents 1 Uvod 2 2 Instalacija R: Instalacija

Microsoft PowerPoint - Topic04-Serbian.ppt

Inženjering informacionih sistema

Транскрипт:

Matematička gimnazija Nedelja informatike v2.0 18. decembar 2015.

Šta je kernel? Operativni sistemi Znamo da je operativni sistem (OS) softver koji se bavi najnižim operacijama na računaru i koordinira njegovim radom Postojalo je mnogo operativnih sistema kroz istoriju, danas se koriste... Microsoft Windows Linux distribucije Apple OS X i Apple ios Google Android...i mnogi drugi Kako oni zapravo rade?

Šta je kernel? Operativni sistemi Dizajn i arhitektura operativnih sistema je otvoren problem u kompjuterskim naukama Od ranih vremena i OS-ova kao što su OS/360 i CP-67 pa do modernih istraživačkih, svaki je donosio drugačije boljitke i balans funkcionalnosti Operativni sistemi su takođe prisutni na embedded uređajima i na ponekad neočekivanim mestima Aparati za kafu rade pod nekim operativni sistemom Baseband procesor na vašem telefonu koristi neki real-time OS za koji verovatno niko od nas nije čuo

Šta je kernel? Kernel - srž cele stvari Kernel je glavna komponenta operativnog sistema Bavi se zadacima koji su najbliže hardveru i najprljaviji direktno upravlja periferijama, omogućava multi-tasking, bavi se upravljanjem memorijom... Operativne sisteme je teško podeliti na pravi način jer mogu isuviše da variraju S druge strane, kerneli su nešto uže specijalizovani i možemo da razlikujemo neke grube opšteprihvaćene kategorije

O podeli kernela Kernele možemo (a i ne moramo) podeliti na: Monolitni kerneli, Mikrokerneli o kojima ćemo danas pričati i Hibridni kerneli. Mnogi kerneli koji postoje i koji su postojali, čak i dosta njih koji su trenutno u upotrebi, ne mogu se svrstati tačno u jednu od kategorija Surovost modernih procesorskih arhitektura i želja za optimizacijom, bezbednošću i sl. naterala je programere i softverske arhitekte da se šetaju po tankim linijama ove kategorizacije Ipak, ovakva podela će nam pomoći da malo bolje razumemo koncepte koji slede

O podeli kernela Nivoi izvršavanja na procesorima Kako bi se postigla separacija koda koji se izvršava na procesoru, procesorske arhitekture odavno podržavaju nivoe izvršavanja Uglavnom postoje bar dva privilegovani i neprivilegovani nivo Kod operativnog sistema se izvršava u privilegovanom nivou, a kod koji potiče od korisnika sistema se izvršava u neprivilegovanom Ovim se postiže da korisnički kod ne može pristupiti poverljivim kernelskim podacima, direktno petljati oko hardvera i slično Prelazak između nivoa je skup i to je glavna komplikacija

O podeli kernela Monolitni kerneli Monolitne kernele karakteriše činjenica da se sav kod njihovih komponenti drajvera, mrežnih biblioteka i raznih drugih delova izvršava zajedno u privilegovanom nivou Ovo je dobro jer se znatno smanjuje broj kontekstnih prelaza odnosno prelaza između nivoa izvršavanja Ovo nije dobro jer je sigurnost i stabilnost sistema kompromitovana: bag ili propust u drajveru utiče na ceo sistem! Komponente često komuniciraju deljenom memorijom Primeri: Linux, DOS...

O podeli kernela Monolitni kerneli ilustracija Кориснички простор Апликација 1 Апликација 2 Кернелски простор Scheduling Мрежни протоколи Руковођење меморијом... vmlinuz GPU драјвер... Фајл систем кернелски модули

O podeli kernela Hibridni kerneli Hibridni kerneli su catch-all grupa mešavina monolitnih i mikrokernela, sa raznim balansom između te dve arhitekture Često su kerneli unutar popularnih i sveprisutnih OS-ova hibridni jer im to omogućuje da iz praktičnih razloga uzmu bolje iz obe varijante Primeri: Windows NT (kernel unutar Microsoft Windows-a), XNU (kernel unutar Mac OS X-a i ios-a),...

O podeli kernela Mikrokerneli Kod mikrokernela se u privilegovanom procesorskom nivou nalaze samo najosnovnije funkcije Drajveri, mrežni protokoli, fajl sistemi, memorijski upravljači i sl. su najobičniji procesi kojima kernel dozvoljava neke interesantne stvari Sistem je stabilniji krešovanje audio drajvera ne znači da se računar restartuje i prekine me u gledanju novog spota Sandre Afrike Sistem je sigurniji bezbednosni propusti su većinom mnogo manje kritičnosti Sistem je sporiji mnogo kontekstnih prelaza, nema deljenja memorije pa se moraju slati poruke između komponenti, itd.

O podeli kernela Mikrokerneli - ilustracija Кориснички простор GPU драјвер Мрежни протоколи Фајл систем Руковођење меморијом... Апликација 1 Апликација 2 Кернелски простор Хардверски I/O (DMA, IRQs) Синхронизација IPC

Zašto su mikrokerneli kul? Sigurnost Generalno, mikrokerneli su sigurniji od svojih monolitnih sunarodnika Zbog vrlo snažne izolacije između raznih komponenti, propusti u nekima od njih imaju ograničen doseg Koordinator celog sistema, tzv. mikrokernelski server je jedina komponenta koja mora biti bez propusta kako bi se osigurala vrlo bezbedna arhitektura Ovo omogućuje nekim zaluđenicima da formalno dokažu ispravnost mikrokernela ili njegovog interfejsa

Zašto su mikrokerneli kul? CVE-2010-3904 Kao primer uzimamo jedan od mnogobrojnih bagova u kodu Linux kernela koji omogućavaju napadaču da uradi neke ružne stvari Implementacija mrežnog protokola RDS u Linux kernelu nije proveravala datu destinacionu adresu prilikom kopiranja neke memorije Bilo je trivijalno dati RDS podsistemu adresu kernelske memorije i naterati ga da upiše proizvoljan kod u kernelski memorijski prostor Time napadač koji ima bilo kakav pristup Linux sistemu može da preuzme potpunu kontrolu nad njim

Zašto su mikrokerneli kul? CVE-2010-3904

Zašto su mikrokerneli kul? CVE-2010-3904 Pod mikrokernelskom arhitekturom, ovakav propust u opskurnom mrežnom protokolu ne bi mogao da dovede do katastrofalne kompromitacije sistema Nažalost, u pitanju nije usamljen primer: CVE-2013-2094 je koristio bag u profajleru ugrađenom u Linux kernel za dobijanje root pristupa, CVE-2015-1328 je u iste svrhe koristio bag u kodu za OverlayFS fajl sistem, CVE-2015-1318 je dozvoljavao korisnicima da kompromituju sistem pomoću crash reporting alata zvanog Apport, Na slične bisere u Windows NT-u ne vredi trošiti reči.

Zašto su mikrokerneli kul? Stabilnost Iz sličnih razloga, stabilnost sistema je povećana Mikrokernelski server restartuje sistemske procese koji krešuju, što znači da, na primer, u slučaju baga u nekom drajveru ne dolazi do kernel panic, blue screen of death situacije ili smrzavanja smartfonova Ovo je posebno bitno za servere i slične sisteme koji moraju biti stalno dostupni Andrew S. Tanenbaum, poznati profesor kompjuterskih nauka i autor MINIX operativnog sistema, kritikovao je nestabilnost ovakvih monolitnih arhitektura rečenicom kada je poslednji put Vaš TV uređaj krešovao i morao da se restartuje?

Zašto su mikrokerneli kul? Elegancija Iako diskutabilne važnosti, valja napomenuti da su mikrokernelski dizajnovi uglavnom mnogo elegantniji od monolitnih i hibridnih Jasna separacija komponenti omogućuje mnoge estetski prijatne nivoe apstrakcije i enkapsulacije koje nije moguće postići u alternativnim arhitekturama Dobar primer je upravljanje memorijom u L3/L4 porodici mikrokernela koju je dizajnirao Jochen Liedtke Kroz koncept rekurzivnih memorijskih strana i formalno definisanim operacijama nad njima, Liedtke je dizajnirao sistem kojim se razni specijalizovani upravljači memorijom mogu pokrenuti kao sistemski procesi bez gubitka sigurnosti

Zašto mikrokerneli nisu kul? Brzina Nažalost, OS-ovi bazirani na mikrokernelima su kroz istoriju bili mnogo sporiji od hibridnih i monolitnih Činjenica da se skoro sve kernelske funkcije sem najbitnijih izvršavaju u korisničkom prostoru povlači i veliki broj kontekstnih prelaza (koji traju dosta na procesorima) Mikrokernele često dizajniraju zaluđenici za lepom, čistom arhitekturom i performanse im nisu prioritet Pritom, zbog nesrećnog toka istorije, procesorske arhitekture su optimizovane u pravcu boljeg rada sa monolitnim i hibridnim kernelima

Zašto mikrokerneli nisu kul? Nepraktičnost Iako imaju svojih prednosti, mikrokerneli su mahom nepraktični za većinu general-purpose upotreba Dizajn message passing šema za komunikaciju među komponentama je nezahvalan posao koji usporava razvoj Većina prednosti koje se dobijaju nisu dovoljne da opravdaju razvoj novog, brzog, modernog i praktično upotrebljivog mikrokernela Monolitni kerneli su toliko sveprisutni da se često u nov sistemski softver ugrađuju određene pretpostavke koje otežavaju moguću adopciju mikrokernela

Zašto mikrokerneli nisu kul? Nerasprostranjenost Najzad, mikrokerneli pate i od kokoška-jaje situacije Šta me gledate, pa nisam ja smislio taj naziv Nisu mnogo rasprostranjeni i zbog toga nema mnogo inicijative da se radi na unapređivanju, a unapređivanje je ono što je potrebno kako bi mogli da pariraju trenutnim monolitnim i hibridnim rešenjima Većina mikrokernela koji postoje su ili samo istorijski važni, ili su napravljeni kao istraživački projekti kojima nije ni bio cilj da postanu spremni za generalno korišćenje Iz ovog razloga, cena koju je potrebno platiti za dodatnu stabilnost i sigurnost je prevelika i nema ekonomskog ni zdravorazumnog smisla

Značajni mikrokerneli L3/L4 porodica L3 i L4 su porodice mikrokernela od kojih postoje nekoliko varijanti Imaju bogatu istoriju i često se kerneli zasnovani na njima koriste unutar nekih specijalizovanih industrija i upotreba sel4 iz L4 porodice je jedinstven po tome što je u pitanju jedan od retkih praktičnih mikrokernela koji su pritom i formalno dokazani Formalno dokazani znači da je matematički dokazano da su interfejsi kernela korektni i da garantuju bezbednost i stabilnost Iz ovog razloga je sel4 našao primenu u industrijama poput vojnih primena i razvoja bespilotnih letelica Ove porodice su takođe uvele i inovativne koncepte, posebno one koji su poboljšale brzinu današnjih mikrokernela

Značajni mikrokerneli Mach Mach je stari mikrokernel razvijen od strane Carnegie Mellon univerziteta davnih osamdesetih godina prošlog veka Značajan je zbog toga što je njegova arhitektura oformila arhitekturu nekih današnjih general-purpose hibridnih i mikrokernela XNU, hibridni kernel koji pokreće sve Apple uređaje je baziran na Mach kernelu, s tim što se u njemu korisnički procesi takođe izvršavaju u kernelskom prostoru što efektivno negira većinu prednosti koje mikrokernelska arhitektura pruža ali nudi značajne dobitke u brzini GNU Hurd, Unix-kompatibilni operativni sistem koji je skoro dobio svoje prve verzije koje mogu praktično da se koriste kao serverski i desktop sistemi, baziran je na Mach-u

Trenutno stanje Tekuća istraživanja u ovoj oblasti Mnogi istraživački mikrokerneli pokazali su da imamo načine da skoro neutrališemo performansne probleme koje ova arhitektura predstavlja Xen, softver koji se koristi na velikom broju servera, koristi mikrokernelski dizajn, i pokazano je da u nekim situacijama adaptirani ( paravirtuelizovani ) Linux kernel pod Xen-om može da neke operacije izvršava brže nego Linux koji radi direktno na hardveru! Ipak, verovatnoća da će se mikrokernelski sistemi koristiti u skorijoj budućnosti je nepostojeća Cela industrija, posebno u vezi sa starim i inertnim konceptima kao što su operativni sistemi, pati od velikog i teškog nasleđa u vidu starih sistema koji bi mogli bolje da se od nule napišu

Trenutno stanje NK NK (novi kernel) je ideja koju sam izložio u svom maturskom radu mikrokernelska arhitektura koja se oslanja na softver, ne hardver da pruži izolaciju između komponenti sistema Izvršavanjem koda koji je u mašinskom obliku, koji može da pokuša da uradi bilo šta na sistemu, nije moguće izbeći da sam procesor, kroz nivoe izvršavanja, mora to da kontroliše Međutim, čuvanjem koda u nekom međuobliku u kome se takve operacije ne mogu predstaviti, možemo da ga izvršimo u kernelskom nivou tako da i dalje imamo sve garancije sigurnosti Glavna ideja je brutalno smanjiti performansne probleme sa kontekstnim prelazima kroz softverski, a ne hardverski održanu bezbednost

Završna reč Nasleđe i paraliza Nasleđe i paraliza su reči kojima je u jednom humorističnom govoru Gary Bernhardt (neki lik koji drži humoristične govore) sumarizovao stanje naših računarskih sistema Nasleđe jer imamo stare sisteme i dalje u upotrebi, još starije sisteme sa kojima moramo da održavamo kompatibilnost, i sl. Paraliza jer zbog ovih zahteva za kompatibilnošću i interoperacijom sa njima ne možemo da uvedemo velike promene U pitanju je veliki problem, izazvan brzinom kojom je industrija eksplodirala i zbog koje nije imala vremena za promenu mnogih starih arhitekturalnih odluka koje sada čine mnogo više štete nego koristi

Završna reč Mikrokerneli su zapravo kul Većina problema zbog kojih danas mikrokernelski operativni sistemi nisu upotrebi je odavno nestala Procesori su sada brži Ljudi su sada manje glupi Kada bi ovakvi praktično upotrebljivi OS-ovi postojali, mnogo problema koje trenutno imamo bi nestala ili bila smanjena Manje kritičnih sigurnosnih propusta koji mogu da izbuše svaki računar koji koristi određeni OS Manje neobjašnjivih odbijanja saradnje od strane računara baš kada treba da za 3 sata završite taj sastav (ili prezentaciju za Nedelju informatike) Sistemi koji se lakše održavaju i olakšavaju život programerima na duge staze

Završna reč Mikrokerneli su zapravo kul Nažalost, kao što je već spomenuto, investicija koju imamo u trenutnim sistemima nam ne dozvoljava da ozbiljno razmišljamo o njihovoj promeni zbog haosa koji bi usledio NK je mikrokernel za početak namenjen smartfonovima, gde je taj problem manje izražen i gde je lakše razviti takvo rešenje i neprimetno ga poturiti korisnicima Načelno, to je svakako nešto što ima jako malu šansu da uspe iz razloga koje smo spomenuli Ipak, ako dođete do bilo kakve inovacije koja funkcioniše bolje i elegantnija je od postojećih rešenja, najveća usluga koju možete da učinite sebi i drugima je da je predstavite i progurate bez obzira na to koliko to suludo zvuči Postojeća rešenja su uglavnom tako i počela :)

Završna reč Pitanja? Hvala na pažnji!