A real-time satellite system based on UNIX

Size: px
Start display at page:

Download "A real-time satellite system based on UNIX"

Transcription

1 Behavior Research Methods & Instrumentation 1980, Vol. 12 (2), A real-time satellite system based on UNIX SHARON MURREL and TED KOWALSKI BellLaboratories, Murray Hill, New Jersey07974 One solution to the difficulty of running real-time applications under UNIX is to develop the application programs on an available UNIX system and execute them on a dedicated satellite processor. This combines the advantages of a powerful timesharing operating system with the real-time capabilities of a single-process system. PARASITE, a real-time satellite system, provides tools for developing the application program on the host and executing it on a satellite. A host utility serves to invoke the standard UNIX C compiler and link its output with the PARASITE library. The PARASITE library consists of routines that mimic the standard library and routines that read and write the real-time peripherals. PARASITE currently supports digital inputs and outputs, asynchronous serial-line interfaces, programmable real-time clocks, and analog-to-digital and digital-to-analog converters. Another PARA SITE utility downloads the object code of the user program and PARASITE support code into the satellite, where it runs independently. Once the application routine is executing on the satellite, it controls the satellite processor at all times and is continuously available for servicing hardware-generated interrupts. When a real-time peripheral interrupt routine is invoked by a hardware interrupt, it sends a software signal to the user program, in addition to processing the interrupt. This allows the user program to perform additional tasks that are specific to the application. All data to be permanently stored must be transferred to the host. Since the satellite has no direct access to the resources of the host, a process running on the host receives the data and manages files. PARASITE provides packet driver routines on boththe hostand the satellite, which together handle thedata transmission protocol. A wealth of behavioral experiments throughout experimental psychology require real-time processing. Experiments from many diverse areas, ranging from animal learning to human information processing to mathematical psychology, require the monitoring of digital and analog inputs (e.g., pushbuttons and joysticks) and the control of digital and analog outputs (e.g., lights, buzzers, and tones). Many laboratories have satisfied these real-time requirements for many happy years using racks of relay equipment and solid state circuitry. The advent of the microprocessor and inexpensive solid state memory has enabled many labs to increase the power and flexibility of their experimental set-ups. A computerized real-time data acquisition facility alleviates much of the work involved in running experiments. It enables the experimenter to collect and analyze large amounts of data quickly and efficiently. The ease of running subjects is attractive to those among us who have spent many hours copying counters in the correct order and zeroing them before the next session. Most important, the experimental results are in machine-readable form and are therefore immediately available for analysis. The capabilities of experimental set-ups vary widely. Each lab is inevitably torn between the need for inexpensive, single-process systems dedicated to real-time applications and the desire of all experimenters to rush to a terminal and perform just one more analysis at whatever time they have new insights. A minimal data acquisition set-up requires a microcomputer system, interfaces appropriate to the task, and a terminal. Supporting analysis capabilities on a timesharing system, which allocates the processor and its resources among a number of users, requires a larger, more expensive computer system. Such a system, by its very nature, does not support real-time processing as well as a dedicated processor. In order to run a real-time application on a timesharing system, the application must be able to gain control of the processor when it needs to sample, process, or output data. To monitor and respond to external events, an application must be polling the device at the time of the event or must be invoked by an interrupt generated by the event. There are myriad solutions that satisfy both the realtime and timesharing requirements. One solution is to use a small laboratory computer for data acquisition and to use a large, centrally located and supported computer for analyses. Despite the complaints about turn-around time, missing outputs, and the wasted time and effort required to transfer data between the processors, this is a simple solution. When the need for increased on-site capabilities exceeds the disadvantages of supporting a large computer system, there are two approaches. The first is to use the timesharing system to support both real-time and timesharing applications. In this case, the operating system may be adequate for both or may be modified to improve real-time performance. The second approach is to use the timesharing system to develop the real-time application programs, which then execute on a dedicated processor. The dedicated processor may be either the halted host, in which case timesharing is Copyright 1980 Psychonomic Society, Inc /80/ $00.85/0

