Inleiding Practicum Operating Systems

Vergelijkbare documenten
Inleiding Practicum Operating Systems

Van dvd naar webserver. Marcel Nijenhof 18 Juli

Inhoud. Geschiedenis / evolutie van OpenEmbedded en Yocto Overzicht van de architectuur en concepten Persoonlijke ervaring

Virtualisatie. en KVM. Oscar Buse 14 februari 2017 NLUG

Werkomgeving. Android Studio. Android - werkomgeving 1/6

A Quick Start Guide: AVR programmeren

Android, een telefoon operating system ook voor netbooks?

Programmeren in C ++ met wxwidgets les 5

Arjen Glas Stage: Viaict. Opdracht virtualisatie I44

Raspberry pi snel start handleiding

Bestandssystemen. yvan vander sanden. 16 maart 2015

Debugging in embedded en native systemen met GDB

Taakklasse 3 ALAa installeren en onderhouden systemen Corné Tintel G GMB13B Medewerker beheer ICT

Oefening 1: hardware block devices (zoals harde schijven) herkennen

Software. Opdrachten - Deel 1. Naam: Klas: 2015 versie:concept-3.4.2

High Performance Computing

Raspberry Pi HCC- Haaglanden Tim Woldring

Geheugen en Adressering. Binding. Binding (2) Logische en Fysieke adresruimten. relocatie register. Dynamic loading

1. BIOS. In de setup wordt aangegeven waar de bootsector is. Na de BIOS wordt de Bootsector gelezen en uitgevoerd. 2. BOOTSECTOR

Knoppix Kookboek 3.2. voor hardeschijf installatie alleen Knoppix3.2. door Wim Hegeman.

Allereerst: W10TP heeft geen installatie-code nodig!

De Linux Boom structuur

Operating Systems Linux Blok 7a Partities Erik Seldenthuis

Memory Management. Virtual Memory. Eisen Memory Management. Verdelen geheugen over meerdere processen

SELinux (project 073)

Open Enterprise Server 2 en vsphere Best Practises. Michael Wilmsen

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Technische Specificaties nieuwe Unix Applikaties

Inhoudsopgave: Whisper380-computerhulp

Knoppix kookboek 3.2. Dualboot Windows XP met Knoppix 3.2 op 1 hardeschijf

EmSE presentatie. Starten met de ATtiny2313: Een RGB powerled driver Kees Moerman, 13 juli 2010

Virtualizatie bij SIN

Nieuwe UEFI Bios en GPT

Windows XP Migratie opties. Bart van Dijk

Microcontrollers. Robert Langenhuysen, PA0RYL

Handleiding installatie en gebruik. Ahsay OBM. Windows server Apple OS X Linux en UNIX-varianten

Techniek van de digitale adaptieve Centrale Eindtoets: Afnamespelers Facet

in Operating System Concepten

Systeemeisen Facet 6.0

in Operating System Concepten Doel van een Operating System Interrupts 3-Lagen model spooling (Simultaneous Peripheral Operation On Line)

Gebruiker afschermen van de hardware

Bescherming van (software) IP bij uitbesteding van productie

Windows Basics. yvan vander sanden. 22 februari 2015

SBO Nilda Pinto BASISKENNIS BESTURINGSSYTEMEN (MBI 1) PERIODE MATERIAAL BOEK SOFTWARE VOOR ICT SUPPORT 2 EN 3 (HANS VAN RHEENEN)

UBUNTU 8 installatie. 13/10/ ivowebschool.be/ /205bc10d-ef8e-4a 1/14. Onderwerpen

Systeem specificaties voor MA software

KORTE HANDLEIDING VOOR. de installatie van Nokia Connectivity Cable Drivers

1.2 Belangrijke besturingssystemen

Gentoo linux. Introductie. Gentoo is anders. LinuxFocus article number door Guido Socher (homepage) Over de auteur:

Gebruiksaanwijzing AVR910 USB Programmer

Kurzweil 3000 op Mac OS X

SMP50-200/201 INGENIA HORIZON 5 SMARTPHONE PARTITIE FIX INSTRUCTIES

Technische Referentie - V&A TSD-QA89 (2011/11)

Het installeren van Mac OS X 10.5 Leopard

