Operating Systems. Week 3 Recitation: Assignment 1 & 2 Review, Assignment 3 Discussion Paul Krzyzanowski. Rutgers University.
|
|
- Stephany Allen
- 7 years ago
- Views:
Transcription
1 Operating Systems Week 3 Recitation: Assignment 1 & 2 Review, Assignment 3 Discussion Paul Krzyzanowski Rutgers University Spring 2015 February 14, Paul Krzyzanowski 1
2 Assignment 1 Review February 14, Paul Krzyzanowski 2
3 Assignment 1 Question 1 Why does UEFI (the Unified Extensible Firmware Interface) not need to load a first-stage boot loader from the Master Boot Record (MBR) and why did the BIOS need to do so? UEFI can parse a file system and load a multi-block file that contains a bootloader. The BIOS could only read individual disk blocks. It does not know anything about the structure of the file system. It reads a single disk disk block That one disk block contains partition map that identifies different areas of the disk (logical disks) a boot loader that reads N consecutive blocks from a specific partition February 14, Paul Krzyzanowski 3
4 Assignment 1 Question 2 (a) What is the main advantage of the microkernel approach to system design? The design of the kernel is simpler Adding new services does not require modifying the kernel Better controls over security: drivers and other services don't wield supreme power There is also a downside: performance often suffers since many system calls have to go to the kernel, be relayed to a user-level kernel process, back to the kernel, and then back to the user. (b) How do user programs and system services interact in a microkernel architecture? Via interprocess communication mechanisms, such as messages. February 14, Paul Krzyzanowski 4
5 Assignment 1 Question 3 a-b a. By approximately how much did the size of the UNIX system increase when it was rewritten in C in 1973? The code became about 33% bigger. b. What is a path name? A sequence of directory names separated by slashes (/) and ending with a file name. Example: /usr/share/mysql/charsets/index.xml February 14, Paul Krzyzanowski 5
6 Assignment 1 Question 3 c-d c. What are three advantages to treating devices as files within the file system? 1. File and device I/O are as similar as possible. 2. File and device names have the same syntax and meaning. 3. Special files (devices) are subject to the same protection mechanism as regular files. d. What is the purpose of a set-user-id bit in a file's permissions? It allows privileged programs to access files that may be inaccessible to other users. February 14, Paul Krzyzanowski 6
7 Assignment 2 Review February 14, Paul Krzyzanowski 7
8 Assignment 2 Review February 14, Paul Krzyzanowski 8
9 Assignment 2 Question 1 Why is the separation of mechanism and policy desirable? Mechanism and policy must be separate to ensure that systems are easy to modify. No two system installations are the same, so each installation may want to tune the operating system to suit its needs. With mechanism and policy separate, the policy may be changed at will while the mechanism stays unchanged. This arrangement provides a more flexible system. February 14, Paul Krzyzanowski 9
10 Assignment 2 Question 2 Explain the role of the init process on UNIX and Linux systems in regard to process termination. When a process terminates, it moves to the zombie state and remains in that state until the parent calls wait(). At that time, the process ID as well as its entry in the process table are both released the exit state is returned with the return from wait and is no longer retained by the kernel. However, if a parent does not invoke wait() the child process remains a zombie as long as the parent remains alive Once the parent process terminates, the init process becomes the new parent of the zombie Periodically, the init process calls wait() which ultimately releases the Process ID and entry in the process table of the zombie process. February 14, Paul Krzyzanowski 10
11 Assignment 2 Question 3 Including the initial parent process, how many processes are created by the following program? #include <unistd.h> #include <stdio.h> int main(int argc, char **argv) { fork(); fork(); fork(); /*... */ } 8 processes. 1 st fork: creates a child process we have 2 processes 2 nd fork: each process creates a child 2 more processes 4 total 3 rd fork: each of 4 processes creates a child 8 total February 14, Paul Krzyzanowski 11
12 Assignment 2 Question 4 a-b a. What mechanism did Linux used to use for invoking system calls (creating the mode switch) on the x86 Intel architecture? In the past, Linux used a software interrupt (trap) int 0x80 to do the mode switch. b. What mechanism is used to invoke system calls since the 2.6 kernel? On Intel architectures, the Linux kernel no longer uses the trap mechanism but the SYSENTER/SYSEXIT instructions February 14, Paul Krzyzanowski 12
13 Assignment 2 Question 4 c c. Why was the system call mechanism changed? Performance. SYSENTER was much faster on Pentium 4 and later processors. More detail: INT accepts a parameter that identifies the entry in the interrupt vector table, which resides in memory. When processing the int instruction, the processor has to read data from the interrupt vector table For example int 0x80 causes the function pointed to by the 128th (128 decimal == 0x80) entry in the interrupt vector table to be executed. SYSENTER does not require consulting a table to take the jump The kernel registers the sysentry function handler by storing the address of the function into the CPU Model Specific Register SYSENTER_EIP_MSR (0x175) when it starts up Whenever the sysenter instruction is executed, the CPU can get the target address directly from a register [ This is a simplification: there are two additional registers that may need to be set for sysenter ] February 14, Paul Krzyzanowski 13
14 Assignment 2 Question 5 Can a multithreaded solution using multiple user-level threads achieve better performance on a multiprocessor system than on a single- processor system? Explain. No. A multithreaded system comprising of multiple user-level threads cannot make use of the different processors in a multiprocessor system simultaneously. The operating system sees only a single process and will not schedule the different threads of the process on separate processors. Consequently, there is no performance benefit associated with executing multiple user-level threads on a multiprocessor system. February 14, Paul Krzyzanowski 14
15 Assignment 3 Discussion February 14, Paul Krzyzanowski 15
16 Assignment 3 Download and build the xv6 operating system Run it under an x86 CPU emulator Add a new system call: i n t t r a c e ( i n t ) Turn system call tracing on/off trace(1): turn tracing on. Each system call from that process only will be printed to the console trace(0): turn tracing off. System calls will no longer be printed to the console Return total number of system calls for the process trace returns the total number of system calls called by the process so far February 14, Paul Krzyzanowski 16
17 Example output When tracing is on, each system call will result in one line of text printed to the console Each line contains The process ID Command name System call number System call name... pid: 2 [sh] syscall(5=read) pid: 2 [sh] syscall(5=read) pid: 2 [sh] syscall(1=fork) pid: 2 [sh] syscall(3=wait) pid: 3 [sh] syscall(12=sbrk) pid: 3 [sh] syscall(7=exec) pid: 3 [try] syscall(20=mkdir) pid: 3 [try] syscall(15=open) pid: 3 [try] syscall(16=write) pid: 3 [try] syscall(21=close) pid: 3 [try] syscall(2=exit) pid: 2 [sh] syscall(16=write) pid: 2 [sh] syscall(16=write)... Sample Output February 14, Paul Krzyzanowski 17
18 What is xv6? UNIX v6 Old version of UNIX from Bell Labs before networking was added to the OS Simple not a lot of features Nicely documented source BUT: written in an obsolete version of C and with PDP-11 specific code xv6 A rewrite of Unix v6 in ANSI C (standard C) for multicore Intel x86 processors Designed at MIT as a tiny OS suitable for teaching Same basic internal design as UNIX v6 Kernel, processes, files & directories, memory protection, Why not Linux? xv6 is a super-simple bare-bones OS about 7K lines of code Linux: >20K lines of code with a lot of complexity due to features & optimizations February 14, Paul Krzyzanowski 18
19 What do you need to do? Follow the instructions in the homework posting! You need: QEMU: open source machine emulator git: to download the xv6 code A Linux system to run it on Search the web for instructions on cross compiling on OS X or Windows if you don t want to use Linux Instructions are provided to install VirtualBox (a virtual machine) and Ubuntu Linux that will ensure you have an environment that works on your machine Rutgers ilab machines already have git; I ll check about QEMU You will run xv6 on a machine emulator You won t have to boot it natively and you can set breakpoints February 14, Paul Krzyzanowski 19
20 Install xv6 Download the source from MIT git clone git://pdos.csail.mit.edu/xv6/xv6.git This will create a directory called xv6 98 files no subdirectories or a separation between user program files and kernel files Running make qemu will Compile everything (user + kernel) Start QEMU emulator Run the OS, which will start init, which will start the shell process The shell will give you a command prompt February 14, Paul Krzyzanowski 20
21 Several options for compiling & running xv6 make qemu Build everything Start QEMU with the VGA console in a new window and the serial console in your terminal Exit by closing the VGA window or ctrl-a x in your terminal make qemu-nox Build everything Run only the serial console Exit by pressing ctrl-a x I use this since I ssh to my Linux systems make qemu-gdb and make qemu-nox-gdb Same as above but waits for a gdb (debugger) connection February 14, Paul Krzyzanowski 21
22 Exiting QEMU This assignment is easy You re unlikely to write code that will cause the kernel to die You won t need to do register-level debugging or setting breakpoints To switch between the console (running xv6) and the QEMU emulator command prompt Type ctrl-a c Then you can type QEMU commands, such as info registers to show CPU registers x/10i $eip show the next 10 instructions at the current instruction pointer system-reset reset & reboot the system quit exit the emulator (quit xv6) Type ctrl-a c again to get back to the console (unless you ran quit) February 14, Paul Krzyzanowski 22
23 Make sure xv6 is working! xv6 supports a hierarchical file system but boots up with only a tiny number of files, all at the root level The only commands that come with the source are: cat print files to the standard output mkdir Create a directory echo print command arguments rm Remove a file forktest test process creation sh The shell grep search for a string in a file stressfs Bunch of writes & reads init The first process starts the shell usertests Tests all system calls kill Send a signal to a process wc Counts pages, lines, chars ln Create a link to a file zombie Create a zombie process ls List files February 14, Paul Krzyzanowski 23
24 How to add a system call syscall.c process system calls syscall(void) entry function for all system calls This is the kernel function that is called for every system call System call number is in the eax register Check the range and call the corresponding function in the syscalls[] table of functions Follow the example of other system calls to add your new one. sysproc.c implements process-related system calls The functions here are called from syscall(). You can add your new function in this file. February 14, Paul Krzyzanowski 24
25 How to add a system call usys.s macros for assembler code for each sys call This simply places the system call number into the eax register and invokes the system call. You need to add an entry to your system call here syscall.h definitions of system call numbers You need to define a unique number for your system call user.h user definition of system calls You need to define the user s interface for your call here February 14, Paul Krzyzanowski 25
26 System call tracing You need to: Keep track of whether system call tracing is on or off for a process Count total number of system calls used by the process (irrespective of whether tracing is on or off) Print a line to the console if tracing is on Storing per-process data xv6 stores its process control blocks in a process table (not a list) struct proc You will need to extend this table to store the info you need Find where the entry is initialized to clear the values Printing a message to the console Use cprintf just like printf! cprintf( Hello, I m number %d\n, num) Look at the proc struct getting the program name is easy. You re on your own for printing the system call name February 14, Paul Krzyzanowski 26
27 Hints The assignment is easy just a few lines of code You have 21 other system calls to use as a guide Write a test program Call a number of different system calls Turn tracing on/off Print system call counts Fork a child process to make sure it does not trace calls even if the parent does There s a detailed description of xv6 online: short link: February 14, Paul Krzyzanowski 27
28 The End February 14, Paul Krzyzanowski 28
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
More informationELEC 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
More informationCS 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
More informationLSN 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
More informationOperating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
More informationAn 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
More informationExample 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
More informationCPS221 Lecture: Operating System Structure; Virtual Machines
Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of
More informationMinix 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
More informationKernel comparison of OpenSolaris, Windows Vista and. Linux 2.6
Kernel comparison of OpenSolaris, Windows Vista and Linux 2.6 The idea of writing this paper is evoked by Max Bruning's view on Solaris, BSD and Linux. The comparison of advantages and disadvantages among
More informationEmbedded 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
More informationProcess Description and Control. 2004-2008 william stallings, maurizio pizzonia - sistemi operativi
Process Description and Control 1 Process A program in execution (running) on a computer The entity that can be assigned to and executed on a processor A unit of activity characterized by a at least one
More informationYocto Project Eclipse plug-in and Developer Tools Hands-on Lab
Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab Yocto Project Developer Day San Francisco, 2013 Jessica Zhang Introduction Welcome to the Yocto Project Eclipse plug-in
More informationHow To Understand How A Process Works In Unix (Shell) (Shell Shell) (Program) (Unix) (For A Non-Program) And (Shell).Orgode) (Powerpoint) (Permanent) (Processes
Content Introduction and History File I/O The File System Shell Programming Standard Unix Files and Configuration Processes Programs are instruction sets stored on a permanent medium (e.g. harddisc). Processes
More informationCS161: Operating Systems
CS161: Operating Systems Matt Welsh mdw@eecs.harvard.edu Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
More informationFAME Operating Systems
FAME Operating Systems 2012 David Picard contributors : Arnaud Revel, Mickaël Maillard picard@ensea.fr 1. Introduction A very simple computer Goals of an operating system Hardware management Task management
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus 1 Concurrency and Process Challenge: Physical reality is Concurrent Smart to do concurrent software instead of sequential? At least we want to have
More informationChapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
More informationW4118 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
More informationOperating 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
More informationAssignment 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
More informationDebugging with TotalView
Tim Cramer 17.03.2015 IT Center der RWTH Aachen University Why to use a Debugger? If your program goes haywire, you may... ( wand (... buy a magic... read the source code again and again and...... enrich
More informationCS 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
More informationObjectives. 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
More informationSystem 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
More informationVirtual 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.
More informationIntroduction. 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
More informationThe 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
More informationPetaLinux SDK User Guide. Application Development Guide
PetaLinux SDK User Guide Application Development Guide Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.
More information6.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
More informationLinux Kernel Architecture
Linux Kernel Architecture Amir Hossein Payberah payberah@yahoo.com Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management
More informationUEFI on Dell BizClient Platforms
UEFI on Dell BizClient Platforms Authors: Anand Joshi Kurt Gillespie This document is for informational purposes only and may contain typographical errors and technical inaccuracies. The content is provided
More informationQ N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide
Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights
More informationThe System Monitor Handbook. Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig
Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig 2 Contents 1 Introduction 6 2 Using System Monitor 7 2.1 Getting started........................................ 7 2.2 Process Table.........................................
More informationOperating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
More informationCSI 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
More informationChapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
More informationReview from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
More information10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition
10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can
More informationHow 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,
More informationEXPLORING 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
More informationThe Linux Boot Sequence
The A good understanding of the Linux boot sequence will be useful as the course progresses. First, the actions which start network communication occur during the boot sequence. You ll want to know how
More informationOperating 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
More informationINASP: Effective Network Management Workshops
INASP: Effective Network Management Workshops Linux Familiarization and Commands (Exercises) Based on the materials developed by NSRC for AfNOG 2013, and reused with thanks. Adapted for the INASP Network
More informationProject 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
More informationVMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D
ware and CPU Virtualization Technology Jack Lo Sr. Director, R&D This presentation may contain ware confidential information. Copyright 2005 ware, Inc. All rights reserved. All other marks and names mentioned
More informationLecture 5. User-Mode Linux. Jeff Dike. November 7, 2012. Operating Systems Practical. OSP Lecture 5, UML 1/33
Lecture 5 User-Mode Linux Jeff Dike Operating Systems Practical November 7, 2012 OSP Lecture 5, UML 1/33 Contents User-Mode Linux Keywords Resources Questions OSP Lecture 5, UML 2/33 Outline User-Mode
More informationx86 ISA Modifications to support Virtual Machines
x86 ISA Modifications to support Virtual Machines Douglas Beal Ashish Kumar Gupta CSE 548 Project Outline of the talk Review of Virtual Machines What complicates Virtualization Technique for Virtualization
More informationKVM: 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
More informationMulti-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
More informationCompute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005... 1
More informationChapter 1: Operating System Models 1 2 Operating System Models 2.1 Introduction Over the past several years, a number of trends affecting operating system design are witnessed and foremost among them is
More informationVirtual 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
More informationLinux System Administration on Red Hat
Linux System Administration on Red Hat Kenneth Ingham September 29, 2009 1 Course overview This class is for people who are familiar with Linux or Unix systems as a user (i.e., they know file manipulation,
More informationMultiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching
IT 3123 Hardware and Software Concepts Operating Systems II October 26 Multiprogramming Two or more application programs in memory. Consider one CPU and more than one program. This can be generalized to
More informationCSC 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 mirela.damian@villanova.edu
More informationSystem 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
More informationCSE 120 Principles of Operating Systems. Modules, Interfaces, Structure
CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer
More informationChapter 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
More informationVMware Server 2.0 Essentials. Virtualization Deployment and Management
VMware Server 2.0 Essentials Virtualization Deployment and Management . This PDF is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.
More informationCSC230 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
More informationChapter 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
More informationChapter 3: Operating Systems
Chapter 3: Operating Systems Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 3: Operating Systems 3.1 The History of Operating Systems
More informationOS Concepts and structure
OS Concepts and structure Today OS services OS interface to programmers/users OS components & interconnects Structuring OSs Next time Processes Between hardware and your apps User processes Thunderbird
More informationCOS 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
More informationThe PC Boot Process - Windows XP.
The PC Boot Process - Windows XP. Power supply switched on. The power supply performs a selftest. When all voltages and current levels are acceptable, the supply indicates that the power is stable and
More informationVirtualization for Cloud Computing
Virtualization for Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF CLOUD COMPUTING On demand provision of computational resources
More informationProgramming for GCSE Topic H: Operating Systems
Programming for GCSE Topic H: Operating Systems William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London Aims Introduce Operating Systems Core concepts Processes
More informationUnderstanding the Boot Process and Command Line Chapter #3
Understanding the Boot Process and Command Line Chapter #3 Amy Hissom Key Terms 1. Active Partition the primary partition on the hard drive that boots the OS. Windows NT/2000/XP calls the active partition
More informationBrian Walters. 1999. VMware Virtual Platform. Linux J. 1999, 63es, Article 6 (July 1999).
Implements BIOS emulation support for BHyVe: A BSD Hypervisor Abstract Current BHyVe only supports FreeBSD/amd6 as a GuestOS. One of the reason why BHyVe cannot support other OSes is lack of BIOS support.
More informationevm Virtualization Platform for Windows
B A C K G R O U N D E R evm Virtualization Platform for Windows Host your Embedded OS and Windows on a Single Hardware Platform using Intel Virtualization Technology April, 2008 TenAsys Corporation 1400
More informationLesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
More informationVirtualization Technologies
12 January 2010 Virtualization Technologies Alex Landau (lalex@il.ibm.com) IBM Haifa Research Lab What is virtualization? Virtualization is way to run multiple operating systems and user applications on
More informationLECTURE-7. Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. Topics:
Topics: LECTURE-7 Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. BASIC INTRODUCTION TO DOS OPERATING SYSTEM DISK OPERATING SYSTEM (DOS) In the 1980s or early 1990s, the operating
More informationUses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:
Virtual Machines Uses for Virtual Machines Virtual machine technology, often just called virtualization, makes one computer behave as several computers by sharing the resources of a single computer between
More informationAccessing RCS IBM Console in Windows Using Linux Virtual Machine
Accessing RCS IBM Console in Windows Using Linux Virtual Machine For Graphics Simulation Experiment, Real Time Applications, ECSE 4760 Quan Wang Department of ECSE, Rensselaer Polytechnic Institute March,
More informationDS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311)
ARM DS-5 Version 5.7 Using the Debugger Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G () ARM DS-5 Using the Debugger Copyright 2010, 2011 ARM. All rights reserved. Release Information The
More informationTEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control
TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control Version 3.4, Last Edited 9/10/2011 Students Name: Date of Experiment: Read the following guidelines before working in
More information(Refer Slide Time: 00:01:16 min)
Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control
More informationLast 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
More informationOPERATING 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
More informationVirtualization in Linux KVM + QEMU
CS695 Topics in Virtualization and Cloud Computing KVM + QEMU Senthil, Puru, Prateek and Shashank 1 Topics covered KVM and QEMU Architecture VTx support CPU virtualization in KMV Memory virtualization
More informationHow To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
More informationOutline: Operating Systems
Outline: Operating Systems What is an OS OS Functions Multitasking Virtual Memory File Systems Window systems PC Operating System Wars: Windows vs. Linux 1 Operating System provides a way to boot (start)
More informationCPSC 226 Lab Nine Fall 2015
CPSC 226 Lab Nine Fall 2015 Directions. Our overall lab goal is to learn how to use BBB/Debian as a typical Linux/ARM embedded environment, program in a traditional Linux C programming environment, and
More informationCSE 265: System and Network Administration. CSE 265: System and Network Administration
CSE 265: System and Network Administration MW 9:10-10:00am Packard 258 F 9:10-11:00am Packard 112 http://www.cse.lehigh.edu/~brian/course/sysadmin/ Find syllabus, lecture notes, readings, etc. Instructor:
More informationSTLinux Software development environment
STLinux Software development environment Development environment The STLinux Development Environment is a comprehensive set of tools and packages for developing Linux-based applications on ST s consumer
More informationOperating System Structures
Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
More informationIntro to Intel Galileo - IoT Apps GERARDO CARMONA
Intro to Intel Galileo - IoT Apps GERARDO CARMONA IRVING LLAMAS Welcome! Campus Party Guadalajara 2015 Introduction In this course we will focus on how to get started with the Intel Galileo Gen 2 development
More informationSetting up PostgreSQL
Setting up PostgreSQL 1 Introduction to PostgreSQL PostgreSQL is an object-relational database management system based on POSTGRES, which was developed at the University of California at Berkeley. PostgreSQL
More informationCS 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,
More informationBuilding Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
More informationPriority 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
More informationIntroduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
More informationParallelization: Binary Tree Traversal
By Aaron Weeden and Patrick Royal Shodor Education Foundation, Inc. August 2012 Introduction: According to Moore s law, the number of transistors on a computer chip doubles roughly every two years. First
More informationThe Advanced JTAG Bridge. Nathan Yawn nathan.yawn@opencores.org 05/12/09
The Advanced JTAG Bridge Nathan Yawn nathan.yawn@opencores.org 05/12/09 Copyright (C) 2008-2009 Nathan Yawn Permission is granted to copy, distribute and/or modify this document under the terms of the
More informationINTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE
More informationCSE 265: System and Network Administration. CSE 265: System and Network Administration
CSE 265: System and Network Administration WF 9:10-10:00am Packard 258 M 9:10-11:00am Packard 112 http://www.cse.lehigh.edu/~brian/course/sysadmin/ Find syllabus, lecture notes, readings, etc. Instructor:
More informationFirst-class User Level Threads
First-class User Level Threads based on paper: First-Class User Level Threads by Marsh, Scott, LeBlanc, and Markatos research paper, not merely an implementation report User-level Threads Threads managed
More informationFRONT FLYLEAF PAGE. This page has been intentionally left blank
FRONT FLYLEAF PAGE This page has been intentionally left blank Abstract The research performed under this publication will combine virtualization technology with current kernel debugging techniques to
More information