2 A REAL-TIME SATELLITE SYSTEM 127 unavailable while an experiment is running, or a satellite processor. In the latter case, the timesharing host is capable of supporting a number of minimally configured satellite systems. We have chosen this last path. PARASITE, a real-time satellite system, is a software support system that runs under a host computer's UNIX 1 operating system and serves as a framework for the development of real-time application programs, which then run independently on a satellite processor. Readers unfamiliar with the UNIX operating system may be interested in the overview presented by Ritchie and Thompson (1978); although many specific details presented below will escape those unfamiliar with UNIX, the essential points should be clear. PARASITE is designed for applications that monitor external events by receiving and processing data from peripheral devices. A representative application is a psychological latency experiment, which measures the time elapsed between a stimulus and the selection by the subject of one of the available responses. A user program running under UNIX cannot satisfy real-time requirements because it cannot control when it is memory resident, it cannot affect when it has control of the processor, and it cannot receive hardware-generated interrupts. On a satellite, however, rapid response to interrupts and availability for monitoring is assured because the program is in memory and active at all times. Real-time response is further improved since the user program does not invoke indirect system calls in order to interact with peripherals, as in a timesharing system, but rather has direct access to these devices. This allows a real-time program, which could not run under UNIX, to flourish in the satellite. PARASITE uses the utilities and resources available on the host to minimize the satellite software and hardware required. Currently, PARASITE does not support a resident file system or any mass storage devices. It supports only the PDP-11 2 architectural family as processors, enabling it to incorporate important standard utilities. These serve to develop and invoke the specialpurpose utilities, to create and maintain the specialpurpose libraries, to configure the satellite system, and to edit, compile, and load the application programs. Since an understanding of the host-satellite relationship is critical, a summary of the important points is presented in Table 1. All source for the PARASITE system and the application routines resides on the host. The host compiles the real-time application program, links it with the PARASITE software modules, and downloads the object code into the satellite. The satellite processor executes the application program, including all library routines and I/O functions. Only the object code and data downloaded from the host and the data being collected ever reside in the satellite. The satellite has no resident file system and must transfer all data to be permanently stored to the host. Since it has no direct access to the resources of the host, a process running Table 1 Host-Satellite Relationship I. Source code for the application is stored, edited, compiled, and loaded on the host system. 2. The object code is downloaded to the satellite, where it is executed independently. The satellite does not support a resident file system or any mass storage devices. Only the object code and the data being collected ever reside on the satellite. 3. All data are transferred to and stored on the host. 4. The satellite has no direct access to the resources of the host; a host process running in parallel receives the data and manages files. there on behalf of the satellite receives data packets and manages files. This technique of partitioning the realtime data acquisition task provides an efficient interface between the processors. PARASITE provides five functions for the user (see Table 2). It supplies utilities that invoke the C language compiler and link the compiled code with subroutine modules from the library designed for the satellite. The satellite library contains, in addition to the standard functions, routines that read from and write to the realtime peripheral interfaces available on the satellite, including interrupt service routines. PARASITE includes host utilities that download the absolute binary code of the application program into the satellite processor. It supplies an interactive debugger based on the UNIX adb and provides routines that allow the processors to exchange data. PARASITE HARDWARE With the advent of the microprocessor and inexpensive solid state memory, a minimal satellite system can be purchased for $3, The minimal hardware configuration for a satellite includes an LSI-II /2 CPU, 16K bytes of memory, two serial lines, backplane, power supply, and the peripherals appropriate to the monitoring task. Any PDP-II family member whose instruction set includes the extended instruction set (EIS) can be used as a satellite (e.g., LSI-II/23, PDP-I 1/40, etc.). All peripherals used in the application must be interfaced to the satellite. Currently, there are two serial lines between the host and the satellite (see Figure 1). One serves as the satellite's console and is used for downloading and for communication between the user and the application program. The second serial line is used by the data transmission routines and is necessary only if data are being transferred using the data transmission routines. This configuration is convenient, since all terminals are hard-wired to the host and are cormected to the satellite through a standard software utility only when appropriate; it is necessary when using the debugging routine. However, it requires two serial ports on the host system when the data transmission routines are used. We are now developing a monitor program that will require only a single link between the two processors

