Instructor: Dr. H. Farbeh
Spring 2023
This readme provides an overview of the Washing Machine Task Scheduling project, outlining task characteristics, scheduling algorithms, and simulation methodologies.
In this project, tasks are categorized into critical and preemptive groups. Tasks two, three, and five possess critical regions, rendering them non-preemptive under the NPP scheduling algorithm. Once initiated, these tasks cannot be interrupted until completion. Conversely, tasks one and four are preemptive, capable of interruption by higher-priority tasks.
Tasks exhibit varying deadlines. Task one holds the most stringent deadline, necessitating rapid completion. Tasks two and three have intermediate deadlines and secondary priority. Task four has a relatively lenient deadline and lower priority, while task five boasts the lowest deadline and priority.
The project employs the Non-Preemptive Priority (NPP) and Earliest Deadline First (EDF) scheduling algorithms. NPP facilitates sequential execution without interruption, while EDF prioritizes tasks with the closest deadlines, promoting optimal resource usage.
For performance evaluation, the Proteus simulation environment is utilized. The simulation provides a visual representation of task execution, aided by LEDs corresponding to various washing machine functions. The project's execution order, task priorities, and preemptive nature are observable through LED activation patterns during simulation.
The primary objective is to showcase embedded systems' practical application and simultaneous operation execution. By implementing NPP and EDF algorithms, the project demonstrates effective task scheduling and resource management on a washing machine.
To simulate the project, load the provided configuration into the Proteus environment. Observe the LED activations, depicting the execution status of different washing machine functions. Analyze how task priorities, deadlines, and preemptive behavior affect overall project performance.
The Washing Machine Task Scheduling project exemplifies efficient task management in an embedded system context. Through NPP and EDF algorithms and the Proteus simulation environment, the project offers insights into scheduling strategies, showcasing the optimal execution of washing machine operations.
![wash](https://private-user-images.githubusercontent.com/71961438/259691913-84d777c1-a635-41a1-81ed-a7cefa991d90.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE2MDA3MzksIm5iZiI6MTcyMTYwMDQzOSwicGF0aCI6Ii83MTk2MTQzOC8yNTk2OTE5MTMtODRkNzc3YzEtYTYzNS00MWExLTgxZWQtYTdjZWZhOTkxZDkwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIxVDIyMjAzOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWExNDRhYmQ3YmZiZTY0MzNlMzE5OGE5OGY3ZGJiZmY5NGNmM2E0ODk4MjIxMjQ3MmJmNGM3ZjFkYTFjZjk5ZjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.WbiIawb1SytnFg-NCR7deq3ZhD_Lj4ZvQtlxUs-sLIk)