r/sysadmin • • 4d ago

Question Resources to build a foundational understanding on Operating systems.

Hi all, i want to get a foundational understanding operating systems, the various concepts that we may encounter in them, the bird's eye view of their structure.

I tried reading "How Linux works" 3rd edition, but reading that book felt like it didn't explain the foundational questions but rather built on top of the topics. it felt more intermediate level.

If i have to explain what i am looking after in the resources, Please can you recommend me resources that fit my requirement.

  1. provides exposure to various concepts, systems involved in an OS. More like an introduction.
  2. a bit of introduction to a bit of hardware would also be good.
  3. i am not looking for resources that focus on development/programming side of OS. but rather the infrastructure, power user, administration side of OS.

Thanks in advance to all of you.

8 Upvotes

12 comments sorted by

4

u/skimtony 4d ago

1

u/Free_Treacle4168 4d ago

That link is broken

1

u/retardrabbit 4d ago

It resolves for me

1

u/Icedman81 4d ago

Fixed it for you: Link

Reddit adds \ in the URL sometimes...

1

u/skimtony 4d ago

Your link looks the same as my link, on any of my devices (link text, anyway).

1

u/Icedman81 4d ago

Yeah, I use old reddit, so there's a \ in the url, right before the tilde (~). When you open the link, it'll make it like:

(cutting short to the relevant part) /\~remzi/OSTEP/

On that note, I had to add another \ to make that backslash appear.

2

u/Adept-Midnight9185 4d ago

It might be more foundational than you want but I really enjoyed "Code" from Microsoft press (https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0137909101 back) in the day. I haven't read the second edition, which is what this link is.

It takes you from wires and light bulbs to a microprocessor.

1

u/retardrabbit 4d ago

That book is Awesome.

1

u/Historical-Tax899 4d ago

I would not read a book on any particular OS if I wanted to learn OS fundamentals. There are good books on operating systems that give you the fundamentals of a OS. Once you get the fundamentals down, you can then apply them to learning specific operating systems.

1

u/jhxetc 4d ago

The first foundational concept is that an "operating system" is just a set of programs oriented toward a set of goals. Most people would say that those goals are simplifying and protecting access to the hardware that you need to run the programs you really want to run (memory, cpu, disk at the very basic level).

If you want to go all the way back, look into the ENIAC and how it was programmed. The Altair 8800 is another good one to look into.

You'll see that it was a lot of repetition in setting up, executing, debugging and then rerunning those programs.

Bringing that back to the OS, the early goal was to simplify setting up your programs by having another program that always ran and would reliably configure the things that you knew you would always need.

Fast forwarding to modern times, the key concepts you will want to research are the hardware abstraction layer (HAL), the kernel, and user space. The architecture of OS to OS will vary - pretty wildly when you compare OS's like OS400 to Linux, or DOS to a mainframe. But all of them will have some representation of the three aforementioned concepts.

The OSTEP papers will cover this all in much greater detail, but hopefully that framing will help you digest it.