3 128 MURREL AND KOWALSKI Library Utilities: Table 2 Functions of PARASITE Software 1. Host utility for compiling and linking the user's C application program with the PARASITE satellite library. Shell Utility: Icc 2. Satellite library and routines which read and write real-time peripherals (device drivers), including interrupt routines. _tolower, _toupper, a641, abort, abs, assert, atoi, atoi, break, brk, calloc, clearerr, close, edata, end, errno, etext, exit, fclose, fdopen, feof, ferror, fflush, fgetc, fgets, fileno, fopen, fprinif, fputc, fputs, fread, free, freopen, fscanf; fwrite, getc, getchar, gets, getw, gtty, isalnum, isalpha, isascii, iscntrl; isdigit, islower, isprint, ispunct. isspace, isupper, Btol, 164a, longjmp, Ito13, mal/oc, open, perror, printf; putc, putchar, puts, putw, qsort, rand, read, real/oc, sbrk, scarf; setbuf, setimp, signal, sleep, sprintf, srand, sscanf, strcat, strchr, strcmp, strcpy, strlen, strncat, strncmp, strncpy, strrchr, stty, swab, syserrlist, sys_nerr, toascii, tolower, toupper, and ungetc. Device Utilities: AtoD, line clock, digital input, digital output, DtoA, serial line, packet, and programmable clock Operating System Utilities: C Support Utilities: 3. Host utility for downloading. Shell Utility: Prologue code: _init and start. Run-time code: _trap, _sendsig, and _stray. Exit code: exit and dump. Register handling: csv and cret. Arith opers: aldiv, almul, alrem, ldiv, lrem, and lmul. dload: abload, cvboot, cvlda, and connect. 4. Interactive debugging utility based upon UNIX adb. C Utility: ladb 5. C routines on both processors for exchanging data. Host Utility: Satellite Utility: pkt packet driver (see Figure 2). In this configuration, one serial line serves as the satellite's console. The satellite monitor, which is stored in PROM memory in the satellite, enables the user to interact with the host or the satellite, as appropriate. It may also be used to store the application program. The second is the communication link between the two processors. This link is used for downloading routines, all data transmission, and communication between the user, at the satellite console, and the host computer. An important advantage of this configuration is that the satellite system may be used at a remote location. Thus the console, its modem, the satellite system, and its stimulus and response devices may run the experiment at another location, connecting to the host system over phone lines. The command sequences to download and execute a program on the satellite are identical in the two configurations. The power of PARASITE depends upon the speed of the satellite processor and the link to the host system. The satellite must transfer data to the host as fast as the data collection task can fill its local memory; very highspeed data collection can therefore be handled only

4 TT SATELLITE HOST Interfaces: Console Peripherals: Serial Lines Digital Inputs Digital Outputs Real-Time Clocks AID, DIA Converters Terminal Terminals Disks Line Printers Tapes I/O Devices: Subject Terminals Stimulus Devices Response Manipulanda Figure 1. Host-satellite configuration requiring two links. SATELLITE Modem //» Modem 0- HOST Interfaces: Console Peripherals: Serial Lines Digital Inputs Digital outputs Real-Time Clocks AID, D/A Converters Terminal Terminals Disks Line Printers Tapes I/O Devices: Subject Terminals Stimulus Devices Response Manipulanda Figure 2. Host-satellite configuration requiring a satellite monitor.

