Site hosted by Angelfire.com: Build your free website today!

 

Intro to RMX Course Syllabus


Introduction
A brief introduction to the concepts of operating systems and their functionality. Descriptions of multi-tasking and real-time with a comparison of real-time and non real-time applications. Finally, a description of the layered architecture of the RMX III operating system.


The Development Environment
A description of the development environments available to the RMX III operating system developer.
Laboratory project: Creating a simple C program and processing it through one of the available tool chains.


The Task
An introduction to the task concept within the RMX III operating system. This section also covers task scheduling and task states.
Laboratory project: Building a simple two task (non-cooperating) system.


Memory
An overview description of the Nucleus level memory manager. An introduction to the memory segment, the simplest object within the operating system.


Intertask Communication
The description and usage of the objects used for intertask communication. This includes the data mailbox (queue), the object mailbox, the counting semaphore, and the region (a single unit semaphore with priority adjustment properties)
Laboratory project: Intertask communication using both mailboxes and semaphores


The Job
A description of the job object including local resource management and inter-job protection and communication. The hierarchical structure of the job tree is covered in addition to the usage of the object directories within each job. Finally, a description of the root job and the initialization of the system.
Laboratory project: A multiple job system with communications between the tasks within those jobs.


Interrupts
This section starts with a comparison between interrupts and polling as a way to interface to outside devices. Concepts covered include the interrupt service routine, the interrupt task and the communication mechanisms between them. In addition, the concepts of preemption, priority and single vs. multiple outstanding interrupt architectures are discussed.
Laboratory project: A simple interrupt service routine/interrupt task combination.


Exception handling
A description of the handling of exceptions (errors) within the RMX III operating system. The distinction between environmental and programmer errors, how the programmer can set up automatic exception handling tailored to each portion of their application, and how to create an exception handler in addition to the automatic inheritance of exception handlers based on the job are all topics of discussion
Laboratory project: Creation and usage of an exception handler.


Kernel
This section is the lowest level of the RMX III operating system. The concept of the kernel and the application programming interface for kernel task management, kernel memory management, kernel mailboxes, kernel semaphores and kernel time management (alarms) are described.
Optional Laboratory project: Creation of a simple two task system utilizing kernel objects for communication.


Basic Input/Output System
In an overview, the concepts of an asynchronous I/O system such as the file, file types, the connection to a file, and the Basic I/O System buffering process are discussed. User interfaces with the I/O system such as the connection object and the input/output request/result segment are included. There is full coverage of the sequence of calls the user makes to create, manipulate and delete files or directories .
Laboratory project: File manipulation of physical and named files using BIOS system calls.


Extended Input/Output System
The overview of this section includes discussion of the concepts of a synchronous I/O system including the EIOS connection to a file, the EIOS buffering methods and the differences between BIOS and EIOS file interaction. Again, the sequence of calls necessary for the user to create, manipulate and delete a file in EIOS are included.
Laboratory project: File manipulation of physical and named files using EIOS calls.


Device Drivers
This section starts with a description of the common, random and custom device driver structures. The interfaces between the file system and the device driver and the procedures the user must write to create a device driver are also discussed.
Optional Laboratory project: Creation of a simple interrupt driven device driver for custom hardware.


RMX for PCs/RMX for Windows Topics
This section includes a description of the real mode encapsulation process that RMX for PCs uses to turn the ROM BIOS into a real mode task. This same process is extended to DOS and Windows 3.1 by the RMX for Windows operating system. Also included are the Real Time Extension (RTE) calls that enable the programmer to communicate with the RMX operating system from DOS and Windows applications. The Dynamic Data Exchange mechanism usage that allows RMX based applications to work directly with Windows applications like Excel is discussed.
Laboratory project: Exchange of data from an RMX application to Excel utilizing DDE


Flat Model Mode
In Version 2.3 of the RMX product, the flat model mode can be utilized to enable the programmer to utilize current compilers and software tools. This section discusses this and other new features of the operating system.


Human Interface
A short overview of the RMX Human Interface and the Command Line Interpreter is presented. Also covered is the application programming interface the programmer can employ to create their own command line to invoke programs.

Footer
©(Copyrighted)