Zero Dereference
128 subscribers
3 photos
3 files
372 links
Interesting links related to systems programming, hacking, and science.

Contact: @richiefreedom
Download Telegram
Over the past few years, many complete hobby operating systems have appeared. By "complete" I mean that they look like finished products. They have a modern graphical interface and a set of basic applications. Among them are wonderful ToaruOS, fast-growing SerenityOS, VanadiumOS, GhostOS and some others.

It's time to add skiftOS to this list. During quarantine, the author did a great job. Just look what he managed to achieve!

https://github.com/skiftOS/skift

#osdev #assembly #c #system #programming
An interesting hobby project: its author made own fantasy computer architecture, a programming language, a virtual machine and an operating system. The author wrote the virtual machine and the toolchain for own programming language in Lua.

https://github.com/limnarch

#osdev #system #programming #vm #fantasycomputer
A book about the internals of the NetBSD operating system.

https://www.netbsd.org/docs/internals/en/index.html

#book #osdev #system #programming
The article at the link below shows an interesting way to hide messages in the binary code of programs for x86-compatible processors.

https://blog.yossarian.net/2020/08/16/Hiding-messages-in-x86-binaries-using-semantic-duals

#steganography #osdev #system #programming #infosec #lowlevel
A page documenting the use of Spin/Promela to verify Plan 9's synchronization primitives.

https://swtch.com/spin/

#synchronization #verification #osdev #spin #promela
A simple and well-documented microkernel operating system released under public domain.

https://resea.org/

#osdev #system #programming #c #microkernel #cc0 #lowlevel
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
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
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
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
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
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
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