5 130 MURREL AND KOWALSKI in bursts, if at all. The seriousness of this restriction depends upon the task. The system's capabilities may be extended, if necessary, by either increasing the speed of the data link or increasing the amount of storage available on the satellite. The user may implement a highspeed parallel data link between the two processors. Currently, PARASITE supports 64K bytes of memory. With the introduction of the LSI-11/23 and a minor modification to PARASITE, the amount of memory supported by the satellite system will rise to 256K bytes. Note that the application routine will still be limited to 64K bytes; the additional memory is available only for data storage. A valuable enhancement would be a disk driver to temporarily store large amounts of data on contiguous disk regions. We do not propose to implement a UNIX file system on the disk, but rather to use the disk as an extension of the satellite's memory. PARASITE SOFTWARE Special-purpose software written for the PARASITE system includes both the utilities that run under UNIX and the code that is downloaded with the application program into the satellite. The five functions provided by PARASITE and listed in Table 2 reflect functional software modules, which are described in detail below. Compiling and Loading The Icc command invokes the standard C compiler, defining the location of the include files. It then links the compiler output with the low-core interrupt vectors and the satellite library routines. In order to execute that file on a satellite, utilities for loading it into the satellite memory are provided. Alternatively, this loader output file can be executed on the host by halting the processor and booting that file. PARASITE Library The code written for the satellite includes routines that are directly called by the user and support routines that are used by the system. User library and I/O routines. The application program must be written in C and reference the PARASITE library header files. It is compiled by the standard UNIX C compiler and linked with the PARASITE library by the standard UNIX loader. The library includes functions to perform input and output, to convert between ASCII and binary, to allocate memory, to catch signals, and to manipulate strings. It provides routines for generating random numbers and taking absolute values, but it does not support the mathematical routines that require floating point operations. The floating point instruction set on the LSI-I 1/2 is not compatible with the code generated by the C compiler, and therefore no C-generated floating point instructions can be executed on the satellite. Note, however, that the mathematical library may be implemented on satellites such as the LSI-l 1/23. Calling parameters and return codes are identical to those used under UNIX, except that minor device numbers" are passed instead of file names. Both library routines and device drivers use minor device numbers to communicate directly with the devices, rather than referencing an underlying file system. Similarly, system calls are replaced by subroutine calls, which allow the user direct access to the real-time peripherals and reduce the software overhead needed to access resources. These subroutine calls closely mimic the standard open, close, read, write, gtty, and stty UNIX system call. Note that these changes in implementation are transparent to the user. Device drivers have an additional feature under PARASITE: When the device driver interrupt routine is invoked by a hardware-generated interrupt, it sends a software signal to the user, in addition to processing the interrupt. Each signal may be ignored or may invoke a subroutine specified by the user. Two values are passed to that subroutine: the minor device number and a value appropriate to the device. For example, the interrupt routine of an analog-to-digital converter passes the converted value. The library subroutine signal allows the user to specify the action to be taken when a signal occurs. PARASITE supports asynchronous serial line interfaces, digital inputs and outputs, programmable real-time clocks, analog-to-digital converters, and digitalto-analog converters. Operating system support routines. The library routines that are invisible to the user are the C language support routines and the operating system routines. The C compiler does not produce in-line code for certain operations. It assumes that it has routines to save and restore registers during subroutine calls and that there exists either a hardware or a software implementation of multiplication, division, and modulus of longs. These operations are provided by routines included in the PARASITE library. The operating system library consists of three functional modules: code that initializes the system, code used during execution of the user program, and code that properly terminates the user program. The prologue code sizes memory, sets up the standard stack frame, zeroes uninitialized data, opens standard input and output files, and starts the user program upon a signal from the user. The user may start and terminate the program in the satellite from the terminal. During execution, the user program uses machine language assist routines to set the program's priority level, to interface hardware interrupts to C routines, and to catch stray interrupts. The exit code prints a termination message, flushes I/O buffers, and returns to the monitor. Downloading The shell file dload performs a two-step bootstrapping process that loads the file into the satellite across a serial line link. First, a load command, available in the DEC-supplied LSI-II/2 monitor, reads the absolute loader into the satellite's memory and jumps to the start

6 A REAL-TIME SATELLITE SYSTEM 131 location given. This command cannot be used to download the application program directly, as it can only load 114 l o-bit words. The absolute loader then reads the object of the application program into memory and passes control to that program. Interactive Debugger An interactive debugging program, ladb, runs on the host computer and enables the user to interactively debug an application program executing on the satellite processor. The user may examine the satellite's memory after a program has aborted or trace execution of the satellite program by embedding breakpoints. In any case, the user is able to modify the satellite memory and display it in a variety of formats (e.g., as octal values or instructions sequences). Ladb command syntax is identical to the UNIX debugging program adb. Data Transmission Between Processors Once the application routine is downloaded, it requires a host process running in parallel to access the resources of the host. There are packet driver routines on both the host and the satellite that together handle the data transmission protocol. Depending on the volume and speed of data collection, these routines may be invoked during or after a particular application program. The two types of transmissions used are control packets, which are handshaking signals, and data packets. Control packets are used to open and close transmission sequences and to acknowledge or reject data packets. Both types of packets begin with as-byte header: a synchronization byte, a control byte indicating the packet type, a data-packet sequence number, and a header checksum. Data packets also include a data block and its checksum. If a data packet is rejected by the receiving processor, it is retransmitted. Each routine sends error messages to its console if it detects a breakdown in the communication link. Thus the standard host packet driver routine serves to exchange data with the satellite and to store the data received in a file. If this satisfies the requirements of the user, he may simply invoke the packet driver using the utility pkt with arguments specifying the serial line device name, the baud rate, and the file name. Otherwise, the user may write a more sophisticated routine that processes the data received from the satellite and conditionally opens files on the host and transfers the contents to the satellite. The host process may interact with the timesharing system like any other process; it must be available to receive and acknowledge data packets, however, and complex support tasks may be best implemented as separate processes. CONCLUSIONS Supporting a satellite on a host running UNIX combines all the advantages of the UNIX timesharing system with the real-time capabilities of a dedicated singleprocess system. PARASITE defmes the relationship between the two processors and provides a set of utilities for developing satellite programs that maintain the standard UNIX-user interface. It is designed to minimize the effort required to implement a given real-time application. The system itself is organized so as to minimize the satellite hardware and special-purpose software required. Moreover, it is modeled after UNIX so as to facilitate both system mastery and modification. The system may be easily augmented with the addition of device driver routines. It is a powerful solution to the difficulties of implementing real-time experiments. REFERENCE RITCHIE, D. M., & THOMPSON, K. The UNIX time-sharing system. The Bell System Technical Journal 57, 6 (July-August 1978, Part 2), pp NOTES 1. UNIX is a trademark of Bell Laboratories. 2. DEC and PDP are registered trademarks of Digital Equipment Corporation. 3. This includes a four dual-slot backplane and power supply available from DEC or Automated Computer Systems, an LSI 11/2 CPU card, and a multifunction module, MXVn-AC, available from DEC, that includes 32K bytes of RAM, two serial lines, and PROM slots. 4. A major device number specifies a device type; minor device numbers uniquely select a single device from each type.

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Computer Organization & Architecture Lecture #19

