Giter Site home page Giter Site logo

vitaminac / minios Goto Github PK

View Code? Open in Web Editor NEW
25.0 4.0 6.0 250 KB

mini x86 Operating System <= 256KB

License: MIT License

Assembly 35.19% C 59.26% Makefile 5.56%
operating-system kernel unix linux linux-kernel syscalls driver-programming x86-nasm x86-assembly real-time-operating-system driver

minios's Introduction

Mini Operating System From Zero

Debian Dev Environment Setup

sudo apt update
sudo apt install build-essential nasm gcc gdb gdbserver ccache qemu qemu-system-x86

Debug

Run make debug and then you can use any gdb command.

break

  • b main: puts a breakpoint at the symbol main
  • b f:N: puts a breakpoint at the line N of file f

continue

  • c: continues running the program until the next breakpoint or error

info

  • info break: list breakpoints
  • info registers eax: show the value of specific register

where

  • where: Show call stack
  • where full: Show call stack, also print the local variables in each frame

del

  • del N: remove break point N

step

  • s: runs the next line of the program

next

  • n: Like s, but it does not step into functions

layout asm

  • layout asm: show the assembly and command windows.

stepi

  • si: next instruction

nexti

  • ni: Like si, but it does not step into routines

print

  • p var: print the current value of the variable var.

finish

  • finish: Runs until the current function is finished

list

  • list: print more lines

quit

  • q: quits gdb

VNC

You can access the remote desktop with VNC viewer connecting to "<your-linux-virtual-machine-ip-address>:5900".

Tutorial

Course

Book

Windows

Source Code

Windows

Emulator

Reference

minios's People

Contributors

vitaminac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

minios's Issues

Screen scrolling

It dose not really work for me,
When i press enter a few times so the input is at the bottom and press enter again, everything should scroll up, however it dose not, just stays at the bottom

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.