Hardware abstraction layers

I feel as though I have been spending most of my CORNELIUS efforts on the ELIUS (language) part, and neglecting the CORN (operating system) part. Recently, though, I have been thinking about the notion of a “hardware abstraction layer” (HAL). This is a common part of many systems, and serves to isolate the messy, hardware-specific …

Continue reading ‘Hardware abstraction layers’ »

Programming a Problem-Oriented Language

Several Posts ago, during a discussion of why I am interested in bare-metal operating systems development, I linked to Charles Moore’s biography on his ColorForth.com web site. At the time I was interested in looking at a variety of stack-based languages for inspiration, including ColorForth. Sure enough, ColorForth had some interesting ideas, but what stopped …

Continue reading ‘Programming a Problem-Oriented Language’ »

Operating System metaphors: Rooms and Doors

I am a big believer in the power of metaphor and analogy in software development. While these things can certainly be misused, they are also a useful way of viewing a design from different perspectives to gain fresh insight. Some metaphors are so common that we even lose sight of the fact that they are …

Continue reading ‘Operating System metaphors: Rooms and Doors’ »

What is an “operating system”?

Since deciding to have a go at producing my own operating system for the Raspberry Pi, one thing has been going round and round in my head. What exactly is an “operating system”? According to the introduction to the “Baking Pi” tutorials from the University of Cambridge: An operating system is just a very complicated …

Continue reading ‘What is an “operating system”?’ »

Baking Pi, part 1

Having decided that I wanted to embark on a bare-metal adventure, I thought it best that I prepare myself a bit. Ideas are already buzzing around in my head about what and how I might approach this problem, but to start with I think that following in someone else’s footsteps might be a good idea. …

Continue reading ‘Baking Pi, part 1’ »

Interlude: a bit of history

Bear with me if you are here for insights about Raspberry Pi development. This will all come together eventually. I hope. In the early 1980s I studied Computer Systems Engineering at the University of Warwick. During the second year of the course I shared a student house with three friends and we had all sorts …

Continue reading ‘Interlude: a bit of history’ »