For OS Experiments. What Do We Need? A Computer &

Slides:



Advertisements
Similar presentations
DEVICE DRIVER VINOD KAMATH CS691X PROJECT WORK. Introduction How to write/install device drivers Systems, Kernel Programming Character, Block and Network.
Advertisements

Computer System Laboratory
Building and Running Modules Ted Baker  Andy Wang CIS 4930 / COP 5641.
Run a Virtual Machine. Virtualization Have you ever imitated someone else? That's because your mind is thinking/ imagining as that person Same to a Computer:
CS 635 Advanced Systems Programming Spring 2005 Professor Allan B. Cruse University of San Francisco.
CS 635 Advanced Systems Programming Fall 2007 Professor Allan B. Cruse University of San Francisco.
Tutorial and Demos on Linux Virtual Machine
1 Netfilter in Linux Bing Qi Department of Computer Science and Engineering Auburn university.
Computer System Laboratory
EECS 498 Advanced Embedded Systems Lecture 4: Linux device drivers and loadable kernel modules.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 3 Desktop Virtualization McGraw-Hill.
WINDOWS 7 AND UBUNTU INSTALLING LINUX WITHIN WINDOWS.
To run the program: To run the program: You need the OS: You need the OS:
Red Hat Installation. Installing Red Hat Linux is the process of copying operating system files from a CD, DVD, or USB flash drive to hard disk(s) on.
1 Week 6 Intro to Kernel Modules, Project 2 Sarah Diesburg Florida State University.
Kernel module programming Nezer J. Zaidenberg. reference This guide is built on top of The Linux Kernel Module Programming Guide The guide is available.
Tanenbaum 8.3 See references
Operating System Program 5 I/O System DMA Device Driver.
National Taiwan University OS Project 0 & 1 Advisor: Dr. Chih-Wen Hsueh Student: Tang-Hsun Tu 台灣大學 網媒所 / 資工所 Wireless Networking and Embedded Systems Laboratory.
Kernel Development using Virtualization Installing VMWare and using a virtual machine to build and test a Linux Kernel.
Homework There will be 4 homework assignments There will be 4 homework assignments They will each be graded (There will be bonus) They will each.
Nachos Project 1 Start-up and System call
Nachos Projects Overview and Project 1 TA : 吳哲榮 2010/10/21.
Linux in a Virtual Environment Nagarajan Prabakar School of Computing and Information Sciences Florida International University.
Nachos Projects Overview and Project 1 TA : 王映智 2007/10/24.
Sogang University Advanced Operating Systems (Linux Module Programming) Sang Gue Oh, Ph.D.
1 What is a Kernel The kernel of any operating system is the core of all the system’s software. The only thing more fundamental than the kernel is the.
Kernel Modules. Kernel Module Pieces of code that can be loaded and unloaded into the kernel upon demand. Compiled as an independent program With appropriate.
Implementation of Embedded OS Lab3 Linux Kernel Modules.
Run your first C program.  Bring your computers to class  No prior programming experience is needed  Hours spent  Sakai  TAs.
Kernel module programming Nezer J. Zaidenberg. reference This guide is built on top of The Linux Kernel Module Programming Guide The guide is available.
General rules 1. Rule: 2. Rule: 3. Rule: 10. Rule: Ask questions ……………………. 11. Rule: I do not know your skill. If I tell you things you know, please stop.
LOGO System Call. Introduction System call is the mechanism used by an application program to request service from the OS. Users use it to communicate.
Nachos Project Assignment 1 Multi-programming TA: Hung-Leng Chen.
Exercise #1: Exploring Open- Source Operating Systems with Virtual Machines J. H. Wang Sep. 25, 2015.
1 Week 7 System Calls, Kernel Threads, Kernel Debugging Sarah Diesburg Florida State University.
National Taiwan University OS Project 0 & 1 Advisor: Dr. Chih-Wen Hsueh Student: Tang-Hsun Tu 台灣大學 網媒所 / 資工所 Wireless Networking and Embedded Systems Laboratory.
OS Project 0 February 25, Outline  Linux Installation  Linux Kernel Compilation  System Call Development  Kernel Modules / 452.
Docker and Container Technology
Lab 12 Department of Computer Science and Information Engineering National Taiwan University Lab12 – Driver 2014/12/16 1 /21.
Linux Kernel Programming (LKP). LKP New sub-course New sub-course We will learn together We will learn together Evaluation of this part of course will.
1 Intro to Kernel Modules and /proc Sarah Diesburg CS 3430 Operating Systems.
Finish up OS topics Group plans. Today Finish up and review Linux device driver stuff – Walk example again – See how it all goes together – Discuss talking.
Virtual Memory Mohammad H. Mofrad February 23, 2016
VIRTUAL MACHINE – VMWARE. VIRTUAL MACHINE (VM) What is a VM? – A virtual machine (VM) is a software implementation of a computing environment in which.
Welcome to the Virtual Machine Mark Cyzyk The Sheridan Libraries Johns Hopkins University.
Precept I : Lab Environment, Unix, Bash, Emacs
OS – Ex 1 Nezer J. Zaidenberg.
Exercise #1: Exploring Open-Source Operating Systems with Virtual Machines J. H. Wang Sep. 20, 2016.
EE516: Embedded Software Project 1
Implementation of Embedded OS
CSC227: Operating Systems
OS Homework 1 February 22, 2017.
Computer System Laboratory
Lecture 24 Virtual Machine Monitors
Containers and Virtualisation
Exercise #1: Exploring Open-Source Operating Systems with Virtual Machines J. H. Wang Sep. 19, 2017.
Hands-On Virtualization in the Classroom
Kthreads, Mutexes, and Debugging
Intro to Kernel Modules and /proc
Exercise #1: Exploring Open-Source Operating Systems with Virtual Machines J. H. Wang Sep. 21, 2018.
chapter 2 - Hello World Model
CS 6560 Operating System Design
Kernel – Device Drivers (part 2)
Lab 4 Kernel Module Operating System Lab.
CS 6560 Operating System Design Kernel Loadable Modules
Implementation of Embedded OS
Computer System Laboratory
Lab 1: Getting Started.
Presentation transcript:

For OS Experiments

What Do We Need?

A Computer &

What? You Have Only A Computer!

You Need Virtual Machines

How to Use ?

It’s Your Job

Virtual Machines Hypervisor

Virtual Machines on Host OS

Examples of VM Oracle VM VirtualBox VMWare Player QEMU (Quick EMUlator)

How to Build Drivers

Commands to Download Tools On Ubuntu12.04 sudo apt-get update sudo apt-get install make sudo apt-get install build-essential sudo apt-get install vim sudo apt-get install linux-headers-$(uname -r)

Makefile obj-m = hello.o KVERSION = $(shell uname -r) all: make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules clean: make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean

hello.c #include MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel world\n"); } module_init(hello_init); module_exit(hello_exit);

Compile and Use It make sudo insmod hello.ko sudo modprobe hello.ko  try to also load other modules for undefined symbols sudo rmmod hello dmesg

Requirements Install a virtual machine on your computer Install Linux and Windows 7 (or Windows XP) on the virtual machine Implement a device driver Print “Hi, I am Student-ID” to the kernel buffer when inserting the module Print “Bye!” to the kernel buffer when removing the module Hint: you can use the command dmesg to read the buffer

Report 1. The steps for your implementation 2. The problem you met and how you solved it 3. The bonus you have done 4. The reference of this project The report is limited within 4 pages

Grading Implementation The VM: 20% The OS: 20% (10% for each) The driver: 20% Report 40% (the baseline is 30%) Bonus Recompile the Linux kernel on the VM: 10% Implement a system call on the Linux kernel: 10%

Submission Project deadline: at 15:00 on 2014/01/17  NO DELAY! Send your report and the compiled device driver (module) to TA: 蔡宗佑 The title of the OS Project of Student-ID The title of the report: OS_Name_Student-ID The title of the driver: Driver_Student-ID.ko Point deduction for wrong format: 10%  DEMO might be requested