Computer Organization & Architecture Lecture #19 Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of

More information

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to: 55 Topic 3 Computer Performance Contents 3.1 Introduction...................................... 56 3.2 Measuring performance............................... 56 3.2.1 Clock Speed.................................

More information

Operating Systems 4 th Class

Operating 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 information

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Introduction 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 information

Types Of Operating Systems

Types Of Operating Systems Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building mirela.damian@villanova.edu

More information

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware A+ Guide to Managing and Maintaining Your PC, 7e Chapter 1 Introducing Hardware Objectives Learn that a computer requires both hardware and software to work Learn about the many different hardware components

More information

Have both hardware and software. Want to hide the details from the programmer (user).

Have both hardware and software. Want to hide the details from the programmer (user). Input/Output Devices Chapter 5 of Tanenbaum. Have both hardware and software. Want to hide the details from the programmer (user). Ideally have the same interface to all devices (device independence).

More information

IDT/sim SYSTEM INTEGRATION MANAGER ROMABLE DEBUGGING KERNEL

IDT/sim SYSTEM INTEGRATION MANAGER ROMABLE DEBUGGING KERNEL Integrated Device Technology, Inc. IDT/sim SYSTEM INTEGRATION MANAGER ROMABLE DEBUGGING KERNEL IDT79S901 FEATURES Complete source code provided Robust debug monitor Supports remote source-level debug GDB

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove (amislove@ccs.neu.edu) Operating System Services Operating systems provide an environment for

More information

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

COMPUTER HARDWARE. Input- Output and Communication Memory Systems COMPUTER HARDWARE Input- Output and Communication Memory Systems Computer I/O I/O devices commonly found in Computer systems Keyboards Displays Printers Magnetic Drives Compact disk read only memory (CD-ROM)

More information

Providing a jump start to EFI application development and a uniform pre-boot environment

Providing a jump start to EFI application development and a uniform pre-boot environment Providing a jump start to EFI application development and a uniform pre-boot environment Yosi Govezensky Program Manager Microcomputer Software Corp. February 15-17, 2000 Agenda l EFI Application Toolkit

More information

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory. 1 Topics Machine Architecture and Number Systems Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Decimal to Binary Major Computer Components

More information

A virtual terminal program for data transfer between a Data General MicroNOVA laboratory computer and a DECsystem-l0 timesharing system

A virtual terminal program for data transfer between a Data General MicroNOVA laboratory computer and a DECsystem-l0 timesharing system Behavior Research Methods & Instrumentation 1980, Vol. 12 (2), 251-255 A virtual terminal program for data transfer between a Data General MicroNOVA laboratory computer and a DECsystem-l0 timesharing system

More information

Overview and History of Operating Systems

Overview and History of Operating Systems Overview and History of Operating Systems These are the notes for lecture 1. Please review the Syllabus notes before these. Overview / Historical Developments An Operating System... Sits between hardware

More information

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV UNIT I THE 8086 MICROPROCESSOR 1. What is the purpose of segment registers

More information

Comparing RTOS to Infinite Loop Designs

Comparing RTOS to Infinite Loop Designs Comparing RTOS to Infinite Loop Designs If you compare the way software is developed for a small to medium sized embedded project using a Real Time Operating System (RTOS) versus a traditional infinite

More information

Freescale Semiconductor, I

Freescale Semiconductor, I nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development

More information

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System? Management Challenge Managing Hardware Assets What computer processing and storage capability does our organization need to handle its information and business transactions? What arrangement of computers

More information

ROM Monitor. Entering the ROM Monitor APPENDIX

ROM Monitor. Entering the ROM Monitor APPENDIX APPENDIX B This appendix describes the Cisco router ROM monitor (also called the bootstrap program). The ROM monitor firmware runs when the router is powered up or reset. The firmware helps to initialize

