CS333 Project 1 Test Report Your Name Here

Similar documents
Project 1 System Calls

Introduction. This project will focus primarily on processes.

NYU Poly s Policy on Academic Misconduct:

Introduction. Xv6 memory

CS Lab 1 xv6 Introduction Setup and exercise

Porting Linux to a New Architecture

Porting Linux to a New Architecture

Project 3 Improved Process Management

Evaluation of MIPS Prelinking

Project 5 File System Protection

Distributed Systems Programming (F21DS1) SPIN: Simple Promela INterpreter

52 Remote Target. Simulation. Chapter

CSE 451: Operating Systems. Sec$on 2 Interrupts, system calls, and project 1

MV 4412 Android 4.0 Compilation

Release Note MPI/XMP-Linux Support Package

CS 143A. Principles of Operating Systems. Instructor : Prof. Anton Burtsev

Project 5 File System Protection

Gabrielle Evaristo CSE 460. Lab Dining Philosophers and Deadlock

MV V310 Android 4.0 Compilation

Department of Computer Science and Technology

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR / ODD SEMESTER

Programming Project 1: Introduction to the BLITZ Tools

Kernel Module Programming

Please choose the best answer. More than one answer might be true, but choose the one that is best.

LTC Data Converter Board For The Arrow SoCKit Linux Application User s Guide

DMVPN Event Tracing. Finding Feature Information

SHRI ANGALAMMAN COLLEGE OF ENGINEERING AND TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR, TIRUCHIRAPPALLI

CSX600 Runtime Software. User Guide

March 10, Linux Live Patching. Adrien schischi Schildknecht. Why? Who? How? When? (consistency model) Conclusion

Laboratory work in TDDB68 Pintos Assignments 2, 3. Viacheslav Izosimov

Troubleshooting the Installation

Introduction to Programming COIT 20245

Windows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C.

Pebbles Kernel Specification September 26, 2004

Lab 3a Using the vi editor

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

Memory Related Parameters Passing in TI Keystone II Linux Kernel and U-Boot

Makefile Tutorial. Eric S. Missimer. December 6, 2013

Operating System Design

Linux System Administration

PathFinder-XD for MIPS Powered Devices. Simulator

CS 470 Operating Systems Spring 2013 Shell Project

Overview. This Lecture. Interrupts and exceptions Source: ULK ch 4, ELDD ch1, ch2 & ch4. COSC440 Lecture 3: Interrupts 1

CSCI341. Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory

Hardware OS & OS- Application interface

University of Colorado at Colorado Springs CS4500/ Fall 2018 Operating Systems Project 1 - System Calls and Processes

Dalhousie University CSCI 2132 Software Development Winter 2018 Lab 8, March 22

MV V210 Android 4.0 Compilation

CISC 7310X. C03: Process. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 2/15/2018 CUNY Brooklyn College

User s Guide. HP B3081B Real-Time OS Measurement Tool for VRTX32 and VRTXsa

W4118: interrupt and system call. Junfeng Yang

THE PROCESS ABSTRACTION. CS124 Operating Systems Winter , Lecture 7

Setting up PostgreSQL

Reading Assignment 4. n Chapter 4 Threads, due 2/7. 1/31/13 CSE325 - Processes 1

QEMU and the Linux Kernel

Project 2: CPU Scheduling Simulator

1.Explain with the diagram IVT of 80X86. Ans-

SDK. About the Cisco SDK. Installing the SDK. Procedure. This chapter contains the following sections:

Utilities. Introduction. Working with SCE Platform Files. Working with Directories CHAPTER

PMC-BiSerial-III SDLC 8-Channel SDLC Interface

UNIX 2 OPERATING SYSTEM

Release Notes CCURDSCC (WC-AD3224-DS)

CS 261 Fall Mike Lam, Professor. Processes

3. Process Management in xv6

Lecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.

Basic Shell Commands. Bok, Jong Soon

Hint #1. Define a syscall

Project #1 Exceptions and Simple System Calls

Operating System Labs. Yuanbin Wu

Linux Systems Administration Shell Scripting Basics. Mike Jager Network Startup Resource Center

ECE 471 Embedded Systems Lecture 8

Faculty of Computer Science Institute for System Architecture, Operating Systems Group. Complex Lab Operating Systems 2016 Winter Term.

