Git Product home page Git Product logo

rosys's Introduction

rosys

Rigid Operating System

boot sequence (x86)

  • CPU executing in real mode (addrs correspond to actual physical addrs)
  • CPU looks at reset vector (FFFFFF0h for 32/64 bit) for firmware entry point
  • Usually this location is a jump instruction that moves execution to location of firmware start-up program
  • check and initialize required devices: memory, PCI bus, PCI devices
  • firmware goes through list of non-volatile storage devices looking for bootable device
  • bootable device is one that can be read from and where last 2 bytes of the first sector contain the little-endian word AA55h (MBR boot signature)
  • once a bootable device is found, it loads boot sector to linear address 7C00h and transfers execution to boot code.
  • for a hard disk, this address is the master boot record - conventionally the code here checks the partition table for a partition set as bootable i.e. the one with the active flag set.
  • if an active partition is found, mbr loads and executes boot sector code from that partition - this code is called volume boot record
  • boot sector code is first-stage boot loader - must fit into first 446 bytes of the MBR to leave room for the 64 byte partition table with 4 partition entries + the 2 byte boot signature
  • this configuration differs for different first-stage boot loaders
  • vbr loads and executes operating system boot loader - this is the second-stage boot loader

firmware (power-on self-test)

  • detect available RAM
  • pre-initialize CPU and hardware
  • look for bootable disk
  • boot operating system kernel

bootstrap loader

rosys's People

Contributors

justinlazarus avatar

Watchers

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