Questions tagged [operating-system]

An operating System (OS) is a software program whose role is to be an abstract layer between software requisitions for resources and the hardware available, manage input/output, memory allocation/deallocation, file systems, among other basic tasks a device (not necessarily a computer) should do.

An operating system (OS) is a basic software whose role is to be an abstract layer between software requisitions for resources and the hardware available. The basic components of an operational system can be listed as:

  • Boot loader

Although some may say it is not part of the OS, it's the starting point where the hardware after doing booting routines transfers the control to a small procedure that will bring up the entire system

  • User interface

Can be graphical or text-based, is the central point of communication between the user and the OS

  • Kernel

The core of the OS that manages all the resources of the hardware according to the requisitions. Kernels can be either a micro kernel or a monolithic kernel. Both types include the following functionality:

  • Process management (scheduling, multitasking, pseudo-parallelism, and so on)
  • Memory (and virtual memory) management
  • Inter-process communications (IPC)
  • Interrupt management

Monolithic kernels include these additional features:

  • File system and disk access organization
  • Device management (with the aid of device drivers, plug-and-play routines, dynamic modules, and so on)

These features are not included directly in a micro-kernel, but are instead implemented in tasks. One example of a fairly widely used micro-kernel is QNX. As well, many hypervisors are micro kernel designs. A major argument for micro-kernels is that their small size makes them easier to analyze and more secure.Tanenbaum

Most well known operating systems are monolithic. In fact, the majority of commercial and Open source OS's are monolithic. Generally they allow faster hardware response.

Book : Operating System Concepts by Abraham Silberschatz

Recommended preliminary reading before posting a question: OSDev Wiki

See also: .

13710 questions
31
votes
11 answers

Fixing 403 Forbidden on alias directory with Apache

I am trying to setup an alias to point to some directory on my filesystem not in DocumentRoot. Now I get a 403 Forbidden response. These are the steps taken: 1. edit http.conf, adding: Alias /example…
sjking
  • 845
  • 1
  • 10
  • 11
31
votes
9 answers

Does an Application memory leak cause an Operating System memory leak?

When we say a program leaks memory, say a new without a delete in c++, does it really leak? I mean, when the program ends, is that memory still allocated to some non-running program and can't be used, or does the OS know what memory was requested by…
Baruch
  • 20,590
  • 28
  • 126
  • 201
31
votes
2 answers

In an operating system, what is the difference between a system call and an interrupt?

In an operating system, what is the difference between a system call and an interrupt? Are all system calls interrupts? Are all interrupts system calls?
Brad Penney
  • 421
  • 1
  • 4
  • 6
31
votes
1 answer

Understanding load average vs. cpu usage

Okay, I'm very much a Windows user myself, so my knowledge of Linux-y type things is a bit limited. However it was my general understanding that "Load Average" is an indication of how many processed are being run at any given time, on average over…
Niet the Dark Absol
  • 320,036
  • 81
  • 464
  • 592
31
votes
4 answers

What is meant by "blocking system call"?

What is the meaning of "blocking system call"? In my operating systems course, we are studying multithreaded programming. I'm unsure what is meant when I read in my textbook "it can allow another thread to run when a thread make a blocking system…
sam
  • 311
  • 1
  • 3
  • 4
31
votes
6 answers

What are trade offs for "busy wait" vs "sleep"?

This is an extension to my previous question How does blocking mode in unix/linux sockets works? What I gather from Internet now, all the process invoking blocking calls, are put to sleep until the scheduler finds the reasons to unblock it. The…
Vivek Sharma
  • 3,794
  • 7
  • 38
  • 48
30
votes
4 answers

What environment makes Node.js the happiest?

Can anyone tell me what OS Ryan Dahl uses as his main? I've seen him using a Mac in his demos but I also heard him say Mac is sh*t. I'm curious what OS he, as the creator of Node.js, uses since that is likely the easiest to use for Node.js…
Michael Minton
  • 4,447
  • 2
  • 19
  • 31
30
votes
4 answers

Does a memory barrier ensure that the cache coherence has been completed?

Say I have two threads that manipulate the global variable x. Each thread (or each core I suppose) will have a cached copy of x. Now say that Thread A executes the following instructions: set x to 5 some other instruction Now when set x to 5 is…
30
votes
2 answers

Why is memory allocation for processes slow and can it be faster?

I relatively familiar how virtual memory works. All process memory is divided into pages and every page of the virtual memory maps to a page in real memory or a page in swap file or it can be a new page which means that physical page is still not…
homm
  • 2,102
  • 1
  • 16
  • 33
30
votes
4 answers

CPU Switches from User mode to Kernel Mode : What exactly does it do? How does it makes this transition?

CPU Switches from User mode to Kernel Mode : What exactly does it do? How does it makes this transition? EDIT: Even if it is architecture dependent please provide me with an answer. The architecture is up to you. Tell me for the architecture you…
claws
  • 52,236
  • 58
  • 146
  • 195
30
votes
2 answers

What's the difference between page and block in operating system?

I have learned that in an operating system (Linux), the memory management unit (MMU) can translate a virtual address (VA) to a physical address (PA) via the page table data structure. It seems that page is the smallest data unit that is managed by…
xiaozhu
  • 365
  • 1
  • 3
  • 8
30
votes
5 answers

Difference between load-time dynamic linking and run-time dynamic linking

When loading programs into memory, what is the difference between load-time dynamic linking and run-time dynamic linking?
jennyson
  • 341
  • 2
  • 4
  • 4
30
votes
4 answers

what is a tickless OS?

I've heard the term "Tickless OS" thrown around. What does it mean? Which OSes are tickless? How does it differ from a non-tickless (tickful?) OS?
Nathan Fellman
  • 122,701
  • 101
  • 260
  • 319
30
votes
9 answers

Kernel development and C++

From what I know, even though the common OS have parts written in other languages, the kernel is entirely written in C. I want to know if it's feasible to write a Kernel in C++ and if not, what would be the drawbacks.
coredump
  • 3,017
  • 6
  • 35
  • 53
30
votes
16 answers

If I were to build a new operating system, what kind of features would it have?

I am toying with the idea of creating an completely new operating system and would like to hear what everyone on this forums take is on that? First is it too late are the big boys so entrenched in our lives that we will never be able to switch (wow…
Autobyte
  • 1,231
  • 4
  • 19
  • 28