SmartTV Forensics. M. Roeloffs A. Boztas. Nederlands Forensisch Instituut

Installatiehandleiding AhsayOBM Unix / Linux. v

Raspberry Pi de eerste stappen.

tiptel 545/570 office tiptel 545/570 SD PC Software en Driver Installatie In Windows XP/ Windows 7 (32/64 Bit)

Super GRUB2 Disk Super GRUB2 Disk

Erik Poll Martijn Warnier.

UEFI Unified Extensible Firmware Interface

Linux Mint Cinnamon 18.1 Ervaringen. Bart van Dijk

ES1 Project 1: Microcontrollers

Computerarchitectuur en netwerken Toets 1 4 okt

MS Virtual pc 2007 Handleiding

VMware vsphere 5. What s New! Bram de Laat, Marek Zdrojewski, Jan van Leuken

DSP - workshop µbrd. 1 Inleiding Inleiding Doelstellingen Hardwarebenodigdheden Softwarebenodigdheden...

RTC Opleidingen Beckhoff TwinCAT. Voorbereiding

Linux Server Installatie

Handleiding software USB PIC DEV. BOARD

Een externe stick / disk formatteren voor OS X en Windows

2 Installatie Windows Server 2008 R2 Standard

Geheugenbeheer. ICT Infrastructuren 2 december 2013

CPU scheduling : introductie

Friesland College Leeuwarden

Assemblage van een computer. Willem Beeuwsaert m.m.v. bvba Deprouw Computers Zwevezele

Software hoofdstuk Wat is de functie van een besturingssysteem? 2. Welke hoofdtaken heeft het besturingssysteem?

NB Sweex Card Reader 16 in 1 USB 2.0

De AVR Microcontroller programmeren met GCC

We beginnen met een strikvraag: Welk van de volgende zijn bestanden?

Deze handleiding is bedoeld voor PC-gebruikers met minimaal Pentium CPU (of compatibel) of MAC-gebruikers met minimaal PowerPC.

Belangrijkste ideeën/concepten uit OS, incl. proces

Machinevirtualisatie. Raphael kena Poss Universiteit van Amsterdam. Besturingsystemen

Transcriptie:

Inleiding Practicum Operating Systems Mattias Holm & Kristian Rietveld

Tot nu toe Shell: verkennen interface tussen user-space en kernelspace. User space System calls Kernel space

Doel van deze presentatie In de komende 3 practicumopdrachten zullen we gaan werken met een speciaal geschreven operating system. Kort introduceren van: - Hardware. - Kernel. - Tools. - De opdrachten.

Hardware

Hardware We hebben gekozen om te werken met de ARM architectuur. Waarom? Iets anders dan een normale computer. Er zijn meer ARM chips actief dan Intel chips.

Waar wordt ARM gebruikt? Feature phone / smart phone / tablet. Televisies / set-top boxes. Huis/tuin/keuken routers. Home/Small-Business NAS. Auto's. Embedded / microcontrollers. Etc.

ARM platforms Het bedrijft achter ARM verkoopt zelf geen chips, alleen licenties. Chips verschijnen in platforms: - NVidia Tegra - TI OMAP - Apple A4, A5, A5X,... - Samsung Exynos - Qualcomm Snapdragon - Etc.

TI OMAP3 Onder andere gebruikt in: - Nokia N900, Nokia N9 - Palm Pre - Motorola Droid - Nook color (OMAP2: N800, N95). Bron: http://www.n9nokia.nl/

BeagleBoard C4 OMAP3530 ARM Cortex-A8 (600MHz) 256MB RAM 256MB Flash PowerVR SD card slot Bron: http://beagleboard.org/hardware

De kernel

Hoe boot het systeem? Twee bootloaders op de interne flash chip: - 1 st stage: X-loader - 2 nd stage: u-boot - U-boot kan kernel in het geheugen laden vanaf flash of SD card en jumpt naar de kernel.

Hoe boot het systeem? In ons geval: - De SD kaart heeft twee partities: 1 FAT, 1 WFS. - U-boot laadt kernel.bin van de FAT partitie op de SD kaart in het geheugen. - U-boot springt naar begin kernel. - Kernel mount root file system (WFS partitie) en start init.

