Giter Site home page Giter Site logo

templeos's Introduction

TempleOS

Sistema operativo cli, single thread, con sopoprte para multiprocesos y division entre kernel y userland. Cuenta con memory manager, scheduler, procesos, IPC, y manejo de syscalls. Para más información, leer el archivo 'Informe TP2 - Grupo 2.pdf'

Características principales

  • Doble Memory Manager, a elección del usuario al momento de compilación
  • Scheduler Round Robin basado en prioridades, con sistema de envejecimiento para evitar inanición
  • Ofrece funcionalidad para crear procesos, finalizarlos y cambiarles la prioridad
  • Implementación de semáforos basados en POSIX con syscalls para abrirlos y cerrarlos
  • Pipes basados en POSIX con sus correspondientes syscalls
  • Lectura y escritura desde file descriptors en background o foreground
  • Terminal interactiva con comandos para testear las características

Tecnologías utilizadas

Desarrollado mayoritariamente en C y Assembler

Intrucciones de instalación y ejecución

Luego de descargar el repositorio, navegar al mismo.

 cd TP2-SO

En la misma ruta, abrir el contenedor Docker con la imágen provista por la cátedra:

 docker run -v "${PWD}:/root" --privileged -ti agodio/itba-so:1.0

Luego, ejecutar un make all en la carpeta Toolchain:

  cd Toolchain; make all

Para compilar el proyecto con el Memory Manager estándar, ejecutar un make all en la carpeta raíz del mismo:

  make all

En cambio, para compilar con el Buddy System:

  make MM=BUDDY

Para ejecutar el sistema, ejecutar el script de bash run.sh ubicado en la carpeta raíz:

  ./run.sh

Terminación de un programa

Para cerrar forzadamente un proceso presionar la tecla F2. Para más detalles y lista de comandos dispobles consultar el informe del repositorio.

templeos's People

Contributors

gastialasia avatar matidellatorre avatar pescudeiro avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.