More information

CONTROL DATA" 3200 Computer system / ~eal Time Applications

CONTROL DATA 3200 Computer system / ~eal Time Applications CONTROL DATA" 3200 Computer system / ~eal Time Applications At this precise moment, events in science and industry are occurring which demand solutions and control. Among these events- in-real-time are

More information

Operating system Dr. Shroouq J.

Operating system Dr. Shroouq J. 3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well

More information

Tutorial for MPLAB Starter Kit for PIC18F

Tutorial for MPLAB Starter Kit for PIC18F Tutorial for MPLAB Starter Kit for PIC18F 2006 Microchip Technology Incorporated. All Rights Reserved. WebSeminar Title Slide 1 Welcome to the tutorial for the MPLAB Starter Kit for PIC18F. My name is

More information

Chapter 3. Operating Systems

Chapter 3. Operating Systems Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating

More information

Real Time Control Under UNIX for RCCL

Real Time Control Under UNIX for RCCL 1 Real Time Control Under UNIX for RCCL (3rd International Symposium on Robotics and Manufacturing Vancouver, Canada, July 18-20, 1990) John Lloyd and Mike Parker McGill University, Research Center for

More information

MICROPROCESSOR AND MICROCOMPUTER BASICS

MICROPROCESSOR AND MICROCOMPUTER BASICS Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit

More information

CROSSWARE CFDS. ColdFire Development Suite

CROSSWARE CFDS. ColdFire Development Suite CROSSWARE CFDS 7 Crossware Products was established in September 1984 to fill an important and expanding niche in embedded development software. It developed tools for the M68000 as early as 1985 and in

More information

PLC Support Software at Jefferson Lab

PLC Support Software at Jefferson Lab PLC Support Software at Jefferson Lab Presented by P. Chevtsov ( chevtsov@jlab.org ) - PLC introduction - PLCs at Jefferson Lab - New PLC support software - Conclusions Electromagnetic Relay Encyclopedia

More information

Chapter 2 System Structures

Chapter 2 System Structures Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices

More information

3. Programming the STM32F4-Discovery

3. Programming the STM32F4-Discovery 1 3. Programming the STM32F4-Discovery The programming environment including the settings for compiling and programming are described. 3.1. Hardware - The programming interface A program for a microcontroller

More information

Computer Systems Structure Input/Output

Computer Systems Structure Input/Output Computer Systems Structure Input/Output Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Examples of I/O Devices

More information

Eight Ways to Increase GPIB System Performance

Eight Ways to Increase GPIB System Performance Application Note 133 Eight Ways to Increase GPIB System Performance Amar Patel Introduction When building an automated measurement system, you can never have too much performance. Increasing performance

More information

Operating System Structures

Operating 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 information

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals Full Marks 100 (Theory 75, Practical 25) Introduction to Computers :- What is Computer?

More information

OPERATING SYSTEM SERVICES

OPERATING SYSTEM SERVICES OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered

More information

Introduction to Embedded Systems. Software Update Problem

Introduction to Embedded Systems. Software Update Problem Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t

More information

COMPUTER ARCHITECTURE. Input/Output

COMPUTER ARCHITECTURE. Input/Output HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK COMPUTER ARCHITECTURE Lecture 17 Input/Output Sommersemester 2002 Leitung: Prof. Dr. Miroslaw Malek www.informatik.hu-berlin.de/rok/ca CA - XVII -

More information

Contents. Chapter 1. Introduction

Contents. Chapter 1. Introduction 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 information

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT COURSE CURRICULUM. Course Title: Advanced Computer Programming (Code: 3320702)

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT COURSE CURRICULUM. Course Title: Advanced Computer Programming (Code: 3320702) GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT COURSE CURRICULUM Course Title: Advanced Computer Programming (Code: 3320702) Diploma Programmes in which this course is offered Computer Engineering,

More information

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get

More information

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables

More information

Red Hat Linux Internals

Red Hat Linux Internals Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing

More information

Lecture N -1- PHYS 3330. Microcontrollers

Lecture N -1- PHYS 3330. Microcontrollers Lecture N -1- PHYS 3330 Microcontrollers If you need more than a handful of logic gates to accomplish the task at hand, you likely should use a microcontroller instead of discrete logic gates 1. Microcontrollers

More information

Operating System Structures

Operating System Structures COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating

More information

evm Virtualization Platform for Windows

evm 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 information

INPUT/OUTPUT ORGANIZATION

