Java-Based Real-Time Programming



Download free course Java-Based Real-Time Programming, pdf file on 128 pages by Klas Nilsson.
Development of embedded software has for some years mainly been carried out by hardware-aware programming using the C-language, and in some cases even in assembly languages. This works well in simple cases when the application demands and the hardware are known at design time, and the size of the (statically defined) software is small. When applications increase in size and must be rapidly developed (time to market), and perhaps need to be on-line upgradeable, more programming support is needed. In particular, for critical applications (safety critical as in an airplane, mission critical as in space/military/nuclear tasks, economically critical if the survival of the company depends on the reliability of the computer system, etc.) special measures must be taken to limit the possible (faulty) influences of one software function on another part of the system. Therefore, we have to abandon programming in C or C++ for large/complex systems. Instead, we have to base the core development on a more scalable language (and run-time system) that prevents direct access to memory, for instance via pointers.

Java (and partly C#) is such a language. Still, programming in C is appropriate for device drivers, which do need to directly access the hardware. For similar reasons of scalability, Microsoft had to go from their Win32+MFC C/C++-oriented standard to the Microsoft.NET Framework with C# in order to stay competitive in the long run. Here, we will go some steps further, considering also small embedded systems and severe timing demands.

We will approach the real-time issues via established web-programming and concurrency techniques, which will reveal a few deficiencies of the standard Java platform. A real-time package (class library) and a few run-time extensions will be presented. The usage of these additions to create high performance real-time control software is then described in a real-time programming chapter which is central the topic of this book. The reader should then gain additional understanding and programming skill by studying the remaining chapters about scheduling, processes, and applications.

Table of contents

  • Software execution is performed sequentially
  • Our physical world is parallel
  • Parallel computing
  • Concurrency
  • Interrupts, pre-emption, and reentrance
  • Models of concurrent execution
  • Multi-process programming
  • Object interaction and encapsulation
  • Software issues
  • Threads
  • Resources and mutual exclusion - Semaphores
  • Objects providing mutual exclusion - Monitors
  • Message-based communication - Mailboxes
Pages : 128
Size : 1.9 MB
File type : PDF
Downloads: 144
Created: 2022-02-03
License: GNU FDL
Author(s): Klas Nilsson
Java-Based Real-Time Programming

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

Others programming Tutorials

Fundamentals of Python Programming

Programming Windows Store Apps with HTML, CSS, and JavaScript

Learn Programming

OOP - Learn Object Oriented Thinking and Programming

Professor Frisby's Mostly Adequate Guide to Functional Programming

Others related eBooks about Java-Based Real-Time Programming

Problem Solving with Algorithms and Data Structures Using Python

THIS TEXTBOOK is about computer science. It is also about Python. However, there is much more. The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. Th...

Raspberry Pi Beginner's Guide

Download free course Raspberry Pi Beginner's Guide, pdf file on 248 pages by Gareth Halfacree....

Structured programming with C++

This C ++ course is for beginners who have never programmed. Complet and free PDF document about C++ programming....

Download Hibernate Tutorial

Download free Hibernate Tutorial for Beginners, training course material, a PDF file created by coreservlets.com....

Python for You and Me

Download free course Python for You and Me, pdf file on 173 pages by Kushal Das....

Hibernate Annotations

This pdf tutorial present a reference guide for Hibernate , a training document course on 49 pages for beginners....

Elementary Algorithms

This book introduces about elementary algorithms and data structure. It includes side-by-s..., download free Algorithms tutorial in PDF (642 pages) created by Larry LIU Xinyu ....

C Programming for Arduino

Physical computing allows us to build interactive physical systems by using software &..., download free C Programming tutorial in PDF (512 pages) created by Julien Bayle ....

Algorithms

Algorithms are the lifeblood of computer science. They are the machines that proofs build ..., download free Algorithms tutorial in PDF (472 pages) created by Jeff Erickson ....

Data Mining and Analysis: Fundamental Concepts and Algorithms

The fundamental algorithms in data mining and analysis form the basis for the emerging field of data science, which includes automated methods to analyze patterns and models for all kinds of data, with applications ranging from scientific discovery to business intelligence and analytics. ...