1 / 25

System operacyjny i sterowniki urządzeń

System operacyjny i sterowniki urządzeń. System operacyjny – przypomnienie podstaw. Historia rozwoju systemów operacyjnych - zagadnienia. Kernel: RT / Monolithic / Microkernel. RT Kernel. Kernel: RT / Monolithic / Microkernel. Monolitic Kernel. Kernel: RT / Monolithic / Microkernel.

shanae
Download Presentation

System operacyjny i sterowniki urządzeń

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. System operacyjny i sterowniki urządzeń

  2. System operacyjny – przypomnienie podstaw

  3. Historia rozwoju systemów operacyjnych - zagadnienia

  4. Kernel: RT / Monolithic / Microkernel RT Kernel

  5. Kernel: RT / Monolithic / Microkernel Monolitic Kernel

  6. Kernel: RT / Monolithic / Microkernel Microkernel

  7. Linux Kernel

  8. Start systemu Linux • Faza BootLoadera – inicjalizacja sprzętu oraz przekazanie kontroli do systemu • Start jądra: • Kernel_entry / stext – procedura w assemblerze inicjalizująca start jądra. Znajduje się zazwyczaj w: kernel/head.s • Start_kernel(), orginalnie w pliku init/main.c – inicjalizacja i uruchomienie wątku „idle” (process id 0) • wywołanie funkcji setup_arch(), inicjalizacja wybranych zasobów zależnych od platformy jak: rozpoznanie CPU, zidentyfikowanie ramdisk, inicjalizacja stronicowania • trap_init() – inicjalizacja procedur obsługi sytuacji wyjątkowych • init_IRQ() – inicjalizacja kontrolera przerwań • Time_init – inicjalizacja timerów • Console_init() – inicjalizacja urządzenia szeregowego do obsługi konsoli • Calibrate_delay() – kalibracja dla funkcji udelay() • Inicjalizacja dodatkowych sterowników urządzeń • Inicjalizacja przestrzenii użytkownika: • Inicjalizacja i przekazanie sterowania do procesu init

  9. Sterowniki urządzeń w systemie Linux

  10. Typy sterowników dla systemu Linux Character Device Drivers – sterowniki urządzeń sekwencyjnych. Odwołanie do urządzeń sekwencyjnych możliwe przez prosty mechanizm wywołania funkcji: open, reak, write lub bezpośrednio. Block Device Drivers – sterowniki urządzeń blokowych. Głównie do obsługi urządzeń o swobodnym dostępie. Wymiana danych poprzez bloki. Aplikacja nie może bezpośrednio odwoływać się do sterownika, tylko przez system plików. Network Device Drivers – sterowniki sieciowe. Osobny typ ze względu na specjalne traktowanie stosu protokołów sieciowych. Aplikacje nie maja bezpośredniego dostępu do tych sterowników, tylko przez podsystem sieciowy.

  11. Przykład sterownika UART str.1

  12. Przykład sterownika UART str.2 P. Raghavan, A. Lad, S. Neelakandan, Embedded Linux System Design and Developement, Auerbach Publications 2006

  13. Przykład sterownika UART str.2 P. Raghavan, A. Lad, S. Neelakandan, Embedded Linux System Design and Developement, Auerbach Publications 2006

  14. Windows – różne koncepcje sterowników • MS DOS – Tryb rzeczywisty. Sterownik to plik wykonywalny pracujący także w trybie rzeczywistym. Informacja zebrana centralnie w pliku CONFIG.SYS. • MS Windows – nakładka na DOS. Steroniki to pliki wykonywalne .DRV. : • MS Windows 3.x – wielozadaniowość. Koncepcja maszyny wirtualnej w której uruchamiają się aplikacje MS DOS (tryb virtual 8086). Pliki typu VxD.386. Wprowadzono tryb użytkownika (user-mode) i tryb jądra (kernel-mode). • VxD – Virtual Device Driver • MS Windows NT (1990) – Sterowniki niekompatybilne z VxD. Pełny tryb chroniony • MS Windows 95/98 – VxD wciąż aktualne. Powstaje model WDM • WDM – Windows Driver Model • MS Windows XP – Aktualne WDM. • DDK – Driver Development Kit

  15. Windows 98 VxD

  16. Windows XP

  17. Rodzaje sterowników w systemie Windows

  18. Podstawy struktury sterowników WDM IRP – I/O Request Packet W. Oney, Programmint the Microsoft Windows Driver Model, Microsoft Press 2003

  19. Wieloprogramowanie i wieloprzetwarzanie

  20. Wielowątkowość – rodzaje i wsparcie sprzętowe Interleaved multithreading Blocked multithreading Simultaneous multithreading (SMT) Chip multiprocessing

  21. Wielowątkowość – rodzaje i wsparcie sprzętowe str.2

  22. Pentium 4 hyperthreading i IBM Power5 Pentium 4 – hyperthreading = SMT z dwoma wątkami. IBM Power5 – SMT + multiprocessing

  23. Przykład IBM Power5

  24. Polecana literatura 1) W. Oney, Programming the Microsoft Windows Driver Model, Microsoft Press 2003 2) P. Raghavan, A. Lad, S. Neelakandan, Embedded Linux System Design and Development, Auerbach Publications 2006 3) P. Orwick, G. Smith, Developing Drivers with the Windows Driver Foundation, Microsoft Press 2007 4) D. Bovet, Understanding the Linux Kernel, O’Reilly 2005 5) W. Stallings, Organizacja i architektura systemu komputerowego, WNT 2004

  25. dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 107, tel. 449 55 44 KONIEC

More Related