Skip to content

Joshelin/OS-project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OS-project

YAEOS

INTRODUCTION

Sistema Operativo accademico basato su processore ARM7TDMI emulato.

Occorre installare µARM per testare il progetto.

Github:

https://github.com/Plutone11011/OS-project


AUTHORS

 
Lorenzo Borelli 0000789622
Federico Biagi 0000758635
Yihong Chen 0000801605

COMPILAZIONE/LINKING

Dopo aver installato µARM ed i relativi pacchetti (Vedi Readme).
Compilare usando Makefile, digitando make.
L'eseguibile si chiamerà main.


SCELTE PROGETTUALI

Abbiamo suddiviso il progetto in 2 cartelle principali

"src" per tutti i file sorgente:

-Alloc.c 
-Queue.c
-Tree.c
-Semaphore.c

"header" per tutti i file header:

-Alloc.h 
-Queue.h
-Tree.h
-Semaphore.h
-libuarm.h
-uARMtypes.h
-uARMconst.h
-PCB.h

Alloc

Gestisce i pcb (Process control block), consentendo di allocarli e deallocarli.

Queue

Gestisce code di pcb allocati con priorità decrescente.

Tree

Gestisce alberi di pcb allocati.

Semaphore

Gestisce i semafori tramite una Hash table.
Ogni semaforo consente di bloccare e/o liberare pcb (thread) concorrenti tramite mutua esclusione con priorità (Usando Queue.c).
Consente inoltre di liberare l'esecuzione di un pcb e tutti i suoi figli (thread), 'bypassando' la coda (Terminate process tree).

To be continued!!!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 75.1%
  • C++ 23.4%
  • Makefile 1.5%