Communicatie met systeem Geen USB stack; dus geen USB toetsenbord of muis. Framebuffer output (HDMI) werkt wel maar zeer gelimiteerd (geen fonts). I/O geschiedt via serial port (UART).

SMACK kernel Features: - 32-bit, memory protection. - (Pre-emptive scheduling). - VFS (FAT16, WFS, DevFS). - User-space; ELF binaries. - SD kaart driver.

Tools

Kernel compileren We doen development op een Intel machine, maar willen compileren naar ARM code. Dit wordt gedaan dmv een cross-compiler. - Vergelijk de Alpha en RISC-V compilers gebruikt bij Computer Architectuur. We maken gebruik van gcc, target arm-none-eabi, dit geeft ons de arm-none-eabi-gcc.

Kernel compileren (vervolg) Om te compileren maar drie commando's nodig. mkdir build cmake \ -DCMAKE_TOOLCHAIN_FILE=../config/arm-none-eabi-gcc.cmake \ -DBSP=bsp/beagle.cmake.. make

Bestanden kopiëren build/kernel.bin moet worden geplaatst op de FAT partitie van SD kaart. - Of fysiek, of op sdcard.img. User-space utilities moeten op de WFS partitie worden geplaatst. FAT partitie SD kaart bevat uiteindelijk: - kernel.bin - boot.scr

Bestanden kopiëren (verv.) Doe dit een paar keer met de hand. Schrijf er daarna een shell script voor. #!/bin/sh mcopy -o -i sdcard.img@@1048576 kernel/build/kernel.bin :: wfstool sdcard.img@@5242880 put kernel/build/apps/ls ls

Starten emulator qemu-system-arm -M beagle \ -drive file=/data/software/beagle-nand.bin,if=mtd,format=raw \ -drive file=sdcard.img,if=sd,format=raw -s -nographic

Starten hardware Sluit serial line aan. Plaats de SD kaart. Ga na dat minicom draait. Power on.

Debuggen Het makkelijkst is om printf-debugging toe te passen. Mocht je al ervaren zijn met gdb, je kan gdb aan qemu koppelen: target remote localhost:1234 file /path/to/kernel.elf Opgelet: gebruik de ARM gdb! arm-none-eabi-gdb.

Installeren software In zaal 411 is alle software geïnstalleerd en hebben we volledige flexibiliteit (ook voor aansluiten hardware). In zalen 302/304/306/308/huisuil (NUWD) is ook alle software geïnstalleerd. Hardware aansluiten is hier echter niet mogelijk. Zelf installeren op Linux (of Mac) laptop met behulp van Installation Guide. Virtual Machine images met installatie zoals die in zaal 411 worden nog beschikbaar gemaakt in VirtualBox formaat.

Overzicht opdrachten

Overzicht opdrachten Opdracht 2: Processes - Deadline: 1 april Opdracht 3: Virtual Memory Management - Deadline: 29 april Opdracht 4: File Systems - Deadline: 20 mei

Processes Startpunt: kernel met First Come First Serve scheduler. Te implementeren: - Round Robin scheduler. - Multi-Level Feedback Queue scheduler, bestaande uit FCFS en RR. - Bijhouden wait time per proces. Vervolgens voer je een aantal experimenten uit om de performance van de verschillende schedulers te bestuderen.

Virtual Memory (Onder voorbehoud) Startpunt: er wordt 2 MB aan aaneengesloten geheugen gealloceerd voor de page table voor elk proces. - Dit komt omdat alle Level2 page tables vooraf worden gealloceerd. - Dit beperkt het aantal processen dat we gelijktijdig in het geheugen kunnen hebben. Doel: pre-allocatie vervangen met dynamische allocatie. We krijgen dan echte paged page tables.

File Systems Startpunt: incomplete implementatie WFS. Te implementeren: - Write support. - Full subdirectory support (read, create, remove).

Algemeen Begin op tijd aan de opgaven! Als er problemen zijn, laat ons dat zo snel mogelijk weten. Ga er absoluut niet vanuit dat je alles in de werkcolleges afkrijgt.

Practicum Korte koffiepauze :) Daarna start practicum zalen 306/308, zaal 411.