CS 450 MPX P ROJECT Introduction to MPX. I NTRODUCTION TO MPX The MPX module is divided into six modules Module R1: User Interface Module R2: Process.

Slides:



Advertisements
Similar presentations
Topics Introduction Types of Errors Exceptions Exception Handling
Advertisements

Chapter 3 Process Description and Control
CS 450 MPX P ROJECT Introduction to Turbo C. W HY USE T URBO C? Many ANSI C compilers are available for free, however they lack certain features that.
R4 Dynamically loading processes. Overview R4 is closely related to R3, much of what you have written for R3 applies to R4 In R3, we executed procedures.
CS 450 Module R4. R4 Overview Due on March 11 th along with R3. R4 is a small yet critical part of the MPX system. In this module, you will add the functionality.
CS 450 Module R3. Next Week R2 is due next Friday ▫Make sure to correct all errors with R1 ▫Correct errors in the documentation as well, it will be checked.
CS 450 Module R1. R1 Introduction In Module R1, you will implement a user interface (command handler). There are a couple of options: ▫Command Line: interface.
Module R2 Overview. Process queues As processes enter the system and transition from state to state, they are stored queues. There may be many different.
Module R2 CS450. Next Week R1 is due next Friday ▫Bring manuals in a binder - make sure to have a cover page with group number, module, and date. You.
Chapter 7: User-Defined Functions II
Exception Handling The purpose of exception handling is to permit the program to catch and handle errors rather than letting the error occur and suffer.
Chapter 10 Introduction to Arrays
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
COSC 120 Computer Programming
Chapter 10.
Process Description and Control Module 1.0. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
Process Description and Control Chapter 3. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
Operating System Tracing the nachos code in Java
CS 201 Functions Debzani Deb.
Modules, Hierarchy Charts, and Documentation
Pointers Applications
CS 450 Module R5. Next Week Reminder: R3 & R4 is due next Friday. Only one member of your group needs to be present at demonstration. If your group would.
Renesas Technology America Inc. 1 M16C/Tiny SKP Tutorial 2 Creating A New Project Using HEW4.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Purpose  This training course describes how to configure the the C/C++ compiler options.
CS 450 Module R6. Next Week R5 is due next Friday (April 3) No documentation, no source code due R5 is stand-alone, so I will not be checking errors from.
CS 450 Module R6. Next Week R5 is due Friday after Break ( April 1st ) ▫No documentation, no source code due ▫R5 is stand-alone, so I will not be checking.
1 Web-Enabled Decision Support Systems Objects and Procedures Don McLaughlin IE 423 Design of Decision Support Systems (304)
Introduction to Processes CS Intoduction to Operating Systems.
FINAL MPX DELIVERABLE Due when you schedule your interview and presentation.
By Noorez Kassam Welcome to JNI. Why use JNI ? 1. You already have significantly large and tricky code written in another language and you would rather.
The Java Programming Language
CS 450 MPX P ROJECT A Quick C Review. P OINTERS AND ADDRESSES IN C Check Manual I2 from Dr. Mooney’s website for a complete review of C topics you will.
CS 450 Module R5. Next Week Reminder: R3 & R4 is due next Friday. No documentation due. You do not need to turn in a copy of your source code. Remember.
Chapter 13 Programming in the Large Dr. Jiung-yao Huang Dept. Comm. Eng. Nat. Chung Cheng Univ. TA: 鄭筱親 陳昱豪.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
CE Operating Systems Lecture 3 Overview of OS functions and structure.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
CPS120: Introduction to Computer Science Functions.
Chapter 15 Introduction to PL/SQL. Chapter Objectives  Explain the benefits of using PL/SQL blocks versus several SQL statements  Identify the sections.
Processes Introduction to Operating Systems: Module 3.
Module R3 Process Scheduling. Module R3 involves the creation of a simple “Round Robin” dispatcher. The successful completion of this module will require.
Operating System Principles And Multitasking
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
Lecture 6: Writing the Project Documentation Part IV.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
How to write a MSGQ Transport (MQT) Overview Nov 29, 2005 Todd Mullanix.
TCU CoSc Introduction to Programming (with Java) Java Language Overview.
Functions Math library functions Function definition Function invocation Argument passing Scope of an variable Programming 1 DCT 1033.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
CSE 303 Concepts and Tools for Software Development Richard C. Davis UW CSE – 10/11/2006 Lecture 7 – Introduction to C.
Introduction to ASP.NET, Second Edition2 Chapter Objectives.
Jython Environment For Students (JES) Final Presentation Team 3 David Raines Claire Bailey Jason Ergle Josh Sklare July 16,
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
STRUCTURED PROGRAMMING Complete C++ Program. Content 2  Main Function  Preprocessor directives  User comments  Escape characters  cout statement.
© 2002, Cisco Systems, Inc. All rights reserved.
Process concept.
Compiler Construction (CS-636)
Objectives Identify the built-in data types in C++
Chapter 3: Windows7 Part 2.
Chapter 3: Windows7 Part 2.
CS703 - Advanced Operating Systems
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
Mr. M. D. Jamadar Assistant Professor
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

