top | item 46228634

(no title)

geonineties | 2 months ago

I would say something a little different. The kernel is a _library_ that has an init routine you can provide the function for. Or put another way, without the kernel your go program would have to have drivers statically compiled into it. This was the world of DOS, btw.

discuss

order

sedatk|2 months ago

I agree with your point, but I must correct you on DOS: it had device drivers too. :) That's how we used to access mouse input, CD drives, network, extended memory, etc. Yes, it sucked on the graphics and sound; every app basically had to reimplement its own graphics and audio layer from scratch, but the rest was quite abstracted away.

1313ed01|2 months ago

There were generic VESA SVGA drivers towards the end of the MS-DOS era.

Sound blaster(16) also came close to being standard enough that games could just support that.

Extrapolating I think MS-DOS was on a nice trajectory to having complete enough (and reasonably simple and non-bloated!) APIs for everything important, when it was killed off. Late MS-DOS 32-bit games were usually trivial to install and run.

charcircuit|2 months ago

More importantly, a kernel is a platform. Conceptually it isn't that much different than other platforms such as Chrome or Roblox. They all have to care about the lifecycle of content, expose input events to content, allow content to render things, make sure bad things don't happen when running poorly programmed or malicous content, etc.

zsoltkacsandi|2 months ago

> More importantly, a kernel is a platform.

Completely agree with this framing. We will get there by the end of the series.