CS61 Scribe Notes Lecture 18 11/6/14 Fork, Advanced Virtual Memory

Lab 2.2. Out: 9 February 2005

Introduction to UNIX and Linux: Lecture 1

Homework 3 Grade Database Management Due Date

PROCESS MANAGEMENT. Operating Systems 2015 Spring by Euiseong Seo

Embedded Linux. Session 4: Introduction to the GPIO Kernel API. Martin Aebersold BFH-TI Dipl. El.-Ing. FH.

O Commands. Send documentation comments to CHAPTER

Mechanisms for entering the system

RT extensions/applications of general-purpose OSs

CS 410/510. Mark P Jones Portland State University

CSE 361 Fall 2017 Malloc Lab: Writing a Dynamic Storage Allocator Assigned: Monday Nov. 13, Due: Monday Dec. 05, 11:59PM

7.3 Simplest module for embedded Linux drivers

A visitation of sysdig Project Report

Table of Contents 1 Information Center Configuration Guide 1-1

Operating Systems 2014 Assignment 2: Process Scheduling

COP4610: Operating Systems Project 1

Shell Scripting. Todd Kelley CST8207 Todd Kelley 1

Parallel System Architectures 2016 Lab Assignment 1: Cache Coherency

UNLV Computer Science Department CS 135 Lab Manual

Introduction to OS Processes in Unix, Linux, and Windows MOS 2.1 Mahmoud El-Gayyar

Kernel Services CIS 657

The Procedure Abstraction Part I Basics

CS350 Operating Systems Fall Assignment Two

Chap 4, 5: Process. Dongkun Shin, SKKU

19: I/O Devices: Clocks, Power Management

CS4333/6333 Network Programming Project #2 -Building an Ethernet Layer Introduction / Purpose

CSCE Operating Systems Interrupts, Exceptions, and Signals. Qiang Zeng, Ph.D. Fall 2018

CS 550 Operating Systems Spring Process I

Transcription:

To obtain the L A TEX source for this document, change the file extension to.tex in the url. Testing Aside: Each student will need to provide their own screen shots or other test output as well as the test description. This section also uses two different styles for describing tests and their results. This is to demonstrate more that one style please use a consistent style with your report. Compilation Test This section will show that my project one code compiles with the project flag set to 1 and also set to 0. Subtest 1: Compile with CS333 PROJECT set to 0. Since the listing is so long, this will require two screen shots. In the first screen shot, the current date and time is displayed as well as the value for CS333 PROJECT, verifying that it is set to 0. In the second screen show, the same information is displayed. This is used to show that the two screen shots are from the same compilation sequence. The expected outcome is that the compilation step will correctly compile with the project flag set to 0. Figure 1: Compilation with CS333 PROJECT set to 0. Figure 2: Compilation with CS333 PROJECT set to 0. 1

The date in the first and second figures show about 12 seconds of elapsed time. This shows that the two date commands occurred close in time. The grep commands before and after the compilation show that the project flag in the Makefile is set to 0. The date commands are executed close in time, the project flag shows the same value before and after the compilation, and the compilation shows no errors. This leads to the conclusion that the project code correctly compiles with the project flag turned off. This subtest PASSES. Subtest 2: Boot compile with CS333 PROJECT set to 1. Since the listing is so long, this will require two screen shots. In the first screen shot, the current date and time is displayed as well as the value for CS333 PROJECT, verifying that it is set to 1. In the second screen show, the same information is displayed. This is used to show that the two screen shots are from the same compilation sequence. The expected outcome is that the compilation step will correctly compile with the project flag set to 1. Figure 3: Compilation with CS333 PROJECT set to 0. Figure 4: Compilation with CS333 PROJECT set to 0. The date in the first and second figures show about 10 seconds of elapsed time. This shows that the two date commands occurred close in time. The grep commands before and after the compilation show that the project flag in the Makefile is set to 1. The date commands are 2

