Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Post History

77%
+5 −0
Q&A What's the "big picture" of how my operating system is put together?

My understanding is that one of the key advantages of Linux is modularity: the actual Linux kernel is quite small, and then what we call Linux is that plus the "rest of the system" - hence "operati...

1 answer  ·  posted 5mo ago by Karl Knechtel‭  ·  last activity 5mo ago by matthewsnyder‭

#2: Post edited by user avatar Karl Knechtel‭ · 2024-06-19T09:35:16Z (5 months ago)
Reworked based on feedback and taking advantage of matthewsnyder's other question
  • What's the "big picture" of components of my system?
  • What's the "big picture" of how my operating system is put together?
  • My understanding is that one of the key advantages of Linux is modularity: the actual Linux kernel is quite small, and then a large number of other pieces are built on top of it, and in theory there exist alternatives for many if not most of these pieces.
  • Aside from individual applications that a distro might include (like a web browser or document editors or media players), conceptually what are the "parts" of this system? My package manager reports over 2500 installed packages; how can I get my head around this system architecture? I think that "desktop environment" and "window manager" describe two of the parts, at the level of granularity I want, but I'm missing the big picture.
  • Also, can I indeed replace these parts of the system or swap between alternatives? For example, can I reasonably expect to just install a different desktop environment in parallel with my existing one, from the system package manager, and choose one on the login screen for each session?
  • My understanding is that one of the key advantages of Linux is modularity: the actual Linux kernel is quite small, and then [what we call Linux](https://linux.codidact.com/posts/291802) is that plus the "rest of the system" - hence "operating system" (or "Linux Systems"). And then the latter is typically, but not necessarily GNU (or should I say "the GNU system", to distinguish it from the organization?), and it's built up of a lot of smaller pieces.
  • Now, my package manager tells me that I have over 2500 installed packages, but it seems like the system isn't really as complicated as that implies. I know that a single application could account for many packages in some cases (e.g. over 100 of them on my system seem to have *something* to do with Python). And I've heard nebulous terms like "desktop environment" and "window manager" that seem like they describe conceptually distinct, separable *components* of this "Linux system".
  • Is it really like that? Without getting into details about the dependencies between packages, does it make sense to think of them as logically grouped into a few components?
  • If so, what might those components be? And *how modular are they really* - can a distro maintainer basically choose an option for each and call it a day; or does everything have to be stitched together at the level of individual software packages and then carefully reconfigured to cooperate properly; or just what?
#1: Initial revision by user avatar Karl Knechtel‭ · 2024-06-18T09:28:36Z (5 months ago)
What's the "big picture" of components of my system?
My understanding is that one of the key advantages of Linux is modularity: the actual Linux kernel is quite small, and then a large number of other pieces are built on top of it, and in theory there exist alternatives for many if not most of these pieces.

Aside from individual applications that a distro might include (like a web browser or document editors or media players), conceptually what are the "parts" of this system? My package manager reports over 2500 installed packages; how can I get my head around this system architecture? I think that "desktop environment" and "window manager" describe two of the parts, at the level of granularity I want, but I'm missing the big picture.

Also, can I indeed replace these parts of the system or swap between alternatives? For example, can I reasonably expect to just install a different desktop environment in parallel with my existing one, from the system package manager, and choose one on the login screen for each session?