Code Monkey home page Code Monkey logo

os-2023's Introduction

OS 2023

Repository untuk testing spesifikasi IF2230 Sistem Operasi ITB 2023

Mengambil beberapa ide utama dari littleosbook - Erik Helin, Adam Renberg, tugas besar OS-2022, dan pengerjaan OS sebelumnya. Dibuat sepenuhnya dari scratch dan diadjust untuk keperluan tugas besar IF2230. Kit, spesifikasi, dan guidebook pengerjaan dapat diakses pada Sister20/kit-OS-2023

Links

  • OS-2022 - Dibuat sebagai asisten lab Sister '19
  • OS-2023 - Dibuat untuk membantu asisten Sister '20 & mengubah spesifikasi secara drastis
  • OS-2024 WIP - Dibuat untuk membantu asisten Sister '21 & menambah process + rewrite total guide menjadi buku

Mock-up shell (yang ada pada spesifikasi)

Shell sample

Karena ada sedikit masalah dengan directory name length dengan manim (temporary file biasanya relatif panjang filenamenya), untuk source code animasi manim dipindah ke separate repository:

https://github.com/Lock1/OS-2023-Manim

Dev Repository untuk kit

Code Style

  • Yes, verbose
  • No typedef for struct (except function pointer and some magic if needed)
  • Global variable will use _<filename>_<variable name>
  • Assembly filename: <filename>-asm.s, with filename is same with C counterpart (ex. interrupt.c and interrupt-asm.s)
  • Both <filename>-asm.s and <filename>.c will share single header <filename>.h
  • kernel.c and kernel-entrypoint.s will share kernel.h instead

Planned Roadmap

Milestone 1

1-5

  • Initial setup & toolchain install
  • Bootloader
  • I/O Memory Map (VGA)
  • Global Descriptor Table (GDT) + Protected Mode
  • Initial kit / template milestone 1

Milestone 2

6-11

  • Interrupt (IRQ kaya keyboard)
  • Filesystem
  • Basic process + monotasking Dropped for milestone 2

Milestone 3

12-End

  • Paging
  • User mode
  • Basic shell

Dropped

Seems too hard?

  • Memory management (memcpy, malloc, etc)
  • Multitasking

Resources

Other reference

os-2023's People

Contributors

lock1 avatar marfgold1 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.