executed close in time, the project flag shows the same value before and after the compilation, and the compilation shows no errors. This leads to the conclusion that the project code correctly compiles with the project flag turned off. This subtest PASSES. Since each subtest passes and the subtests fully test the objectives, this test PASSES. PRINT SYSCALLS Test This test verifies that my kernel correctly compiles with the flag PRINT SYSCALLS turned off, set to 0 in the Makefile. This test has two subtests: 1) the kernel correctly compiles and boots with the CS333 P1 flag turned off; and 2) the kernel correctly compiles and boots with the CS333 P1 flag turned on. Since the PRINT SYSCALLS causes all system calls to be printed along with their return codes, booting to the shell is sufficient as that process causes many system calls to be invoked. It is expected that no system call information will be printed to the console. Subtest 1: PRINT SYSCALLS and CS333 PROJECT set to 0. Figure 5: Makefile with PRINT SYSCALLS and CS333 PROJECT set to 0. Figure 6: Boot with PRINT SYSCALLS and CS333 PROJECT set to 0. No system call information is displayed on boot with PRINT SYSCALLS and CS333 PROJECT set to 0, as expected. This subtest PASSES. 3

Subtest 2: PRINT SYSCALLS set to 0 and CS333 PROJECT set to 1. Figure 7: Makefile with PRINT SYSCALLS set to 0 and CS333 PROJECT set to 1. Figure 8: Boot with PRINT SYSCALLS set to 0 and CS333 PROJECT set to 1. No system call information is displayed on boot with PRINT SYSCALLS set to 0 and CS333 PROJECT set to 1, as expected. This subtest PASSES. Both subtests pass. This test therefore PASSES. 4

System Call Tracing Facility This test verifies that my kernel correctly compiles with the flag PRINT SYSCALLS turned on, set to 1 in the Makefile. This test boots the kernel to the shell prompt. The output should contain additional information from the PRINT SYSCALLS turned off test; specifically a list of system calls and their return codes should be displayed. This list should closely match the output shown in the project description. Figure 9: Boot with PRINT SYSCALLS set to 1 and CS333 PROJECT set to 1. The system call trace correctly displays the invoked system calls and matches the reference output from the project description. Standard output is interleaved with the trace output, as expected. This test PASSES. 5

Usertests and forktest run with CS333 P1 flag turned off I tested that xv6 correctly compiles and runs with the CS333 P1 flag disabled. I set the CS333 PROJECT value in the Makefile to 0. I then verified this setting and compiled xv6. It is expected that xv6 will boot normally and both usertests and forktest will successfully execute. Since forktest is executed as part of usertests, only usertests will be executed. Some output has been elided. Figure 10: CS333 P1 disabled 1 Figure 11: CS333 P1 disabled 2 From both figures, we can see that all usertests have passed. Further, since forktest is run as a part of usertests, we know that forktest has passed. This test PASSES. 6

Usertests and forktest run with CS333 P1 flag turned on I tested that xv6 correctly compiles and runs with the CS333 P1 flag enabled. I set the CS333 PROJECT value in the Makefile to 1, compiled and booted xv6 using make qemu-nox, and then ran usertests. As mentioned above, this is an acceptable test for both usertests and forktest since forktest is run as part of usertests. It is expected that all tests from usertests will pass. Figure 12: Usertests with CS333 P1 enabled From the above figure, we can see that all usertest tests pass. This test PASSES. 7

Date Command This test verifies that my date command works correctly. As implementing timezones was not a requirement and the system clock tracks to universal coordinate time (UTC), the expected output would be a close match to running the Linux date command date -u. The test will require 1) boot xv6; 2) run the date command under xv6; 3) exit xv6 (I will use the control sequence); and 4) run date -u at the Linux prompt. Note that the Linux output is expected to display a few seconds later than the xv6 date command as it takes non-zero time to perform the xv6 shutdown and Linux command invocation. Figure 13: Date Command As expected, the xv6 date command prints the same information in the same format as the Linux date command and the seconds field is a few seconds later for the Linux command than the xv6 command. This test PASSES. 8

Control-P Format In this test, I verified that Control-P displays processes with the correct header, that process information is aligned with the appropriate header, and that the correct data is displayed. It is expected that I will observe a well-formatted and correct output from the Control-P command. Figure 14: Control-p output From the above figure, we can see that the header contains the appropriate fields, that the appropriate process information is aligned with each header item, and that the process information displayed is correct (it is assumed that the program counters are correct). The elapsed time for the init process is slightly higher than for the sh process. This is expected since the init process is the first process to start and init is responsible for starting sh. In addition, the elapsed time increases with ever press of Control-P. This is the expected and desired behavior. This test PASSES. 9