INPUT/OUTPUT ORGANIZATION INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and

More information

Computer Engineering

Computer Engineering Computer Engineering Unit Value 3.0 (typically 180 hours for a full-time course) This standard unit is primarily for use by the Technical Institutes when operating the following Courses : Diploma in Computer

More information

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software What is an Operating System? An operating system (OS) is a collection of software that acts as an intermediary between users and the computer hardware One can view an OS as a manager of system resources

More information

Resource Utilization of Middleware Components in Embedded Systems

Resource Utilization of Middleware Components in Embedded Systems Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system

More information

Linux Driver Devices. Why, When, Which, How?

Linux Driver Devices. Why, When, Which, How? Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may

More information

ELEC 377. Operating Systems. Week 1 Class 3

ELEC 377. Operating Systems. Week 1 Class 3 Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation

More information

3 SOFTWARE AND PROGRAMMING LANGUAGES

3 SOFTWARE AND PROGRAMMING LANGUAGES 3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization

More information

Data Cables. Schmitt TTL LABORATORY ELECTRONICS II

Data Cables. Schmitt TTL LABORATORY ELECTRONICS II Data Cables Data cables link one instrument to another. Signals can attenuate or disperse on long wires. A direct wire works best for short cables of less than 10 ft. A TTL cable connection can use a Schmitt

More information

How To Understand The History Of An Operating System

How To Understand The History Of An Operating System 7 Operating Systems 7.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: 7.2 Understand the role of the operating system.

More information

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS This document provides an overview of the toolchain used to develop, build, and deploy EmberZNet and Silicon Labs Thread applications, and discusses some additional

More information

CONTROL MICROSYSTEMS DNP3. User and Reference Manual

CONTROL MICROSYSTEMS DNP3. User and Reference Manual DNP3 User and Reference Manual CONTROL MICROSYSTEMS SCADA products... for the distance 48 Steacie Drive Telephone: 613-591-1943 Kanata, Ontario Facsimile: 613-591-1022 K2K 2A9 Technical Support: 888-226-6876

More information

Security Overview of the Integrity Virtual Machines Architecture

Security Overview of the Integrity Virtual Machines Architecture Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling

More information

isppac-powr1220at8 I 2 C Hardware Verification Utility User s Guide

isppac-powr1220at8 I 2 C Hardware Verification Utility User s Guide November 2005 Introduction Application Note AN6067 The isppac -POWR1220AT8 device from Lattice is a full-featured second-generation Power Manager chip. As part of its feature set, this device supports

More information

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1 MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable

More information

Operating System Tutorial

Operating System Tutorial Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection

More information

Design Issues in a Bare PC Web Server

Design Issues in a Bare PC Web Server Design Issues in a Bare PC Web Server Long He, Ramesh K. Karne, Alexander L. Wijesinha, Sandeep Girumala, and Gholam H. Khaksari Department of Computer & Information Sciences, Towson University, 78 York

More information

Introduction to the NI Real-Time Hypervisor

Introduction to the NI Real-Time Hypervisor Introduction to the NI Real-Time Hypervisor 1 Agenda 1) NI Real-Time Hypervisor overview 2) Basics of virtualization technology 3) Configuring and using Real-Time Hypervisor systems 4) Performance and

More information

DATA ITEM DESCRIPTION

DATA ITEM DESCRIPTION DD Form 1664, APR 89 Previous editions are obsolete Page 1 of 4 Pages 135/123 DATA ITEM DESCRIPTION Form Approved OMB NO.0704-0188 Public reporting burden for collection of this information is estimated

