Skip to content
/ OS-2023 Public

Repository untuk testing spesifikasi IF2230 Sistem Operasi 2023

Notifications You must be signed in to change notification settings

Lock1/OS-2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Repository untuk testing spesifikasi IF2230 Sistem Operasi 2023

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published