A hobbyist operating system with GUI written in assembly language for x86_64.
https://github.com/Blackend/Cyjon/
#osdev #system #programming #assembly #lowlevel
https://github.com/Blackend/Cyjon/
#osdev #system #programming #assembly #lowlevel
GitHub
GitHub - Blackend/Cyjon: A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors…
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family. - GitHub - Blackend/Cyjon: A simple, clean code, multi-tasking op...
A talk on the implementation of object capabilities (OCAP) in HelenOS:
https://youtu.be/w-VraUmQoDU
#ocap #osdev #system #programming #video
https://youtu.be/w-VraUmQoDU
#ocap #osdev #system #programming #video
YouTube
Towards capabilities in HelenOS The elephant in the room
by Jakub Jermář
At: FOSDEM 2018
Room: AW1.126
Scheduled start: 2018-02-03 16:35:00+01
At: FOSDEM 2018
Room: AW1.126
Scheduled start: 2018-02-03 16:35:00+01
ZZ is a new C dialect with Rusty syntax and ability for formal verification through symbolic execution at compile time.
https://github.com/zetzit/zz
#c #rust #compiler #transpiler #system #programming
https://github.com/zetzit/zz
#c #rust #compiler #transpiler #system #programming
GitHub
GitHub - zetzit/zz: 🍺🐙 ZetZ a zymbolic verifier and tranzpiler to bare metal C
🍺🐙 ZetZ a zymbolic verifier and tranzpiler to bare metal C - zetzit/zz
On December 2, I will be speaking at the KasperskyOS Night online technical conference, where I will tell the story of finding a non-trivial bug in our hypervisor.
The entire conference is dedicated to our microkernel operating system, KasperskyOS. There will be both kinds of reports: with dry theory and stories from our daily practice.
Join if you are interested in OS development, DSL (domain specific languages) or information security. Participation is absolutely free, just register.
The conference lasts two days, December 1 — 2. The main language of the conference is Russian.
https://os.kaspersky.ru/night/
#conference #osdev #microkernel #system #programming #c #haskell #dsl #kasperskyos #infosec
The entire conference is dedicated to our microkernel operating system, KasperskyOS. There will be both kinds of reports: with dry theory and stories from our daily practice.
Join if you are interested in OS development, DSL (domain specific languages) or information security. Participation is absolutely free, just register.
The conference lasts two days, December 1 — 2. The main language of the conference is Russian.
https://os.kaspersky.ru/night/
#conference #osdev #microkernel #system #programming #c #haskell #dsl #kasperskyos #infosec
KasperskyOS | Кибериммунный подход к созданию информационных систем
KasperskyOS Night 2021 Winter Edition | KasperskyOS
αcτµαlly pδrταblε εxεcµταblε is a clever approach to produce x86_64 binaries able to run on most modern operating systems, including Linux, Windows, MacOS and FreeBSD.
https://justine.lol/ape.html
#c #assembly #system #programming #lowlevel
https://justine.lol/ape.html
#c #assembly #system #programming #lowlevel
Selfie is an educational project consisting of a compiler for a subset of C that generates code for a simplified RISC-V instruction set, a small emulator for that architecture, and a tiny hypervisor.
Selfie can compile and execute itself.
There are various extensions for Selfie that include a simple garbage collector and a symbolic executor.
http://selfie.cs.uni-salzburg.at/
#c #riscv #system #programming #lowlevel #compiler #osdev #hv #virt
Selfie can compile and execute itself.
There are various extensions for Selfie that include a simple garbage collector and a symbolic executor.
http://selfie.cs.uni-salzburg.at/
#c #riscv #system #programming #lowlevel #compiler #osdev #hv #virt
Faux86 is a bare metal 8086 emulator for Raspberry Pi.
https://github.com/jhhoward/Faux86
#c #arm #x86 #virt #system #programming
https://github.com/jhhoward/Faux86
#c #arm #x86 #virt #system #programming
GitHub
GitHub - jhhoward/Faux86: A portable, open-source 8086 PC emulator for bare metal Raspberry Pi
A portable, open-source 8086 PC emulator for bare metal Raspberry Pi - jhhoward/Faux86
Stoneknife Forth is a minimal forth translator that can compile itself. This compiler is so simple that it recognizes only one-letter identifiers.
This can be bootstrapped in two steps:
First of all Stoneknife is compiled by itself being interpreted by a slow interpreter written in python.
The second step is compiling with the compiler produced by the previous step. The result is a bootstrapped x86 ELF executable.
https://github.com/kragen/stoneknifeforth
#compiler #lowlevel #system #programming
This can be bootstrapped in two steps:
First of all Stoneknife is compiled by itself being interpreted by a slow interpreter written in python.
The second step is compiling with the compiler produced by the previous step. The result is a bootstrapped x86 ELF executable.
https://github.com/kragen/stoneknifeforth
#compiler #lowlevel #system #programming
GitHub
GitHub - kragen/stoneknifeforth: a tiny self-hosted Forth implementation
a tiny self-hosted Forth implementation. Contribute to kragen/stoneknifeforth development by creating an account on GitHub.
I have already written about Rui Ueyama and the family of small C compilers: 8cc and 9cc. I also mentioned chibicc, a project that complements Rui's book.
Last time I didn't notice how the author organized the repository of chibicc. Each commit is a single step from zero to a full-featured C11 compiler (without optimizations and proper allocation of registers).
The first commit in the repository only involves a simple compiler that reads a number and generates a program that can return this number on completion. The last commit includes all the source code of the compiler that can build real projects like Git, SQLite and libpng!
https://github.com/rui314/chibicc
#c #compiler #lowlevel #system #programming
Last time I didn't notice how the author organized the repository of chibicc. Each commit is a single step from zero to a full-featured C11 compiler (without optimizations and proper allocation of registers).
The first commit in the repository only involves a simple compiler that reads a number and generates a program that can return this number on completion. The last commit includes all the source code of the compiler that can build real projects like Git, SQLite and libpng!
https://github.com/rui314/chibicc
#c #compiler #lowlevel #system #programming
GitHub
GitHub - rui314/chibicc: A small C compiler
A small C compiler. Contribute to rui314/chibicc development by creating an account on GitHub.
Ultibo is a bare metal environment to run FreePascal applications on any available RaspberryPi board. It provides APIs for networking, USB access, preemptive threading on multiple CPUs, filesystem access, exception handling, hardware accelerated OpenGL ES graphics, etc. All of the features are available without any operating system!
https://ultibo.org/wiki/Main_Page
#osdev #pascal #rpi #system #programming
https://ultibo.org/wiki/Main_Page
#osdev #pascal #rpi #system #programming
A tutorial on bare metal programming for Raspberry Pi 4.
https://isometimes.github.io/rpi4-osdev/
#osdev #lowlevel #pri #baremetal #system #programming
https://isometimes.github.io/rpi4-osdev/
#osdev #lowlevel #pri #baremetal #system #programming
rpi4-osdev
Writing a “bare metal” operating system for Raspberry Pi 4
Tutorial: Writing a “bare metal” operating system for Raspberry Pi 4
An article about reconstruction of an old unpublished NES game. Its source code has been buried on floppy disks for years.
Article:
https://gamehistory.org/days-of-thunder-nes-unreleased/
Source code and ROMs:
https://github.com/DickBlackshack/Days-of-Thunder-NES-Unpublished
#nes #retro #game #system #programming #lowlevel
Article:
https://gamehistory.org/days-of-thunder-nes-unreleased/
Source code and ROMs:
https://github.com/DickBlackshack/Days-of-Thunder-NES-Unpublished
#nes #retro #game #system #programming #lowlevel
Video Game History Foundation
Reconstructing a lost NES game from 30-year-old source code disks | Video Game History Foundation
Resurrecting Days of Thunder from dying floppy disks took tenacity...and a little bit of luck.
You may remember I said that I was working on a small book about virtualization. A lot has changed since then, I had more work to do, and I quit working on the book.
A friend of mine recently shared with me a link to a series of articles on Qemu internals posted by Airbus. I hope you find these materials interesting.
https://airbus-seclab.github.io/qemu_blog/
#virt #qemu #system #programming
A friend of mine recently shared with me a link to a series of articles on Qemu internals posted by Airbus. I hope you find these materials interesting.
https://airbus-seclab.github.io/qemu_blog/
#virt #qemu #system #programming
QEMU internals
Introduction
A series of posts about QEMU internals:
An article on an ahead of time binary translator that translates NES ROMs to native x86_64 executables.
https://andrewkelley.me/post/jamulator.html
#nes #plt #virt #system #programming #llvm
https://andrewkelley.me/post/jamulator.html
#nes #plt #virt #system #programming #llvm
Cowgol is a simple programming language inspired by Ada. The language has been greatly simplified to enable easy but effective compilation for small platforms like Zilog Z80, Intel 8080, MOS 6502, Motorola 68K, and others.
The Cowgol compiler is bootstrapped and written in Cowgol itself. It uses a simple table-driven code generator but performs several optimizations. The code of the compiler is very accurate and pleasant to read.
https://github.com/davidgiven/cowgol
#plt #compiler #system #programming
The Cowgol compiler is bootstrapped and written in Cowgol itself. It uses a simple table-driven code generator but performs several optimizations. The code of the compiler is very accurate and pleasant to read.
https://github.com/davidgiven/cowgol
#plt #compiler #system #programming
GitHub
GitHub - davidgiven/cowgol: A self-hosted Ada-inspired programming language for very small systems.
A self-hosted Ada-inspired programming language for very small systems. - davidgiven/cowgol
This is a totally crazy thing! You definitely know Windows Subsystem for Linux. This project implements a kind of DOS Subsystem for Linux. You can run a Linux session from your DOS command shell and then exit back to DOS. The implementation details are very interesting!
https://github.com/haileys/doslinux
#lowlevel #dos #assembly #system #programming #linux
https://github.com/haileys/doslinux
#lowlevel #dos #assembly #system #programming #linux
GitHub
GitHub - haileys/doslinux: Run Linux programs on DOS
Run Linux programs on DOS. Contribute to haileys/doslinux development by creating an account on GitHub.
Brutal is a fast-growing hobbyist microkernel operating system project.
The design resembles third-generation microkernels: all resources in the system are represented in a generalized form by objects. Access to objects is possible through locally unique handles, which can be transferred between tasks via IPC.
The project has gone through three major milestones. The authors have already implemented their UEFI bootloader, SMP-compatible microkernel, interface description language, PCIe and ACPI services, and interrupt routing to userspace.
Next in line is work on a block layer, a network stack, and own compiler for a C-like programming language.
Apparently, the same community is working on the Brutal project as on SkiftOS.
#osdev #system #programming #lowlevel #microkernel
The design resembles third-generation microkernels: all resources in the system are represented in a generalized form by objects. Access to objects is possible through locally unique handles, which can be transferred between tasks via IPC.
The project has gone through three major milestones. The authors have already implemented their UEFI bootloader, SMP-compatible microkernel, interface description language, PCIe and ACPI services, and interrupt routing to userspace.
Next in line is work on a block layer, a network stack, and own compiler for a C-like programming language.
Apparently, the same community is working on the Brutal project as on SkiftOS.
#osdev #system #programming #lowlevel #microkernel
GitHub
GitHub - brutal-org/brutal: 🏢 An operating system inspired by brutalist design that combines the ideals of UNIX from the 1970s…
🏢 An operating system inspired by brutalist design that combines the ideals of UNIX from the 1970s with modern technology and engineering - GitHub - brutal-org/brutal: 🏢 An operating system inspir...
Stumbled upon a site with an introduction to basic computer science concepts.
The presentation is superficial, but it covers most of the topics that a modern programmer needs to look at.
The author starts with the basic architecture of a computer: the representation of numbers, the concepts of processor and instructions, a description of a typical pipeline, the hierarchy of memory, caches, and buses. There are also chapters about cache coherence, memory paging, and DMA.
Using Unix as example the author explains concepts such as multitasking, system calls, kernel privileged mode, processes, and virtual memory. He also pays attention to ELF object files and dynamic linking.
Of course, after reading these materials, a person will not automatically become a systems programmer but will have a good high-level understanding of how modern hardware and system software work.
You can download the offline PDF version.
#book #cs #system #programming #hardware #osdev #lowlevel
The presentation is superficial, but it covers most of the topics that a modern programmer needs to look at.
The author starts with the basic architecture of a computer: the representation of numbers, the concepts of processor and instructions, a description of a typical pipeline, the hierarchy of memory, caches, and buses. There are also chapters about cache coherence, memory paging, and DMA.
Using Unix as example the author explains concepts such as multitasking, system calls, kernel privileged mode, processes, and virtual memory. He also pays attention to ELF object files and dynamic linking.
Of course, after reading these materials, a person will not automatically become a systems programmer but will have a good high-level understanding of how modern hardware and system software work.
You can download the offline PDF version.
#book #cs #system #programming #hardware #osdev #lowlevel
Yes, I know that I have already written about ToaruOS, and many of the readers have already heard about this operating system. But it's worth mentioning it because a lot has changed since that time.
Once upon a time, the author of this OS had an alternative branch where he tried to get rid of all external dependencies by rewriting the missing libraries on his own. This branch was called toaru-nih. Surprisingly, Klange finished getting rid of the foreign code and merged toaru-nih into the main branch of the project.
Now, this Unix-like operating system provides a fast GUI based on a compositing window manager Yutani, a package manager, a set of standard applications, and even its Python-like programming language called Kuroko.
Surprisingly, all of this work is done by one person!
#osdev #lowlevel #system #programming
Once upon a time, the author of this OS had an alternative branch where he tried to get rid of all external dependencies by rewriting the missing libraries on his own. This branch was called toaru-nih. Surprisingly, Klange finished getting rid of the foreign code and merged toaru-nih into the main branch of the project.
Now, this Unix-like operating system provides a fast GUI based on a compositing window manager Yutani, a package manager, a set of standard applications, and even its Python-like programming language called Kuroko.
Surprisingly, all of this work is done by one person!
#osdev #lowlevel #system #programming
GitHub
GitHub - klange/toaruos: A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace…
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network...
IOCCC (The International Obfuscated C Code Contest) is a well-known annual event for system programmers who know how to make any C code unreadable.
You may know some winners of the contest and their programs. For example, Fabrice Bellard and his otcc which later became the Tiny C Compiler (tcc).
But today I would like to recall an entry submitted by Gavin Barraclough, a multitasking operating system equipped with a window manager, a terminal emulator, and a text editor. All the code was a single 3.5 Kb file written in obfuscated C!
One guy from Russia deobfuscated this OS and fixed some bugs. Now we can compare the original and deobfuscated versions.
#osdev #lowlevel #system #programming
You may know some winners of the contest and their programs. For example, Fabrice Bellard and his otcc which later became the Tiny C Compiler (tcc).
But today I would like to recall an entry submitted by Gavin Barraclough, a multitasking operating system equipped with a window manager, a terminal emulator, and a text editor. All the code was a single 3.5 Kb file written in obfuscated C!
One guy from Russia deobfuscated this OS and fixed some bugs. Now we can compare the original and deobfuscated versions.
#osdev #lowlevel #system #programming
GitHub
gavin/deobfuscated at master · safinaskar/gavin
The smallest operation system in the world. Contribute to safinaskar/gavin development by creating an account on GitHub.