0% found this document useful (0 votes)
89 views4 pages

Exercise 2 Requirements

This document outlines an assignment for an real-time systems course. It involves several tasks: 1) Creating a user account on a Jetson system and demonstrating login/logout. 2) Reviewing a paper on the architecture of the Space Shuttle's software and comparing its frequency executive approach to real-time threading/tasking methods, noting at least 3 advantages and disadvantages. 3) Implementing additional examples for a feasibility code sample, analyzing them with Cheddar, and explaining any failures under different scheduling policies. 4) Stating constraints and assumptions of Liu and Layland's rate monotonic scheduling derivation and identifying tricky derivation steps. The assignment requires submitting a report with code and output integrated
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
89 views4 pages

Exercise 2 Requirements

This document outlines an assignment for an real-time systems course. It involves several tasks: 1) Creating a user account on a Jetson system and demonstrating login/logout. 2) Reviewing a paper on the architecture of the Space Shuttle's software and comparing its frequency executive approach to real-time threading/tasking methods, noting at least 3 advantages and disadvantages. 3) Implementing additional examples for a feasibility code sample, analyzing them with Cheddar, and explaining any failures under different scheduling policies. 4) Stating constraints and assumptions of Liu and Layland's rate monotonic scheduling derivation and identifying tricky derivation steps. The assignment requires submitting a report with code and output integrated
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

ECEE 5623, Real-Time Systems:

Exercise #2 Service Scheduling Feasibility


DUE: As Indicated on D2L by midnight and Syllabus

Please thoroughly read Chapters 3 & 4 in RTECS with Linux and RTOS

Please see example code provided - Linux, FreeRTOS, VxWorks, Zephyr

This lab is written to be completed with embedded Linux running on the DE1-SoC, Jetson or
Beagle board(s), but you are welcome to complete it using FreeRTOS, VxWorks or Zephyr as an
option. Note that you will either have to adapt the example code or use equivalent examples
from the links above for RT-Clock, use of tasks in place of pthreads, and the appropriate board to
boot FreeRTOS, VxWorks, or Zephyr as described on the course main web page.

Exercise #2 Requirements:

1) [5 points] If youre using embedded Linux, make yourself an account on your Jetson TK1
system (or alternate of your choice). To do this, use the reset button if the system is locked,
use our well-known ubuntu password to login, and then use sudo adduser, enter the well-
known password, and enter user information as you see fit. Add your new user account as a
sudoer using visudo right below root with the same privileges (if you need help with
vi, heres a quick reference or reference card use arrows to position cursor, below root hit
Esc, i for insert, type username and privileges as above, and when done, Esc, :, wq).
The old unix vi editor was one of the first full-screen visual editors it still has the advantage
of being found on virtually any Unix system in existence, but is otherwise cryptic along
with Emacs it is still widely used in IT, by developers and systems engineers, so its good to
know the basics. If you really dont like vi or Emacs, your next best bet is nano for Unix
systems. Do a quick sudo whoami to demonstrate success. Logout of ubuntu and test your
login, then logout. Use Alt+Print-Screen to capture your desktop and save as proof you set
up your account. Note that you can always get a terminal with Ctrl+Alt+t key combination.
If you dont like the desktop, you can try GNOME Flashback and please play around with
customizing your account as you wish. Make sure you can access our class web page on
Firefox (or default browser) and set your home page to
http://mercury.pr.erau.edu/~siewerts/cs415/. Overall, make sure you are comfortable with
development, debug, compiler general native or cross-development tools and document and
demonstrate that you know them.

2) [15 points] Read the paper "Architecture of the Space Shuttle Primary Avionics Software
System" [available on Canvas], by Gene Carlow and provide an explanation and critique of
the frequency executive architecture. What advantages and disadvantages does the frequency
executive have compared to the real-time threading and tasking implementation methods for
real-time software systems? Please be specific about the advantages and disadvantages and
provide at least 3 advantages as well as 3 disadvantages.

3) [50 points] Download Feasibility example code and build it on a Jetson or alternate system of
your choice (or ECES Linux if you have not mastered the Jetson yet) and execute the code.
Compare the tests provided to analysis using Cheddar for the first 4 examples. Now,
implement the remaining examples [5 more] that we reviewed in class (found here).
Complete analysis for all three policies using Cheddar (RM, EDF, LLF). In cases where RM
fails, but EDF or LLF succeeds, explain why. Cheddar uses both service simulations over
the LCM of the periods as well as feasibility analysis based on the RM LUB and scheduling-
point/completion-test algorithms, referred to as Worst Case Analysis. Does your modified
Feasibility code agree with Cheddar analysis in all 5 additional cases? Why or why not?

4) [30 points] Provide 3 constraints that are made on the RM LUB derivation and 3 assumptions
as documented in the Liu and Layland paper and in Chapter 3 of RTECS2. Finally, list 3 key
derivation steps in the RM LUB derivation that you either do not understand or that you
would consider tricky math. Attempt to describe the rationale for those steps as best you
can do based upon reading in Chapter 3 of RTECS2.
Grading Rubric

[5 points] Create account on Jetson: _______________________________________

[15 points] Shuttle PASS paper review:

[6 points] Three advantages ________________________________________

[6 points] Three disadvantages______________________________________

[3 points] Overall understanding of paper and key point articulation_________

[50 points] Shared CPU system overload:

[5 pts] Example #4 code ______________________________________

[5 pts] Example #5 code ______________________________________

[5 pts] Example #6 code ______________________________________

[5 pts] Example #7 code ______________________________________

[5 pts] Example #8 code ______________________________________

[5 pts] Example #4 Cheddar confirm____________________________

[5 pts] Example #5 Cheddar confirm ____________________________

[5 pts] Example #6 Cheddar confirm ____________________________

[5 pts] Example #7 Cheddar confirm ____________________________

[5 pts] Example #8 Cheddar confirm ____________________________

[30 points] Shared CPU system overload:

[5 pts] C#1, A#1 ______________________________________

[5 pts] C#2, A#2 ______________________________________

[5 pts] C#3, A#3 ______________________________________

[5 pts] key step #1 ______________________________________

[5 pts] key step #2 ______________________________________

[5 pts] key step #3_______________________________________


Overall, provide a well-documented professional report of your findings, output, and tests so that
it is easy for a colleague (or instructor) to understand what youve done. Include any C/C++
source code you write (or modify) and Makefiles needed to build your code. I will look at your
report first, so it must be well written and clearly address each problem providing clear and
concise responses to receive credit.

Note: Linux manual pages can be found for all system calls (e.g. fork()) on the web at
http://linux.die.net/man/ - e.g. http://linux.die.net/man/2/fork

In this class, youll be expected to consult the Linux manual pages and to do some reading and
research on your own, so practice this in this first lab and try to answer as many of your own
questions as possible, but do come to office hours and ask for help if you get stuck.

Upload all code and your report completed using MS Word or as a PDF to Canvas and include
all source code (ideally example output should be integrated into the report directly, but if not,
clearly label in the report and by filename if test and example output is not pasted directly into
the report). Your code must include a Makefile so I can build your solution on Ubuntu VB-
Linux or a Jetson. Please zip or tar.gz your solution with your first and last name embedded
in the directory name.

You might also like