Blitz OS Project

The BLITZ Home Page - LOGO

Overview

The BLITZ System is a collection of software designed to support a university-level course on Operating Systems. Over the course of one or two terms, students will implement a small, but complete, operating system kernel. The BLITZ software provides the framework for these student projects.

Courses

دانشگاه صنعتی شریف - بهار ۱۴۰۰ - سیستم عامل - دکتر فروغمند

هر فاز از پروژه ۱ نمره دارد.

فاز نخست پروژه

فاز دوم پروژه

فاز سوم پروژه

فاز چهارم پروژه

فاز پنجم پروژه

Documentation

An Overview of the BLITZ System

This document gives an introduction to and overview of the BLITZ system.

An Overview of the BLITZ Computer Hardware

This document introduces the architecture of the emulated CPU and I/O devices. html pdf

The BLITZ Architecture

This document describes the BLITZ processor hardware. It includes information about the CPU registers, the instruction set architecture, and the BLITZ assembly language. html pdf

Example BLITZ Assembly Program

This is a compete, stand-alone BLITZ assembly program. This program can serve as a test of the BLITZ tools and an introduction to using the emulator. html pdf

BLITZ Instruction Set

This document contains detailed information on each of the BLITZ machine instructions. It will be of interest primarily to assembly language programmers. html pdf

The BLITZ Emulator

This document describes the BLITZ virtual machine emulator and debugger. It shows how to run a BLITZ program and describes all of the available debugging commands. It also includes detailed information about the disk and terminal I/O devices. html pdf

An Overview of KPL, A Kernel Programming Language

This document describes the “KPL” high-level programming language. html pdf

Context-Free Grammar of KPL

This document contains a formal specification of the grammar of KPL and can be used as a quick reference, for syntactical questions. html pdf

The Format of BLITZ Object and Executable Files

This document describes the files produced by the assembler and the linker. This document may be of some interest to students, but is not necessary. html pdf

BLITZ Tools: Help Information

Each of the BLITZ tools will produce some “help” information; this document collects such information from each of the tools. This document also includes detailed information about the syntax of BLITZ assembly language programs. html pdf

BLITZ Instruction Set - Sorted Lists

This document lists all BLITZ machine instructions. This list is first ordered alphabetically by instruction name and then listed numerically by op-code. It will be of interest primarily to assembly language programmers. html pdf

BLITZ Misc. Technical Notes

This document contains a number of miscellaneous comments and notes. This document may be of some interest to students, but is not necessary. html pdf

The BLITZ Assembler

This document describes the BLITZ assembler tool. This document may be of some interest to students, but is not necessary. html pdf

The Thread Scheduler and Concurrency Control Primitives

This document describes the workings of a kernel thread scheduler using, as a specific example, the scheduler in the BLITZ system. It is aimed at someone just learning about kernel concepts. Familiarity with the BLITZ system is not assumed and is not needed to understand this document. This document is not required by students working on the BLITZ kernel project, but it may be helpful to those working on projects 2 and 3. html pdf

The Operating System Project

Project 1: Introduction to the BLITZ Tools

document - html - files - old pdf

Project 2: Threads and Interprocess Communication

document - html - files - old pdf

Project 3: Barbers and Gamblers

document - html - files - old pdf

Project 4: Kernel Resource Management

document - html - files - old pdf

Project 5: User-Level Processes

document - html - files - old pdf

Project 6: Multiprogramming with Fork

document - html - files - old pdf

document - html - files - old pdf

Project 8: The Serial I/O Device Driver

document - html - files - old pdf

The BLITZ Tools

Executables for Sun / Solaris

Blitz/BlitzBin/Sun

Executables for Linux Ubuntu (64-bit)

Blitz/BlitzBin/Ubuntu64

Executables for Mac OS X (Intel)

Blitz/BlitzBin/MacIntel

Executables for Mac OS X (PPC)

Blitz/BlitzBin/MacPPC

Source Code

Blitz/BlitzSrc

Information for Instructors

Notes to Instructors

This document is the starting point for any instructor who is considering using the system in a classroom setting and should be be read first. html

About the Author

Harry H. Porter III, Ph.D.
Computer Science Department
Portland State University

Short Bio: click here
Harry’s Website: www.cs.pdx.edu/~harry
Email: porter@pdx.edu