CS 450 MPX P ROJECT Introduction to MPX

I NTRODUCTION TO MPX The MPX module is divided into six modules Module R1: User Interface Module R2: Process management framework Control structure for processes (Process Control Block) Queues to hold PCBs Functions to create, destroy, and maintain PCBs Module R3: Process scheduling Dispatcher to run processes Interrupt handler to process interrupts Module R4: Dynamically loading MPX processes from files Module R5: Serial Communications Driver Read and Write bytes to the serial (COM) port Module F: Putting it all together Continuous dispatch & I/O scheduling

P ROGRAMMING E NVIRONMENT Windows Operating System Must have administrator access for Modules R5 and F (R6) C Programming Language Any ANSI C Compiler will work, however use of Turbo C version 1 or 3 is highly recommended. If you do not use Turbo C, you will need to inject assembly code into your project which will greatly increase development and debugging time

U SER M ANUAL Purpose is to describe the functionality of your MPX project to potential users of your system which would be individuals sitting at the terminal and using your MPX system. Users should be able to completely use your system by referencing the user’s manual.

U SER ’ S M ANUAL O UTLINE Table of Contents Overview of Comhan/MPX Paragraph summarizing the system Summary of all commands A list of all the commands and a short description about each Detailed description of each command Syntax Use Example of Use Possible error(s) messages Index

P ROGRAMMER ’ S M ANUAL Should provide all information necessary for programmers that have never seen your code before to modify or enhance your code Describes the program structure and how your program operates

P ROGRAMMER ’ S M ANUAL O UTLINE Table of Contents Overview of Comhan/MPX Paragraph(s) about the system, including the principle elements such as command handler, interrupt handler, device driver, etc. Summary of the contents of each file List the functions/data structures and a brief description about each Description of each function Prototype Parameters – data type, description Return value, including returns when an error is encountered Description of what the function does Description of all data structures Use Attributes – list including data types and brief description Global variables – list including data types and description Cross Reference For each function, which functions does it call, and which functions call it? Index

C ODE C OMMENTS You should use good commenting habits when you write your code, including commenting specific portions of code – examples in the L1 manual. Use inline comments (//) rather than block comments (/*…*/), except for headers. Reserve this for debugging. If you try to comment out a section of code that contains a block comment, C will terminate all block comments at the first instance of */ At a minimum, you should have the following comments (this will be part of your final grade): File Header File Name Author Names Version/Last Modified Date Procedure/Data Type Header Procedure Name Parameters – name, type, and its purpose Return value List of procedures called and global variables accessed/modified Description and purpose

S OFTWARE S UPPORT Support software is available for use with your project. This support software handles some low level operations for you. You can download the support software from Dr. Mooney’s website. It is the MPX_SUPT.C and MPX_SUPT.H files. You should include MPX_SUPT.H in your source files and put MPX_SUPT.C into your Turbo C project so it gets linked with your other source files. Many support functions return error codes, such as ERR_SUP_DATINV. These are listed in the MPX_SUPT.H file and in the manual for the module in which each function is used.

T IPS Plan ahead! Begin working on your modules right away and plan on spending at least 3-5 days debugging. Develop an effective method of version control and find a central repository for your code. Google Groups and subversion have been used successfully in the past. Keep track of who modified what in comments and in a change log. Create an “error handling” function that takes in an integer error code as a parameter and prints out an appropriate error message. Use symbolic constants For the size of ALL arrays Anytime you use a number to represent something Error Codes Create a single.C and.H file for each module. Pay attention to your use of pointers.

T IPS ( CONT.) Make sure you are null terminating strings Handle ALL possible errors Prioritize extra credit, but complete it For each module, create init() and cleanup() functions. The init() function will perform initialization of any global variables, data structures, or devices used by that module. The cleanup() will reclaim any memory allocated by functions in that module. This will make starting and exiting your MPX system easier.