More information

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board. Bus Interfaces Different types of buses: ISA (Industry Standard Architecture) EISA (Extended ISA) VESA (Video Electronics Standards Association, VL Bus) PCI (Periheral Component Interconnect) USB (Universal

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

An Introduction to MPLAB Integrated Development Environment

An Introduction to MPLAB Integrated Development Environment An Introduction to MPLAB Integrated Development Environment 2004 Microchip Technology Incorporated An introduction to MPLAB Integrated Development Environment Slide 1 This seminar is an introduction to

More information

Price: see your VeriFone sales representative. Per student, Excluding VAT.

Price: see your VeriFone sales representative. Per student, Excluding VAT. Price: see your VeriFone sales representative. Per student, Excluding VAT. COURSE OUTLINE EMEA Verix and VxV Programmers Course This course is a combination of Verix and Verix V Training Course. Verix

More information

GIVE WINGS TO YOUR IDEAS TOOLS MANUAL

GIVE WINGS TO YOUR IDEAS TOOLS MANUAL GIVE WINGS TO YOUR IDEAS TOOLS MANUAL PLUG IN TO THE WIRELESS WORLD Version: 001 / 1.0 Date: October 30, 2001 Reference: WM_TOO_OAT_UGD_001 confidential Page: 1 / 22 (THIS PAGE IS INTENTIONALY LEFT BLANK)

More information

Operating Systems: Basic Concepts and History

Operating Systems: Basic Concepts and History Introduction to Operating Systems Operating Systems: Basic Concepts and History An operating system is the interface between the user and the architecture. User Applications Operating System Hardware Virtual

More information

Open Flow Controller and Switch Datasheet

Open Flow Controller and Switch Datasheet Open Flow Controller and Switch Datasheet California State University Chico Alan Braithwaite Spring 2013 Block Diagram Figure 1. High Level Block Diagram The project will consist of a network development

More information

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software 1 1. Linker 2 Linker Links the compiled codes of application software, object codes from library and OS kernel functions.

More information

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Design of a High Speed Communications Link Using Field Programmable Gate Arrays Customer-Authored Application Note AC103 Design of a High Speed Communications Link Using Field Programmable Gate Arrays Amy Lovelace, Technical Staff Engineer Alcatel Network Systems Introduction A communication

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Chapter 10 Case Study 1: LINUX

Chapter 10 Case Study 1: LINUX MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 10 Case Study 1: LINUX History of UNIX and Linux UNICS PDP-11 UNIX Portable UNIX Berkeley UNIX Standard UNIX MINIX Linux UNIX/Linux Goals

More information

Review 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. 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 information

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 pvonk@skidmore.edu ABSTRACT This paper

More information

Objectives. Python Programming: An Introduction to Computer Science. Lab 01. What we ll learn in this class

Objectives. Python Programming: An Introduction to Computer Science. Lab 01. What we ll learn in this class Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs Objectives Introduction to the class Why we program and what that means Introduction to the Python programming language

More information

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit. Objectives The Central Processing Unit: What Goes on Inside the Computer Chapter 4 Identify the components of the central processing unit and how they work together and interact with memory Describe how

More information

µtasker Document FTP Client

µtasker Document FTP Client Embedding it better... µtasker Document FTP Client utaskerftp_client.doc/1.01 Copyright 2012 M.J.Butcher Consulting Table of Contents 1. Introduction...3 2. FTP Log-In...4 3. FTP Operation Modes...4 4.

More information

- An Essential Building Block for Stable and Reliable Compute Clusters

- An Essential Building Block for Stable and Reliable Compute Clusters Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative

More information

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah (DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de NIOS II 1 1 What is Nios II? Altera s Second Generation

More information

System Calls and Standard I/O

System Calls and Standard I/O System Calls and Standard I/O Professor Jennifer Rexford http://www.cs.princeton.edu/~jrex 1 Goals of Today s Class System calls o How a user process contacts the Operating System o For advanced services

More information

Programmable Logic Controller PLC

Programmable Logic Controller PLC Programmable Logic Controller PLC UPCO ICAI Departamento de Electrónica y Automática 1 PLC Definition PLC is a user friendly, microprocessor based, specialized computer that carries out control functions

More information

MACHINE ARCHITECTURE & LANGUAGE

MACHINE ARCHITECTURE & LANGUAGE in the name of God the compassionate, the merciful notes on MACHINE ARCHITECTURE & LANGUAGE compiled by Jumong Chap. 9 Microprocessor Fundamentals A system designer should consider a microprocessor-based

More information

CICS Transactions Measurement with no Pain

CICS Transactions Measurement with no Pain CICS Transactions Measurement with no Pain Prepared by Luiz Eduardo Gazola 4bears - Optimize Software, Brazil December 6 10, 2010 Orlando, Florida USA This paper presents a new approach for measuring CICS

More information

1. Computer System Structure and Components

1. Computer System Structure and Components 1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices

More information

Embedded Software Development

Embedded Software Development Linköpings Tekniska Högskola Institutionen för Datavetanskap (IDA), Software and Systems (SaS) TDDI11, Embedded Software 2010-04-22 Embedded Software Development Host and Target Machine Typical embedded

More information

Learning USB by Doing. John.Hyde@intel.com

Learning USB by Doing. John.Hyde@intel.com Learning USB by Doing. John.Hyde@intel.com The question that I am asked most often is how do I start a USB project? There are many alternate starting points for the design of a USB I/O device and this

More information

Chapter 2: OS Overview

Chapter 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 information

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 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 information