Programming Assignment 3
|
|
- Benedict Benson
- 5 years ago
- Views:
Transcription
1 UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Spring 2016 Programming Assignment 3 Introduction For this programming assignment you are to write a C, C++, Java, or Python program that demonstrates the processing of memory allocation and deallocation requests when the first fit algorithm is being used. The input data (which is to be read from the standard input) will begin with a single positive integer called MSIZE. This is the size of the simulated memory that will be used to satisfy allocation requests. You should assume the memory region extends from memory location 0 through memory location MSIZE 1. You may assume that no memory allocation request will ever require more than MSIZE units of memory, and that MSIZE will never be larger than The remainder of the input will contain a sequence of allocation and deallocation requests, each on a line by itself. Each allocation request will include a unique positive integer ID that may also be later specified in a memory deallocation request. Examples of allocation and deallocation requests are provided below, and sample input is provided on Loki. Your program is to demonstrate your understanding of the first fit memory management algorithm (and your programming prowess) by displaying the address associated with each requested memory allocation at the time it succeeds. All allocations and deallocations in this assignment are simulated. That is, the memory regions being allocated and deallocated are not real memory regions. Your program is only to keep track of the addresses associated with the simulated allocations. Again, the examples provided below will make this obvious. The First-Fit Algorithm The principal data structure used in the first-fit system is a linked list of unused memory regions; this list is traditionally called the free list. Each entry on this list will identify the address of the unused region and the size 1 of the unused region, and will also identify the next entry on the free list. In this program the entries on the free list are to be ordered by address. That is, each entry on the free list will have a larger address than its predecessor 2. As noted earlier, other than initialization, there are two basic operations to be performed: allocation and deallocation. The details of how these operations are to be implemented will now be described. Allocation of a request for N units of memory is performed by searching the free list for the first entry that has a size R N. If no such entry is found, then the allocation request is deferred (this is discussed later). If R = N, then the entry is removed from the free list and, in a real system, would be used to satisfy 1 We use the generic term unit for the smallest memory item that can be allocated. For many systems this may be a byte, but other systems have other smallest memory allocation sizes. 2 Recall that there are variations of first-fit in which the entries on the list are ordered in other ways. In particular, remember the discussions of best-fit, worst-fit, and next-fit from the text and the lectures.
2 the allocation request 3. Otherwise we have R > N. In this case, the first N units of memory 4 in the region are used to satisfy the allocation request (in the real system). The second part of the region 5, of size R N, remains on the free list. Deallocation of a previously allocated region of size N at address A has more steps than allocation. The first step is to find the correct location on the free list for the region of memory being deallocated. Recall that the free list is ordered by address, so the correct location will be after an entry with a smaller address (or the beginning of the list) and before an entry with a larger address (or the end of the list). Once the correct location on the free list is found, the memory being deallocated (N units at address A) is either added to the region identified by the previous free list entry P if A is the address immediately after the the region identified by P, or added to the free list as a new entry. Regardless of which of these two actions is taken, the free list entry now associated with the deallocated memory must then be coalesced with the following block if it exists and the memory regions are adjacent. Deferred Requests are those allocation requests that could not be completed immediately. When this happes, information about the request (the request ID and the number of memory units requested) is added to the end of a list of such deferred requests. Of course, this list is initially empty at the beginning of the program. Each time a deallocation is performed, then each entry on the deferred list should be examined to see if the memory it originally requested can now be allocated. If it can, then the entry should be removed from the deferred request list and the allocation action performed, as usual. The deferred request list is maintained in FIFO order. That is, the first deferred request essentially has priority over later deferred requests. An Example An illustration with real numbers will aid your understanding of these actions. Specifically, let s assume we have a region with 1024 bytes to use in satisfying allocation requests. Then assume we have the following allocation and deallocation requests to process, in the order given. ID Action 1 Allocate 200 bytes 2 Allocate 399 bytes 3 Allocate 500 bytes 4 Allocate 100 bytes 5 Allocate 300 bytes 6 Allocate 75 bytes 4 Deallocate 5 Deallocate 3 To facilitate later deallocation of a region, your program must maintain some data structure that records successful allocations, including the allocation ID, the size, and the address of each allocated region. 4 If the free list entry indicates the R units of memory start at address A, then these N units of memory will have addresses from A to A + N 1. 5 If the entire region of size R started at address A, then this remaining part of the region will start at address A + N.
3 Initially the free list has a single entry for a region of size 1024 at address 0. The first request (ID 1, allocate 200 units) is easy, since the first (and only) entry on the free list is larger than 200. That region is split into two parts. The region from 0 to 199 is used to satisfy the allocation request, and the region starting at address 200 with size 824 remains on the free list. The second request (ID 2, allocate 399 units) is also easily satisfied. A region of size 399 from address 200 to address 598 is used to satisfy the request, and the region starting at address 599 of size 425 remains on the free list. The third request (ID 3, allocate 500 units) cannot be immediately satisfied because there are no entries on the free list with a sufficient size. The request is therefore deferred. It is added to the end of a list of deferred requests, and will be considered again after each deallocation. The fourth request (ID 4, allocate 100 units) can be easily satisfied by splitting the free region at address 599 into two parts: 100 units at address 599 (as per the request) and the single free list region at address 699 of size 325. The fifth request (ID 5, allocate 300 units) is satisfied using memory starting at address 699, leaving a region of size 25 units on the free list starting at address 999. The sixth request (ID 6, allocate 75 units) cannot be satisfied immediately, so it is deferred. Remember that this deferred request is to be recorded in such a way that the first deferred request (ID 3) will be considered before this one when additional memory becomes available (that is, after each deallocation). The seventh request (ID 4, deallocate) asks for the 100 unit block at address 599 to be freed. Once this has been done, deferred requests must be considered. The first deferred request (ID 3) cannot be satisfied. But sufficient memory is available to complete the next deferred allocation request (ID 6); it s given 75 units at address 599, with the 25 unused units at address 674 being placed in a new node on the free list. The eighth and final request (ID 5, deallocate) frees the 300 byte block at address 699. Note that this region is adjacent to the region with 25 unused units starting at address 674, so those two regions are joined to yield a single region of size 350 units at address 674. There is only one deferred request pending (ID 3 for size 500 units), but there is still insufficient memory to satisfy that request. Details and Limits After reading MSIZE (1 MSIZE 2 20 ) and initializing the free list and any other data structures needed, your program should read and process requests for allocation or deallocation, one at a time, until the end of input (end of file on the standard input) is encountered. Each request will be on a single line that begins with a unique positive integer ID (1 ID) used to identify the request in the input and in the output. No two allocation requests will ever have the same ID, but each deallocation request must contain the ID of a previously successful allocation. The input data used to test your solution will never attempt to deallocate an allocation that is currently deferred, but your solution should detect this case if it should exist, since that would indicate either an error in the input data or your solution! Although the IDs used in the earlier example s allocation requests were sequential, this need not be the case in actual test data. After theid in a request there will appear some whitespace blanks and/or tab characters and either '+' or ' ' to indicate an allocation request or a deallocation request, respectively. In the allocation case,
4 there will also be additional whitespace and a positive integer ASIZE (1 ASIZE MSIZE) that specifies the size of the region to be allocated. After reading each request, your program should display a line that indicates the request that is being processed; these should look like this: Request ID 52: allocate 73 units. Request ID 35: deallocate. Each line for an allocation request should be followed by or Success; addr = as appropriate. Note that the address in the Success message should be the address at which the region allocated for the request begins. After each deallocation request you should display a line that says Additionally, for each deferred request that can be successfully accommodated as a result of a deallocation, display a line that says Deferred request 59 allocated; addr = 500. If multiple deferred requests can be performed as the result of a deallocation, then the messages announcing their successful allocations should be given in the order the requests were deferred. Of course, the IDs and address values in each of these are just examples. Keep in mind that the addresses used in the program for free blocks and allocations are not real memory addresses they are simulated memory addresses. Your program should not be doing dynamic memory allocation for blocks of the sizes used in the progam. Naturally you may use dynamically-allocated data structures to represent the nodes in the free list and other data structures as needed by your solution. Sample Input and Output The instructor s solution to this assignment and files containing sample input are available on Loki in the directory/home/stanw/csci4500. The instructor s solution is in the file named prog3. Like your solution should do, it reads input data from the standard input. The instructor s solution also recognizes the v option on the command line. This causes that solution to produce considerable additional (verbose) output. For example, after each input request has been completed, the program will display the status of each request that has been encountered (active that is, still allocated, deferred, or freed), and the identification of the regions on the free list. Your solution need not include this feature. The sample shown below is the input used the earlier discussion, and is found in the file prog3.in0 on Loki. Here s what it looks like:
5 The expected output for this input is as follows: Request ID 1: allocate 200 units. Success; addr = 0. Request ID 2: allocate 399 units. Success; addr = 200. Request ID 3: allocate 500 units. Request ID 4: allocate 100 units. Success; addr = 599. Request ID 5: allocate 300 units. Success; addr = 699. Request ID 6: allocate 75 units. Request ID 4: deallocate. Deferred request 6 allocated; addr = 599 Request ID 5: deallocate. There are several additional test cases provided, appropriately named. The expected output for each test case can be obtained using the instructor s solution. You should also prepare and use your own data for testing (although it should not be placed in the submission directory). Requirements You must write (and test) a C, C++, Java or Python program that performs the tasks associated with the first fit memory management system as described above. You should ideally have a single file of source code, appropriately named (that is, useprog3 as part of the name). That file (or multiple files, if necessary) should be located in a top-level directory named csci prog3 sometime before Thursday, April 28, 2016 at 11:59 PM. At that time, the contents of that directory will be copied to the instructor s directory for grading. A template (partial solution) for a C solution to this assignment can be found in thecsci4500 directory. It is named prog3_temp.c. You are free to use this source code as the basis for your solution if you wish. You are not, however, required to use this partial solution. Locations in the code that are marked XXX WORK NEEDED obviously will require additional work. There may also be other modifications required to the code. You may work with one or two other students on this assignment that is, groups as large as three students are acceptable. If you work in a group with others, you must clearly indicate the names of all individuals in the group in a comment near the top of the source code (you should indicate the author of your code in all cases, even if you are working by yourself). You should also submit only one solution from the group for evaluation. Each individual in the group will receive the same evaluation. As always, please contact the instructor if you have questions, and periodically check the class web site for any additions or corrections to this assignment.
Programming Assignment 3
UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Summer 2017 Programming Assignment 3 Introduction For this programming assignment you are to write a C, C++, Java, or Python
More informationUNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall Programming Assignment 1 (updated 9/16/2017)
UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall 2017 Programming Assignment 1 (updated 9/16/2017) Introduction The purpose of this programming assignment is to give you
More informationProgramming Assignment 3
UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 3550 Section 002 Communication Networks Spring 2018 Programming Assignment 3 Introduction Having created a TCP client in programming assignment 2, it s
More informationUNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Summer 2016 Programming Assignment 1 Introduction The purpose of this
UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Summer 2016 Programming Assignment 1 Introduction The purpose of this programming assignment is to give you some experience
More informationProgramming Standards: You must conform to good programming/documentation standards. Some specifics:
CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March
More information6.172 Performance Engineering of Software Systems Spring Lecture 9. P after. Figure 1: A diagram of the stack (Image by MIT OpenCourseWare.
6.172 Performance Engineering of Software Systems Spring 2009 Lecture 9 MIT OpenCourseWare Dynamic Storage Allocation Stack allocation: LIFO (last-in-first-out) Array and pointer A used unused P before
More informationCS Operating Systems
CS 4500 - Operating Systems Module 9: Memory Management - Part 1 Stanley Wileman Department of Computer Science University of Nebraska at Omaha Omaha, NE 68182-0500, USA June 9, 2017 In This Module...
More informationCS Operating Systems
CS 4500 - Operating Systems Module 9: Memory Management - Part 1 Stanley Wileman Department of Computer Science University of Nebraska at Omaha Omaha, NE 68182-0500, USA June 9, 2017 In This Module...
More informationLinked Lists, Stacks, and Queues
Department of Computer Science and Engineering Chinese University of Hong Kong In a nutshell, a data structure describes how data are stored in memory, in order to facilitate certain operations. In all
More informationCS 1044 Program 6 Summer I dimension ??????
Managing a simple array: Validating Array Indices Most interesting programs deal with considerable amounts of data, and must store much, or all, of that data on one time. The simplest effective means for
More informationCSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 2 (document version 1.4) Contiguous and Non-contiguous Memory Management
CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 2 (document version 1.4) Contiguous and Non-contiguous Memory Management Overview This project is due by 11:59:59 PM on Wednesday,
More informationDynamic Memory Allocation
Dynamic Memory Allocation CS61, Lecture 10 Prof. Stephen Chong October 4, 2011 Announcements 1/2 Assignment 4: Malloc Will be released today May work in groups of one or two Please go to website and enter
More informationCS 342 Software Design Spring 2018 Term Project Part III Saving and Restoring Exams and Exam Components
CS 342 Software Design Spring 2018 Term Project Part III Saving and Restoring Exams and Exam Components Due: Wednesday 13 March. Electronic copy due at 3:30 P.M. Optional paper copy may be handed in during
More informationCS 1803 Pair Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 29th, before 6 PM Out of 100 points
CS 1803 Pair Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 29th, before 6 PM Out of 100 points Files to submit: 1. HW4.py This is a PAIR PROGRAMMING Assignment: Work with your partner!
More informationCSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 1 (document version 1.3) Process Simulation Framework
CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 1 (document version 1.3) Process Simulation Framework Overview This project is due by 11:59:59 PM on Thursday, October 20, 2016.
More informationCom S 227 Assignment Submission HOWTO
Com S 227 Assignment Submission HOWTO This document provides detailed instructions on: 1. How to submit an assignment via Canvas and check it 3. How to examine the contents of a zip file 3. How to create
More informationCOP Programming Assignment #7
1 of 5 03/13/07 12:36 COP 3330 - Programming Assignment #7 Due: Mon, Nov 21 (revised) Objective: Upon completion of this program, you should gain experience with operator overloading, as well as further
More information1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM
1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1.1 Introduction Given that digital logic and memory devices are based on two electrical states (on and off), it is natural to use a number
More informationBlackboard Student Quick Reference Guide
Blackboard Student Quick Reference Guide Welcome to Blackboard, UTT s E-Learning System! This Quick Reference Guide is designed to help get you started using Blackboard Release 9.1.120113.0. Page 1 of
More informationCS 2316 Individual Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 18th, before 11:55 PM Out of 100 points
CS 2316 Individual Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 18th, before 11:55 PM Out of 100 points Files to submit: 1. HW4.py This is an INDIVIDUAL assignment! Collaboration at a
More informationkey h(key) Hash Indexing Friday, April 09, 2004 Disadvantages of Sequential File Organization Must use an index and/or binary search to locate data
Lectures Desktop (C) Page 1 Hash Indexing Friday, April 09, 004 11:33 AM Disadvantages of Sequential File Organization Must use an index and/or binary search to locate data File organization based on hashing
More informationRecitation #12 Malloc Lab - Part 2. November 14th, 2017
18-600 Recitation #12 Malloc Lab - Part 2 November 14th, 2017 1 2 REMINDER Malloc Lab checkpoint is due on 11/17 This is Friday (instead of the usual Thursday deadline) No late days available Final submission
More informationCS 2210 Programming Project (Part IV)
CS 2210 Programming Project (Part IV) April 25, 2018 Code Generation This project is intended to give you experience in writing a code generator as well as bring together the various issues of code generation
More information15-110: Principles of Computing, Spring 2018
15-110: Principles of Computing, Spring 2018 Problem Set 5 (PS5) Due: Friday, February 23 by 2:30PM via Gradescope Hand-in HANDIN INSTRUCTIONS Download a copy of this PDF file. You have two ways to fill
More information3. When you process a largest recent earthquake query, you should print out:
CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #1 Due Wednesday, September 18 @ 11:00 PM for 100 points Due Tuesday, September 17 @ 11:00 PM for 10 point bonus Updated: 9/11/2013 Assignment: This is the first
More informationCS 2604 Minor Project 1 Summer 2000
RPN Calculator For this project, you will design and implement a simple integer calculator, which interprets reverse Polish notation (RPN) expressions. There is no graphical interface. Calculator input
More information1. Introduction. 2. Deliverables
16.216: ECE Application Programming Summer 2014 Programming Assignment #10: Doubly-Linked Lists Due Friday, 6/27/14, 12:00 PM (noon) NO LATE ASSIGNMENTS 1. Introduction This assignment deals with the combination
More informationLab 1: Dynamic Memory: Heap Manager
Lab 1: Dynamic Memory: Heap Manager Introduction to Systems, Duke University 1 Introduction For this lab you implement a basic heap manager. The standard C runtime library provides a standard heap manager
More informationReview! Lecture 5 C Memory Management !
CS61C L05 C Memory Management (1)! inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 5 C Memory Management 2010-06-28!!! Instructor Paul Pearce! Symmetric multiprocessor! MIPS support for
More informationThe Program Specification:
Reading to Input Failure, Decisions, Functions This programming assignment uses many of the ideas presented in sections 3 through 8 of the course notes, so you are advised to read those notes carefully
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 5 C Memory Management 2010-06-28!!! Instructor Paul Pearce! Symmetric multiprocessor! MIPS support for Android MIPS Technologies (founded
More informationCMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm
1 CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm Objectives To enhance your experience with designing and implementing your own
More informationCS 3204 Operating Systems Programming Project #2 Job / CPU Scheduling Dr. Sallie Henry Spring 2001 Due on February 27, 2001.
CS 3204 Operating Systems Programming Project #2 Job / CPU Scheduling Dr. Sallie Henry Spring 2001 Due on February 27, 2001. 23:59:59 PM Design and implement a program that simulates some of the job scheduling,
More informationHomework 2 (by Ao Zeng) Solutions Due: Friday Sept 28, 11:59pm
CARNEGIE MELLON UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE 15-445/645 DATABASE SYSTEMS (FALL 2018) PROF. ANDY PAVLO Homework 2 (by Ao Zeng) Solutions Due: Friday Sept 28, 2018 @ 11:59pm IMPORTANT: Upload
More informationHashing. Hashing Procedures
Hashing Hashing Procedures Let us denote the set of all possible key values (i.e., the universe of keys) used in a dictionary application by U. Suppose an application requires a dictionary in which elements
More informationACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1
ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 Due to CMS by Tuesday, February 14. Social networking has caused a return of the dot-com madness. You want in on the easy money, so you have decided to make
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #4 C Memory Management 2007-06-28 Scott Beamer, Instructor iphone Comes out Tomorrow CS61C L4 C Memory Management (1) www.apple.com/iphone
More informationMemory Allocation in VxWorks 6.0 White Paper
Memory Allocation in VxWorks 6.0 White Paper Zoltan Laszlo Wind River Systems, Inc. Copyright 2005 Wind River Systems, Inc 1 Introduction Memory allocation is a typical software engineering problem for
More informationProgramming, Data Structures and Algorithms Prof. Hema A Murthy Department of Computer Science and Engineering Indian Institute of Technology, Madras
Programming, Data Structures and Algorithms Prof. Hema A Murthy Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 54 Assignment on Data Structures (Refer Slide
More informationCS Lecture 19: Loop invariants
CS 1110 Lecture 19: Loop invariants Announcements Prelim 2 conflicts Today (April 2) is two weeks before the prelim, and the deadline for submitting prelim conflicts. Instructor travel This week and the
More informationEECE.4810/EECE.5730: Operating Systems Spring 2018 Programming Project 3 Due 11:59 PM, Wednesday, 4/18/18 Monday, 4/30/18
Spring 2018 Programming Project 3 Due 11:59 PM, Wednesday, 4/18/18 Monday, 4/30/18 1. Introduction This project uses simulation to explore the effectiveness of the different scheduling algorithms described
More informationCSCI 4500 / 8506 Sample Questions for Quiz 5
CSCI 4500 / 8506 Sample Questions for Quiz 5 1. Why might a system treat memory allocation requests from the operating system itself differently from those generated by an application? a. The OS typically
More informationCS 2704 Project 2: Elevator Simulation Fall 1999
Elevator Simulation Consider an elevator system, similar to the one on McBryde Hall. At any given time, there may be zero or more elevators in operation. Each operating elevator will be on a particular
More informationHomework 3: Relational Database Design Theory (100 points)
CS 122A: Introduction to Data Management Spring 2018 Homework 3: Relational Database Design Theory (100 points) Due Date: Wed, Apr 25 (5:00 PM) Submission All HW assignments should be turned in with a
More informationKaltura Blackboard Building Block - KAF
Kaltura Blackboard Building Block - KAF I. Introduction a. The Kaltura Building Block allows us to add powerful media tools to Blackboard, combing the best features of video sharing, webcam recording,
More informationPart II: Memory Management. Chapter 7: Physical Memory Chapter 8: Virtual Memory Chapter 9: Sharing Data and Code in Main Memory
Part II: Memory Management Chapter 7: Physical Memory Chapter 8: Virtual Memory Chapter 9: Sharing Data and Code in Main Memory 1 7. Physical Memory 7.1 Preparing a Program for Execution Program Transformations
More informationThe e-marks System: Instructions for Faculty of Arts and Science Users
The e-marks System: Instructions for Faculty of Arts and Science Users Contents Section A: Logging in... 2 Section B: Submitting Your Marks... 3 Section C: Marks Amendments... 8 Section D: How to Approve
More informationProblem Set 1. Problem 1-1.
Introduction to Algorithms: 6.006 Massachusetts Institute of Technology September 8, 2011 Professors Erik Demaine and Srini Devadas Problem Set 1 Problem Set 1 Both theory and programming questions are
More informationHomework #5 Algorithms I Spring 2017
Homework #5 Algorithms I 600.463 Spring 2017 Due on: Saturday, March 18th, 11:59pm Late submissions: will NOT be accepted Format: Please start each problem on a new page. Where to submit: On Gradescope,
More informationCS 2604 Minor Project 1 DRAFT Fall 2000
RPN Calculator For this project, you will design and implement a simple integer calculator, which interprets reverse Polish notation (RPN) expressions. There is no graphical interface. Calculator input
More informationProblem Set 6 Due: 11:59 Sunday, April 29
CS230 Data Structures Handout # 36 Prof. Lyn Turbak Monday, April 23 Wellesley College Problem Set 6 Due: 11:59 Sunday, April 29 Reading: You are expected to read and understand all of the following handouts,
More informationHomework No. 4 Answers
Homework No. 4 Answers CSCI 4470/6470 Algorithms, CS@UGA, Spring 2018 Due Thursday March 29, 2018 There are 100 points in total. 1. (20 points) Consider algorithm DFS (or algorithm To-Start-DFS in Lecture
More informationCS 261 Spring 2013 Midterm
CS 261 Spring 2013 Midterm Name: Student ID: 1: 2: 3: 4: 5: 6: Total: 1. (20 points) Suppose that we implement a simplified version of the dynamic array data structure in which the amount of memory allocated
More informationCOMP-202: Foundations of Programming. Lecture 4: Flow Control Loops Sandeep Manjanna, Summer 2015
COMP-202: Foundations of Programming Lecture 4: Flow Control Loops Sandeep Manjanna, Summer 2015 Announcements Check the calendar on the course webpage regularly for updates on tutorials and office hours.
More informationCSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 2 (document version 1.4) CPU Scheduling Algorithms
CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 2 (document version 14) CPU Scheduling Algorithms Overview This project is due by 11:59:59 PM on Monday, October 5, 2015 Projects
More informationCOMPUTER SCIENCE 4500 OPERATING SYSTEMS
Last update: 3/28/2017 COMPUTER SCIENCE 4500 OPERATING SYSTEMS 2017 Stanley Wileman Module 9: Memory Management Part 1 In This Module 2! Memory management functions! Types of memory and typical uses! Simple
More information(Refer Slide Time: 00:18)
Programming, Data Structures and Algorithms Prof. N. S. Narayanaswamy Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 11 Lecture 58 Problem: single source shortest
More informationProject 4: Implementing Malloc Introduction & Problem statement
Project 4 (75 points) Assigned: February 14, 2014 Due: March 4, 2014, 11:59 PM CS-3013, Operating Systems C-Term 2014 Project 4: Implementing Malloc Introduction & Problem statement As C programmers, we
More informationComputer Center. Texas Tech University. Quick Reference Guide For Testing
Computer Center Texas Tech University Quick Reference Guide For Testing Office Hours Monday - Friday, 8 am to 5 pm (Closed Noon-1 pm) (Scanning Hours: 8-11:45; and 1-4:45) Computer Center, 8 th & Boston,
More informationWelcome to CS 135 (Winter 2018)
Welcome to CS 135 (Winter 2018) Instructors: Sandy Graham, Paul Nijjar Other course personnel: see website for details ISAs (Instructional Support Assistants) IAs (Instructional Apprentices) ISC (Instructional
More informationLBSC 690: Information Technology Lecture 05 Structured data and databases
LBSC 690: Information Technology Lecture 05 Structured data and databases William Webber CIS, University of Maryland Spring semester, 2012 Interpreting bits "my" 13.5801 268 010011010110 3rd Feb, 2014
More informationCS 211 Programming Practicum Spring 2018
Due: Thursday, 4/5/18 at 11:59 pm Infix Expression Evaluator Programming Project 5 For this lab, write a C++ program that will evaluate an infix expression. The algorithm REQUIRED for this program will
More informationCS 186/286 Spring 2018 Midterm 1
CS 186/286 Spring 2018 Midterm 1 Do not turn this page until instructed to start the exam. You should receive 1 single-sided answer sheet and a 13-page exam packet. All answers should be written on the
More informationEvents, Memory Management
Events, Memory Management Events, Memory Management 1. Call back, message pumps 2. Call backs vs messages 3. Memory management Callback Program registers and event handler program that is called whenever
More informationSakai Forums.
Sakai Forums http://sakai.providence.edu SakaiHelp@Providence.edu www.providence.edu/itdp Turning on the Forums Tool: The Forums tools is not automatically set up a new Sakai site. If you would like to
More informationCISC 3130 Data Structures Spring 2018
CISC 3130 Data Structures Spring 2018 Instructor: Ari Mermelstein Email address for questions: mermelstein AT sci DOT brooklyn DOT cuny DOT edu Email address for homework submissions: mermelstein DOT homework
More informationAssignment 6: The Power of Caches
Assignment 6: The Power of Caches Due by: April 20, 2018 before 10:00 pm Collaboration: Individuals or Registered Pairs (see Piazza). It is mandatory for every student to register on Piazza. Grading: Packaging
More informationProject #1 Computer Science 2334 Fall 2008
Project #1 Computer Science 2334 Fall 2008 User Request: Create a Word Verification System. Milestones: 1. Use program arguments to specify a file name. 10 points 2. Use simple File I/O to read a file.
More informationCS 556 Spring 2017 Project 3 Study of Cryptographic Techniques
CS 556 Spring 2017 Project 3 Study of Cryptographic Techniques Project Due Dates: Part A: Due before class on CANVAS by Thursday, March 23, 2017 Part B: Due before class on CANVAS by Thursday April 6,
More informationMarks Management & ScanExam Introduction
Marks Management & ScanExam Introduction 1. Install Marks Management Software (MMS) and ScanExam First uninstall your old version of MMS. Then, use a web browser to visit ssnds.uwo.ca/softwaredownloads.html
More informationEE355 Lab 5 - The Files Are *In* the Computer
1 Introduction In this lab you will modify a working word scramble game that selects a word from a predefined word bank to support a user-defined word bank that is read in from a file. This is a peer evaluated
More informationInternational MBA Administrator Instructions
International MBA Administrator Instructions International MBA Administrator Instructions Thank you for using the I-MBA Administrator. The environment aims at simplifying the maintenance and facilitating
More informationCMPSC 111 Introduction to Computer Science I Fall 2016 Lab 2 Assigned: September 7, 2016 Due: Wednesday, September 14, 2016 by 2:30 pm
1 Objectives CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 2 Assigned: September 7, 2016 Due: Wednesday, September 14, 2016 by 2:30 pm To develop a template for a Java program to use during
More informationPointer Accesses to Memory and Bitwise Manipulation
C Programming Pointer Accesses to Memory and Bitwise Manipulation This assignment consists of implementing a function that can be executed in two modes, controlled by a switch specified by a parameter
More informationCS ) PROGRAMMING ASSIGNMENT 11:00 PM 11:00 PM
CS3114 (Fall 2017) PROGRAMMING ASSIGNMENT #4 Due Thursday, December 7 th @ 11:00 PM for 100 points Due Tuesday, December 5 th @ 11:00 PM for 10 point bonus Last updated: 11/13/2017 Assignment: Update:
More informationLab 7 1 Due Thu., 6 Apr. 2017
Lab 7 1 Due Thu., 6 Apr. 2017 CMPSC 112 Introduction to Computer Science II (Spring 2017) Prof. John Wenskovitch http://cs.allegheny.edu/~jwenskovitch/teaching/cmpsc112 Lab 7 - Using Stacks to Create a
More informationSpring 2017 CMSC 140 Programming Project 7: Payroll
Spring 2017 CMSC 140 Programming Project 7: Payroll Concepts tested by the program: 1. Working with arrays 2. Using file operations 3. Using a selection sort to sort parallel arrays 4. Using a binary search
More informationDue: February 26, 2014, 7.30 PM
Jackson State University Department of Computer Science CSC 438-01/539-01 Systems and Software Security, Spring 2014 Instructor: Dr. Natarajan Meghanathan Project 1: Exploring UNIX Access Control in a
More informationCSCI 204 Introduction to Computer Science II Lab 8 Priority Queue ADT
CSCI 204 Introduction to Computer Science II Lab 8 Priority Queue ADT 1. Objectives The objectives of this lab are to: Become familiar with priority queues. Exercise inheritance. Implement a priority queue
More informationSoda Machine Laboratory
Soda Machine Laboratory Introduction This laboratory is intended to give you experience working with multiple queue structures in a familiar real-world setting. The given application models a soda machine
More informationLab 03 - x86-64: atoi
CSCI0330 Intro Computer Systems Doeppner Lab 03 - x86-64: atoi Due: October 1, 2017 at 4pm 1 Introduction 1 2 Assignment 1 2.1 Algorithm 2 3 Assembling and Testing 3 3.1 A Text Editor, Makefile, and gdb
More informationMemory Management Basics
Memory Management Basics 1 Basic Memory Management Concepts Address spaces! Physical address space The address space supported by the hardware Ø Starting at address 0, going to address MAX sys! MAX sys!!
More informationProgramming assignment for the course Sequence Analysis (2006)
Programming assignment for the course Sequence Analysis (2006) Original text by John W. Romein, adapted by Bart van Houte (bart@cs.vu.nl) Introduction Please note: This assignment is only obligatory for
More informationCMPE 180A Data Structures and Algorithms in C++ Spring 2018
San José State University Department of Computer Engineering CMPE 180A Data Structures and Algorithms in C++ Spring 2018 Assigned: Thursday, April Due: Thursday, April 12 at :30 PM Canvas: Assignment #10.
More informationD2L Extract Process (ZSRD2LX) Workbook Version Information Technology Services
(ZSRD2LX) Workbook Version 8.14 June 2012 This page left blank to facilitate front/back printing. Table of Contents Table of Contents (ZSRD2LX) Introduction... 1 Section 1: Codes, Rules, and Forms... 2
More informationLinking to Tools in a Course Area
Linking to Tools in a Course Area Sometimes a specific course tool is a natural complement to the material featured in a content area. In this case, it makes sense to add a tool link to any page where
More informationCSCI 561: Foundations of Artificial Intelligence Instructor: Prof. Laurent Itti Homework 1: Uninformed Search Due on September 23rd at 11:59pm, 2015
CSCI 561: Foundations of Artificial Intelligence Instructor: Prof. Laurent Itti Homework 1: Uninformed Search Due on September 23rd at 11:59pm, 2015 UNINFORMED SEARCH There is an old city that has an antique
More informationGraph Coloring. Margaret M. Fleck. 3 May This lecture discusses the graph coloring problem (section 9.8 of Rosen).
Graph Coloring Margaret M. Fleck 3 May 2010 This lecture discusses the graph coloring problem (section 9.8 of Rosen). 1 Announcements Makeup quiz last day of classes (at the start of class). Your room
More information12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.
Java How to Program, 9/e Education, Inc. All Rights Reserved. } Java application programming } Use tools from the JDK to compile and run programs. } Videos at www.deitel.com/books/jhtp9/ Help you get started
More informationOnline Course Evaluation System Faculty User Guide
Accessing the System The online system for course evaluations is available through your Banner Web for Faculty account. To access the course evaluations menu, follow these steps: Log in to Banner Web using
More informationAnnouncements. Final Exam. December 10th, Thursday Patrick Taylor Hall. Chapters included in Final. 8.
CSC 4103 - Operating Systems Fall 2009 Lecture - XXV Final Review Announcements * You should have received your grades as well as graded papers for: - Homework 1-4 - Quiz 1-3 - Midterm If not, please see
More informationAssignment 1: Plz Tell Me My Password
Assignment 1: Plz Tell Me My Password Part I Due: 11:59 pm, September 23, 2013 Part II Due : 11:59 pm, September 27, 2013 1 Introduction The objective of this assignment is to gain experience in: socket
More informationUsing VeriCite. NMU Center for Teaching and Learning. 1. To Create and Assignment using VeriCite:
1. To Create and Assignment using VeriCite: Log into EduCat, Click into your course, and Turn editing on. 2. Scroll to the section you want the assignment to be displayed. Click on Add an activity or resource.
More informationNYSESLAT Speaking Audio Recorder Download/Upload Instructions
New York State English As A Second Language Achievement Test NYSESLAT Speaking Audio Recorder Download/Upload Instructions Speaking Field Test 2018 Field test edition copyright 2018 by the New York State
More informationmanaba+r Report Examination Manual [For Students]
manaba+r Report Examination Manual [For Students] Contents 1. Report Examination... 1 1.1. Courses with Report Examinations... 1 1.2. Report Topic Announcement Method... 1 1.3. Report Submission... 1 1.4.
More informationLab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018
Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Due: Tuesday, September 18, 11:59 pm Collaboration Policy: Level 1 (review full policy for details) Group Policy: Individual This lab will give you experience
More informationCS125 : Introduction to Computer Science. Lecture Notes #4 Type Checking, Input/Output, and Programming Style
CS125 : Introduction to Computer Science Lecture Notes #4 Type Checking, Input/Output, and Programming Style c 2005, 2004, 2002, 2001, 2000 Jason Zych 1 Lecture 4 : Type Checking, Input/Output, and Programming
More informationVirtual Memory. Chapter 8
Virtual Memory 1 Chapter 8 Characteristics of Paging and Segmentation Memory references are dynamically translated into physical addresses at run time E.g., process may be swapped in and out of main memory
More informationEECE.2160: ECE Application Programming
Summer 2017 Programming Assignment #9: Doubly-Linked Lists Due Monday, 6/26/17, 11:59:59 PM (+15% if submitted by 6/23, +10% if submitted 6/24-6/25, +5% if submitted 6/26) 1. Introduction This assignment
More informationCS 245 Midterm Exam Winter 2014
CS 245 Midterm Exam Winter 2014 This exam is open book and notes. You can use a calculator and your laptop to access course notes and videos (but not to communicate with other people). You have 70 minutes
More information