Operating Systems Principles. Lab 1 Linux Kernel. Humboldt University
|
|
|
- Justin Harmon
- 10 years ago
- Views:
Transcription
1 Humboldt University Computer Science Department Operating Systems Principles Lab 1 Linux Kernel
2 Das Praktikum Alle zwei Woche eine Übung Termin 1: Donnerstag 11:15 12:45 Uhr RUD 26, Raum Termin 2: Freitag 11:15 12:45 Uhr RUD 26, Raum Arbeitsgruppen zu ~2-3 Personen (max. 25 Gruppen!) Erfolgreiches Praktikum ist Voraussetzung für Prüfungszulassung 2
3 Das Praktikum 3-4 Aufgaben (geplant) Aufgabenstellung auf der SAR Website ca. 2 Wochen Zeit Abgabe über GOYA Praktikumsablauf Erläutern der aktuellen Aufgabe Besprechen der vorherigen Aufgabe (erst nach Abgabe!) Evtl. kleine Übungen/Fragen zum aktuellen Thema der Vorlesung Fragen von Euch 3
4 Organisatorisches Datum Montag Dienstag Mittwoch Donnerstag Freitag Praktikum 1 Erste Aufgabe (Beginn) Praktikum Praktikum 2 Praktikum Tag der Informatik Zweite Aufgabe (Beginn) Praktikum Erste Aufgabe (Abgabe) Praktikum 2+1 Praktikum Frei (Himmelfahrt) Dritte Aufgabe (Beginn) Praktikum Zweite Aufgabe (Abgabe) Praktikum Praktikum Praktikum 1 Vierte Aufgabe (Beginn) Praktikum Dritte Aufgabe (Abgabe) Praktikum 2 Praktikum Praktikum 1 Praktikum Vierte Aufgabe (Abgabe) Praktikum 2 Praktikum Praktikum 1 Praktikum Praktikum 2 Praktikum
5 Erstes Praktikum 2 Wochen Zeit zum Lösen der Aufgaben In dieser Woche Erläutern der Aufgabenstellung Erläuterung zur VM Nächste Woche Zeit zur Bearbeitung Übernächste Woche Zeit zur Bearbeitung Konsultation, wenn gewünscht Nächstes Treffen: 03/
6 Praktikumsaufgaben Neue Aufgaben: jeweils Freitag Abgabe: Montag, 2 Wochen später 6
7 Praktikum Requirements: Practical experience with C and C++, Software Development Tools on Unix. Virtual Machines (Qemu) Download image via scp (alex.inform.) You will be root / superuser You crash the machine YOU fix it! You crash the network YOU 7
8 Virtual Machines Qemu Virtual Machine RAM 256MB Hard disk 1GB Access to the Internet Running Linux (Ubuntu LTS) User & Root Access sshfs (Remote filesystem, e.g. home directory) Second hard disk (/osp) Qemu is installed on Linux PC (Linux Pool) 8
9 Virtual Machines Installation Install Qemu: Ubuntu: apt-get install qemu Windows: download qemu windows.zip Download images and scripts: scp r [email protected]:/home/osp1/osp_image. Windows: copy files to qemu-directory Start qemu: Linux:./osp_start.sh Windows: osp_start.bat 9
10 Virtual Machines: Tools Login: Username: osp Passwd: osp Need root shell?: sudo /bin/bash + passwd: osp sshfs.sh:./sshfs.sh username : mount home directory (gruenau.inf.)./sshfs.sh username host : mount home dir of user: sshd must be installed on host!!!./sshfs.sh : umount /ospsshfs Home directory is mounted on /ospsshfs Second hard drive: Mounted on /osp 50 MB 10
11 Virtual Machines: Tools 11
12 Virtual Machines Questions?? 12
13 Lab 1 explained Create a Linux kernel module: sarlkm.ko Create a pseudo-file /proc/sarlkm using a kernel module Content: <prompt><working group>, <number of seconds since booting> Test: cat /proc/sarlkm echo n newprompt > /proc/sarlkm Implement a new system call (kernel.prompt): get/set prompt of pseudo-file Test tool: sysctl (man sysctl) Add module parameter (prompt_param) to set the prompt Write a command line program to get/set the hostname via the system call Additional exercises: Compile and install the Linux Kernel 13
14 Loadable Kernel Modules A great mechanism for OS extensibility Kernel can be modified while it s running No need to recompile and then reboot But inherently unsafe: any bug can cause a system malfunction or a complete crash! Only authorized system administrators are allowed to install kernel modules 14
15 insmod and rmmod root is allowed to install kernel objects: $ /sbin/insmod mylkm.ko root is allowed to remove kernel objects: $ /sbin/rmmod mylkm Anyone is allowed to list kernel objects: $ /sbin/lsmod 15
16 Creating a new LKM You can use any text-editor (e.g., vi ) to create the source-code (in C) for a Linux kernel module (e.g., mod.c) But a kernel module differs from a normal C application program No libc (standard C runtime) No C++ and related libraries No memory protection No floating point support Small, fixed-size stack For any LKM, two entry-points are mandatory init_module() cleanup_module() 16
17 Linux module structure Two module administration functions are mandatory components in every module plus Appropriate module service functions and their supporting kernel data-structures are optional components in particular modules also Recent kernels require a Module License! 17
18 Required module functions int init_module( void ); // gets called during module installation void cleanup_module( void ); // gets called during module removal 18
19 A minimal module-template #include <linux/module.h> int init_module( void ) { // code here gets called during module installation } void cleanup_module( void ) { // code here gets called during module removal } MODULE_LICENSE( GPL ); 19
20 How to compile a module Use the make utility (Makefile): KERNEL_VERSION := `uname -r` KERNEL_DIR := /lib/modules/$(kernel_version)/build INSTALL_MOD_DIR :=. PWD := $(shell pwd) obj-m hellolkm-objs := hellolkm.o := hello.o all: hellolkm "Building $(KERNEL_DIR) && make -C $(KERNEL_DIR) SUBDIRS=$(PWD) CROSS_COMPILE=$(CROSS_COMPILE) modules) 20
21 The printk() function Kernel modules cannot call any functions in the C runtime library, e.g., printf() But similar kernel versions of important functions are provided, e.g., printk() Syntax and semantics are slightly different e.g., priority and message-destination Capabilities may be somewhat restricted e.g., printk() can t show floating-point 21
22 Simple module example #include <linux/module.h> int init_module( void ) { printk( <1>Hello, world!\n ); return 0; // SUCCESS } void cleanup_module( void ) { printk( <1>Goodbye everyone\n ); } MODULE_LICENSE( GPL ); 22
23 How to install and remove # /sbin/insmod hello.ko # /sbin/rmmod hello 23
24 Creating proc files Let s see how we can use kernel functions to create our own /proc file Easy if we use create_proc_entry() during moduleinitialization (and remove_proc_entry() during cleanup) static inline struct proc_dir_entry* create_proc_entry( const char *name, mode_t mode, struct proc_dir_entry *base) Set read/write for procfile using proc_dir_entry - member: read_proc & write_proc 24
25 Creating proc files Example struct proc_dir_entry* my_proc_entry; my_proc_entry = create_proc_entry( myproc, S_IRUGO, NULL); my_proc_entry->read_proc = procfile_read; my_proc_entry->write_proc = procfile_write; More info: 25
26 jiffies unsigned long volatile jiffies; global kernel variable (used by scheduler) Initialized to zero when system reboots Gets incremented when timer interrupts Counts clock-ticks since CPU restart tick-frequency is architecture dependent 26
27 Writing the jiffies.c module We need to declare a name for pseudo-file static char modname[ ] = jiffies ; We need to define a proc_read() function (see code on the following slide) We need to register our filename, along with its read method, in init_module() We need to unregister our pseudo-file in cleanup_module() 27
28 Writing the jiffies.c module static int my_proc_read( char *buf, char **start, off_t off, int count, int *eof, void *data ) { } return sprintf( buf, jiffies=%lu\n, jiffies ); int init_module( void ) { struct proc_dir_entry *my_proc_entry; my_proc_entry = create_proc_entry( modname, S_IRUGO, NULL ); my_proc_entry->read_proc = my_proc_read; return 0; } void cleanup_module( void ) { remove_proc_entry( modname, NULL ); } 28
29 System Calls System Call the method used by a process to request action by the operating system. Usually takes the form of a trap to a specific location in the interrupt vector. Control passes through the interrupt vector to a service routine in the OS, and the mode bit is set to monitor mode. The monitor verifies that the parameters are correct and legal, executes the request, and returns control to the instruction following the system call. Three general methods are used to pass parameters between a running program and the operating system. Pass parameters in registers. Store the parameters in a table in memory, and pass the table address in a register. Push parameters onto the stack by the program, and pop off the stack by operating system. 29
30 System Call Handler call read() read() wrapper system_call() sys_read() Application C library read() wrapper Syscall Handler sys_read() User Space Kernel Space
31 Linux System Calls User program invokes system calls to access kernel services e.g. getpid() In User Space, system calls are implemented as wrapper functions (libc). System calls are defined using macros: _syscall0()... _syscall5() see include/asm-i386/unistd.h pid_t getpid() _syscall0(int,getpid) unsigned int alarm(unsigned int seconds) _syscall1(unsigned int,alarm,unsigned int,seconds) int write(int fd, const char * buf, unsigned int count) _syscall3(int,write,int,fd,const char *,buf,unsigned int,count) If failed: return -1 and set errno 31
32 Transfer of Control By special programmed exception (int $0x80) int <NUMBER> : instruction to trigger an interrupt (number) Exception vector 128 (0x80) defined as system call Inside the kernel: System call handler system_call() written in assembly code Dispatches to the corresponding system call service routine, e.g., sys_alarm(), according to system call number NR_alarm System call dispatch table (see arch/i386/kernel/entry.s) 32.data ENTRY(sys_call_table).long SYMBOL_NAME(sys_ni_syscall) /* 0 */.long SYMBOL_NAME(sys_exit).long SYMBOL_NAME(sys_fork).long SYMBOL_NAME(sys_read).long SYMBOL_NAME(sys_write).long SYMBOL_NAME(sys_open) /* 5 */.long SYMBOL_NAME(sys_close)
33 System Call Service Routine Corresponding to each system call, e.g.: asmlinkage unsigned long sys_alarm(unsigned int seconds) { struct itimerval it_new, it_old; unsigned int oldalarm; } it_new.it_interval.tv_sec = it_new.it_interval.tv_usec = 0; it_new.it_value.tv_sec = seconds; it_new.it_value.tv_usec = 0; do_setitimer(itimer_real, &it_new, &it_old); oldalarm = it_old.it_value.tv_sec; if (it_old.it_value.tv_usec) oldalarm++; return oldalarm; 33
34 Macro Expansion for alarm() unsigned int alarm(unsigned int seconds) { long res; asm volatile ("int $0x80" : "=a" ( res) : "" ( NR_alarm), "b ((long)(seconds))); do { if ((unsigned long)( res) >= (unsigned long)(-125)) { errno = -( res); res = -1; } return (unsigned int) ( res); } while (0); } 34
35 Parameter Passing Through CPU Registers Each parameter is a word (32bit on 32bit architectures) Parameters limited by register number What about complex data (e.g., buffer, such as in write() )? Parameter: memory address Kernel will copy data from/to process' user-mode memory space Two service routines copy_from_user(void*to,const void *from,unsigned long n ); copy_to_user(void*to, const void *from, unsigned long n ); 35
36 Adding New System Calls struct ctl_table_header * register_sysctl_table(ctl_table * table, int insert_at_head); void unregister_sysctl_table(struct ctl_table_header * table); Fields of ctl_table *: int ctl_name : a numeric id, unique in each table const char *procname : corresponding name in /proc void *data : pointer to data, e.g. point to an integer value for integer items int maxlen : size of pointed data mode_t mode : octal mode of the file ctl_table *child : the child table for dirs (NULL for leaf nodes proc_handler *proc_handler : handler to perf any read/write spawned by /proc files ctl_handler *strategy : handler for reads/writes using system calls More infos: 36
37 Why Not to Implement a System Call The pros of implementing a new interface as a syscall System calls are simple to implement and easy to use System calls performance on Linux is blindingly fast. The cons You need a syscall number, which needs to be officially assigned to you during a developmental kernel series. After the system call is in a stable series kernel, it is written in stone. The interface cannot change without breaking user-space applications Each architecture needs to separately register the system call and support it. For simple exchanges of information, a system call is overkill Alternatives Use the file interface (read, write, ioctl, ) Procfs or sysfs
38 Using syscall userspace application int sysctl (int *name, int nlen, Parameter: name void *oldval, size_t *oldlenp, void *newval, size_t newlen); Array of integer (sysctl item: dir or leaf node) See <linux/sysctl.h) Parameter: nlen Length of array name Parameter: oldval/oldlenp Pointer to data buffer for old value Parameter: newval/newlen Pointer to data buffer for new value Read: newval = NULL More infos: man sysctl (manpages) 38
39 Add module parameter char *my_param = foobar ; //default module_param(my_param, charp, 0600); MODULE_PARM_DESC(my_param, Set my param ); module_param: 1. parameter: name of the variable 2. parameter: type (int, charp, ) 3. permissions for corresponding file (sysfs) Set param: insmod mylkm.ko my_param= value Info about module: modinfo mylkm More infos: 39
Linux Firewall Lab. 1 Overview. 2 Lab Tasks. 2.1 Task 1: Firewall Policies. Laboratory for Computer Security Education 1
Laboratory for Computer Security Education 1 Linux Firewall Lab Copyright c 2006-2011 Wenliang Du, Syracuse University. The development of this document is funded by the National Science Foundation s Course,
W4118 Operating Systems. Junfeng Yang
W4118 Operating Systems Junfeng Yang Outline Linux overview Interrupt in Linux System call in Linux What is Linux A modern, open-source OS, based on UNIX standards 1991, 0.1 MLOC, single developer Linus
Linux LKM Firewall v 0.95 (2/5/2010)
600/650.424 Network Security Linux LKM Firewall 1 1 Overview Linux LKM Firewall v 0.95 (2/5/2010) The learning objective of this project is for you to understand how firewalls work by designing and implementing
Operating System Structure
Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural
Assignment 5: Adding and testing a new system call to Linux kernel
Assignment 5: Adding and testing a new system call to Linux kernel Antonis Papadogiannakis HY345 Operating Systems Course 1 Outline Introduction: system call and Linux kernel Emulators and Virtual Machines
Lab 6: Building Your Own Firewall
CS498 Systems and Networking Lab Spring 2012 Lab 6: Building Your Own Firewall Instructor: Matthew Caesar Due: Firewalls are widely deployed technologies for protecting networks from unauthorized access
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation
System Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Operating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
LSN 10 Linux Overview
LSN 10 Linux Overview ECT362 Operating Systems Department of Engineering Technology LSN 10 Linux Overview Linux Contemporary open source implementation of UNIX available for free on the Internet Introduced
Traditional Rootkits Lrk4 & KNARK
Traditional Rootkits Lrk4 & KNARK Based on a paper by John Levine & Julian Grizzard http://users.ece.gatech.edu/~owen/research/conference%20publications/rookit_southeastcon2003.pdf ECE 4883 Internetwork
Linux Firewall Exploration Lab
SEED Labs Linux Firewall Exploration Lab 1 Linux Firewall Exploration Lab Copyright c 2006-2013 Wenliang Du, Syracuse University. The development of this document is/was funded by three grants from the
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Linux Kernel Rootkit : Virtual Terminal Key Logger
Linux Kernel Rootkit : Virtual Terminal Key Logger Jeena Kleenankandy Roll No. P140066CS Depatment of Computer Science and Engineering National Institute of Technology Calicut jeena [email protected]
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
ELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
CSC 2405: Computer Systems II
CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building [email protected]
Operating Systems and Networks
recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls
How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself
How do Users and Processes interact with the Operating System? Users interact indirectly through a collection of system programs that make up the operating system interface. The interface could be: A GUI,
System Calls and Standard I/O
System Calls and Standard I/O Professor Jennifer Rexford http://www.cs.princeton.edu/~jrex 1 Goals of Today s Class System calls o How a user process contacts the Operating System o For advanced services
Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.
Virtual machines Virtual machine systems can give everyone the OS (and hardware) that they want. IBM s VM provided an exact copy of the hardware to the user. Virtual Servers Virtual machines are very widespread.
Penetration Testing LAB Setup Guide
Penetration Testing LAB Setup Guide (Internal Attacker - Beginner version) By: magikh0e - [email protected] Last Edit: July 07 2012 This guide assumes a few things... 1. You have installed Backtrack before
REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-12: Real Time Linux
REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux Lesson-12: Real Time Linux 1 1. Real Time Linux 2 Linux 2.6.x Linux is after Linus Torvalds, father of the Linux operating
COS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms
User-level processes (clients) request services from the kernel (server) via special protected procedure calls
Linux System Call What is System Call? User-level processes (clients) request services from the kernel (server) via special protected procedure calls System calls provide: An abstraction layer between
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
Create a virtual machine at your assigned virtual server. Use the following specs
CIS Networking Installing Ubuntu Server on Windows hyper-v Much of this information was stolen from http://www.isummation.com/blog/installing-ubuntu-server-1104-64bit-on-hyper-v/ Create a virtual machine
Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM
Bern University of Applied Sciences Engineering and Information Technology Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM By Franz Meyer Version 1.0 February 2011 Virtualization Architecture
Project Adding a System Call to the Linux Kernel
74 Chapter 2 Operating-System Structures 2.15 Why is a just-in-time compiler useful for executing Java programs? 2.16 What is the relationship between a guest operating system and a host operating system
OPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
Operating Systems. Privileged Instructions
Operating Systems Operating systems manage processes and resources Processes are executing instances of programs may be the same or different programs process 1 code data process 2 code data process 3
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Migration of Process Credentials
C H A P T E R - 5 Migration of Process Credentials 5.1 Introduction 5.2 The Process Identifier 5.3 The Mechanism 5.4 Concluding Remarks 100 CHAPTER 5 Migration of Process Credentials 5.1 Introduction Every
The programming language C. sws1 1
The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan
Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
Building a Private Cloud Cloud Infrastructure Using Opensource
Cloud Infrastructure Using Opensource with Ubuntu Server 10.04 Enterprise Cloud (Eucalyptus) OSCON (Note: Special thanks to Jim Beasley, my lead Cloud Ninja, for putting this document together!) Introduction
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
Chapter 3: Operating-System Structures. Common System Components
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
Installing Sun's VirtualBox on Windows XP and setting up an Ubuntu VM
Installing Sun's VirtualBox on Windows XP and setting up an Ubuntu VM laptop will need to have 10GB of free space to install download the latest VirtualBox software from www.sun.com make sure you pick
An Introduction to High Performance Computing in the Department
An Introduction to High Performance Computing in the Department Ashley Ford & Chris Jewell Department of Statistics University of Warwick October 30, 2012 1 Some Background 2 How is Buster used? 3 Software
Computer Systems II. Unix system calls. fork( ) wait( ) exit( ) How To Create New Processes? Creating and Executing Processes
Computer Systems II Creating and Executing Processes 1 Unix system calls fork( ) wait( ) exit( ) 2 How To Create New Processes? Underlying mechanism - A process runs fork to create a child process - Parent
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Creating a Linux Virtual Machine using Virtual Box
A. Install Virtual Box: Creating a Linux Virtual Machine using Virtual Box 1. Download the Virtualbox installer http://www.virtualbox.org/wiki/downloads 2. Run the installer and have the installer complete.
The Plan Today... System Calls and API's Basics of OS design Virtual Machines
System Calls + The Plan Today... System Calls and API's Basics of OS design Virtual Machines System Calls System programs interact with the OS (and ultimately hardware) through system calls. Called when
Audit Trail Administration
Audit Trail Administration 0890431-030 August 2003 Copyright 2003 by Concurrent Computer Corporation. All rights reserved. This publication or any part thereof is intended for use with Concurrent Computer
Lecture 24 Systems Programming in C
Lecture 24 Systems Programming in C A process is a currently executing instance of a program. All programs by default execute in the user mode. A C program can invoke UNIX system calls directly. A system
INUVIKA OVD INSTALLING INUVIKA OVD ON UBUNTU 14.04 (TRUSTY TAHR)
INUVIKA OVD INSTALLING INUVIKA OVD ON UBUNTU 14.04 (TRUSTY TAHR) Mathieu SCHIRES Version: 0.9.1 Published December 24, 2014 http://www.inuvika.com Contents 1 Prerequisites: Ubuntu 14.04 (Trusty Tahr) 3
Minix Mini Unix (Minix) basically, a UNIX - compatible operating system. Minix is small in size, with microkernel-based design. Minix has been kept
Minix Mini Unix (Minix) basically, a UNIX - compatible operating system. Minix is small in size, with microkernel-based design. Minix has been kept (relatively) small and simple. Minix is small, it is
CSC230 Getting Starting in C. Tyler Bletsch
CSC230 Getting Starting in C Tyler Bletsch What is C? The language of UNIX Procedural language (no classes) Low-level access to memory Easy to map to machine language Not much run-time stuff needed Surprisingly
ECT362 Installing Linux Virtual Machine in KL322
ECT362 Installing Linux Virtual Machine in KL322 The steps below outline how to install Linux under Windows as a virtual machine. This install uses the Ubuntu 10.04 distribution of Linux along with the
umps software development
Laboratorio di Sistemi Operativi Anno Accademico 2006-2007 Software Development with umps Part 2 Mauro Morsiani Software development with umps architecture: Assembly language development is cumbersome:
Leak Check Version 2.1 for Linux TM
Leak Check Version 2.1 for Linux TM User s Guide Including Leak Analyzer For x86 Servers Document Number DLC20-L-021-1 Copyright 2003-2009 Dynamic Memory Solutions LLC www.dynamic-memory.com Notices Information
Operating Systems Project: Device Drivers
Operating Systems Project: Device Drivers Jordi Garcia and Yolanda Becerra 1 Department of Computer Architecture Universitat Politècnica de Catalunya 1. Introduction September 2012 The main aim of this
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
Efficient and Large-Scale Infrastructure Monitoring with Tracing
CloudOpen Europe 2013 Efficient and Large-Scale Infrastructure Monitoring with Tracing [email protected] 1 Content Overview of tracing and LTTng LTTng features for Cloud Providers LTTng as a
FAME Operating Systems
FAME Operating Systems 2012 David Picard contributors : Arnaud Revel, Mickaël Maillard [email protected] 1. Introduction A very simple computer Goals of an operating system Hardware management Task management
Operating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
Laboratory Report. An Appendix to SELinux & grsecurity: A Side-by-Side Comparison of Mandatory Access Control & Access Control List Implementations
Laboratory Report An Appendix to SELinux & grsecurity: A Side-by-Side Comparison of Mandatory Access Control & Access Control List Implementations 1. Hardware Configuration We configured our testbed on
How to Add a New System Call for Minix 3
How to Add a New System Call for Minix 3 Karthick Jayaraman Department of Electrical Engineering & Computer Science Syracuse University, Syracuse, New York 1. Introduction Minix3 has the micro-kernel architecture.
Oracle Linux 7: System Administration Ed 1 NEW
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 40291196 Oracle Linux 7: System Administration Ed 1 NEW Duration: 5 Days What you will learn The Oracle Linux 7: System Administration training
Embedded Linux development training 4 days session
Embedded Linux development training 4 days session Title Overview Duration Trainer Language Audience Prerequisites Embedded Linux development training Understanding the Linux kernel Building the Linux
Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF
Survey of Filesystems for Embedded Linux Presented by Gene Sally CELF Presentation Filesystems In Summary What is a filesystem Kernel and User space filesystems Picking a root filesystem Filesystem Round-up
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
Linux Kernel Networking. Raoul Rivas
Linux Kernel Networking Raoul Rivas Kernel vs Application Programming No memory protection Memory Protection We share memory with devices, scheduler Sometimes no preemption Can hog the CPU Segmentation
PARALLELS SERVER BARE METAL 5.0 README
PARALLELS SERVER BARE METAL 5.0 README 1999-2011 Parallels Holdings, Ltd. and its affiliates. All rights reserved. This document provides the first-priority information on the Parallels Server Bare Metal
Virtual Private Systems for FreeBSD
Virtual Private Systems for FreeBSD Klaus P. Ohrhallinger 06. June 2010 Abstract Virtual Private Systems for FreeBSD (VPS) is a novel virtualization implementation which is based on the operating system
BOSS MOOL GNU/Linux User Manual
BOSS MOOL GNU/Linux User Manual 1 Contents Chapter 1 Introduction...3 1.1 What is BOSS MOOL GNU/Linux?...3 1.1.1 INSTALL...3 1.1.2 BOSS MOOL GNU/Linux Components...4 1.2 BOSS MOOL GNU/Linux Licensing...
INF-110. GPFS Installation
INF-110 GPFS Installation Overview Plan the installation Before installing any software, it is important to plan the GPFS installation by choosing the hardware, deciding which kind of disk connectivity
Overview of Operating Systems Instructor: Dr. Tongping Liu
Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems
AlienVault Unified Security Management (USM) 4.x-5.x. Deploying HIDS Agents to Linux Hosts
AlienVault Unified Security Management (USM) 4.x-5.x Deploying HIDS Agents to Linux Hosts USM 4.x-5.x Deploying HIDS Agents to Linux Hosts, rev. 2 Copyright 2015 AlienVault, Inc. All rights reserved. AlienVault,
Abstract. Microsoft Corporation Published: November 2011
Linux Integration Services Version 3.2 for Hyper-V (Windows Server 2008, Windows Server 2008 R2, Microsoft Hyper-V Server 2008, and Microsoft Hyper-V Server 2008 R2) Readme Microsoft Corporation Published:
CS161: Operating Systems
CS161: Operating Systems Matt Welsh [email protected] Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
Embedded Software Development
Linköpings Tekniska Högskola Institutionen för Datavetanskap (IDA), Software and Systems (SaS) TDDI11, Embedded Software 2010-04-22 Embedded Software Development Host and Target Machine Typical embedded
CS 103 Lab Linux and Virtual Machines
1 Introduction In this lab you will login to your Linux VM and write your first C/C++ program, compile it, and then execute it. 2 What you will learn In this lab you will learn the basic commands and navigation
System Calls Related to File Manipulation
KING FAHD UNIVERSITY OF PETROLEUM AND MINERALS Information and Computer Science Department ICS 431 Operating Systems Lab # 12 System Calls Related to File Manipulation Objective: In this lab we will be
Priority Based Implementation in Pintos
Priority Based Implementation in Pintos Deepa D 1, Nivas K S 2, Preethi V 3 1, 2, 3 Students M-Tech, Dept. of Information Technology, SNS College of Engg., Coimbatore. Abstract Pintos is a simple operating
Virtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
EXPLORING LINUX KERNEL: THE EASY WAY!
EXPLORING LINUX KERNEL: THE EASY WAY! By: Ahmed Bilal Numan 1 PROBLEM Explore linux kernel TCP/IP stack Solution Try to understand relative kernel code Available text Run kernel in virtualized environment
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
KVM: Kernel-based Virtualization Driver
KVM: Kernel-based Virtualization Driver White Paper Overview The current interest in virtualization has led to the creation of several different hypervisors. Most of these, however, predate hardware-assisted
October 2011. Gluster Virtual Storage Appliance - 3.2 User Guide
October 2011 Gluster Virtual Storage Appliance - 3.2 User Guide Table of Contents 1. About the Guide... 4 1.1. Disclaimer... 4 1.2. Audience for this Guide... 4 1.3. User Prerequisites... 4 1.4. Documentation
NDK: NOVELL NSS AUDIT
www.novell.com/documentation NDK: NOVELL NSS AUDIT Developer Kit August 2015 Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or use of this documentation,
Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine
7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change
6.828 Operating System Engineering: Fall 2003. Quiz II Solutions THIS IS AN OPEN BOOK, OPEN NOTES QUIZ.
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2003 Quiz II Solutions All problems are open-ended questions. In
Data Types in the Kernel
,ch11.3440 Page 288 Thursday, January 20, 2005 9:25 AM CHAPTER 11 Data Types in the Kernel Chapter 11 Before we go on to more advanced topics, we need to stop for a quick note on portability issues. Modern
Toasterkit - A NetBSD Rootkit. Anthony Martinez Thomas Bowen http://mrtheplague.net/toasterkit/
Toasterkit - A NetBSD Rootkit Anthony Martinez Thomas Bowen http://mrtheplague.net/toasterkit/ Toasterkit - A NetBSD Rootkit 1. Who we are 2. What is NetBSD? Why NetBSD? 3. Rootkits on NetBSD 4. Architectural
CSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17
CSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17 System Calls for Processes Ref: Process: Chapter 5 of [HGS]. A program in execution. Several processes are executed concurrently by the
QEMU-KVM + D-System Monitor Setup Manual
DEOS-FY2014-QK-02E 2013-2014 Japan Science and Technology Agency QEMU-KVM + D-System Monitor Setup Manual Version E1.2 2014/02/01 Edited by DEOS R&D Center DEOS Project JST-CREST Research Area Dependable
File Systems Management and Examples
File Systems Management and Examples Today! Efficiency, performance, recovery! Examples Next! Distributed systems Disk space management! Once decided to store a file as sequence of blocks What s the size
CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson
CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,
A Virtual Laboratory for IT Security Education
A Virtual Laboratory for IT Security Education Ji Hu, Dirk Cordel, Christoph Meinel FB IV Informatik Universitaet Trier D-54286 Trier, Germany {hu, cordel, meinel}@ti.uni-trier.de Abstract: Success of
The Linux Kernel Device Model
The Linux Kernel Device Model Patrick Mochel Open Source Development Lab [email protected] Abstract Linux kernel development follows a simple guideline that code should be only as complex as absolutely necessary.
I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation. Mathias Payer, ETH Zurich
I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation Mathias Payer, ETH Zurich Motivation Applications often vulnerable to security exploits Solution: restrict application
EECS 354 Network Security. Introduction
EECS 354 Network Security Introduction Why Learn To Hack Understanding how to break into computer systems allows you to better defend them Learn how to think like an attacker Defense then becomes second-nature
Student installation of TinyOS
Jan.12, 2014 Author: Rahav Dor Student installation of TinyOS TinyOs install Automatic installation... 1 Get Linux... 2 Install Ubuntu on a Virtual Machine... 2 Install Ubuntu on VMware... 2 Installing
