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
65
votes
7 answers

In C, how is the main() method initially called?

How does a C program get started?
user418627
  • 651
  • 1
  • 6
  • 4
64
votes
12 answers

Why is Windows giving my hard disk the letter C and not A or B for example?

Is it because the operating system is written in the C programming language? I think that the A and B languages were not so successful? I am thirteen and trying to do computer programming in C#.
Peter
62
votes
4 answers

detecting operating system in R (e.g. for adaptive .Rprofile files)

I was wondering how to automatically detect operating system in R, for example to place things in the .Rprofile.
Brian G. Peterson
  • 3,531
  • 2
  • 20
  • 21
62
votes
10 answers

Maximum memory which malloc can allocate

I was trying to figure out how much memory I can malloc to maximum extent on my machine (1 Gb RAM 160 Gb HD Windows platform). I read that the maximum memory malloc can allocate is limited to physical memory (on heap). Also when a program exceeds…
Vikas
  • 1,422
  • 2
  • 12
  • 16
61
votes
4 answers

Is memory allocation a system call?

Is memory allocation a system call? For example, malloc and new. Is the heap shared by different processes and managed by the OS. What about private heap? If memory allocation in the heap is managed by the OS, how expensive is this? I would also…
Jim
  • 665
  • 1
  • 6
  • 6
59
votes
7 answers

Why is the probe method needed in Linux device drivers in addition to init?

In the linux kernel, what does the probe() method, that the driver provides, do? How different is it from the driver's init function, i.e. why can't the probe() functions actions be performed in the driver's init function ?
Bandicoot
  • 3,811
  • 7
  • 35
  • 39
59
votes
1 answer

docker is not VM , why container need base image OS ?

It is said that docker is not a VM and containers directly run on the host. But why do containers need a base image OS ? If process in containers run on the base image OS , what's the difference between a VM and docker(only the base image OS can be…
cola
  • 691
  • 1
  • 6
  • 15
57
votes
10 answers

How to run regasm.exe from command line other than Visual Studio command prompt?

I want to run regasm.exe from cmd. which is available in c:\windows\Microsoft.net\framework\2.057 I do like this c:\ regasm.exe It gives regasm is not recognized as internal or external command. So I understood that I need to set the path for…
Cute
  • 13,643
  • 36
  • 96
  • 112
57
votes
2 answers

System call and context switch

I am sorry to ask this question when it has already been asked but I couldn't get a clarity from them. So I am asking the following related questions to get the difference between system call (mode-switch) and context switch Why is it said that…
vjain27
  • 3,514
  • 9
  • 41
  • 60
57
votes
6 answers

How is the system call in Linux implemented?

When I invoke a system call in user mode,how did the call get processed in OS? Does it invoke some some executable binary or some standard library? If yes,what kind of thing it needs to complete the call?
MainID
  • 29,070
  • 19
  • 57
  • 70
56
votes
5 answers

Maximum number of processes in linux

What is the maximum limit to the number of processes possible in a linux system? How can we find it ?
kdexter
  • 569
  • 1
  • 5
  • 5
56
votes
1 answer

Detect MacOS, iOS, Windows, Android and Linux OS with JS

How to detect MacOS X, iOS, Windows, Android and Linux operating system with JavaScript?
Vladyslav Turak
  • 6,014
  • 4
  • 24
  • 25
56
votes
5 answers

How do SMP cores, processes, and threads work together exactly?

On a single core CPU, each process runs in the OS, and the CPU jumps around from one process to another to best utilize itself. A process can have many threads, in which case the CPU runs through these threads when it is running on the respective…
56
votes
6 answers

A system independent way using python to get the root directory/drive on which python is installed

For Linux this would give me /, for Windows on the C drive that would give me C:\\. Note that python is not necessarily installed on the C drive on windows.
Bentley4
  • 10,678
  • 25
  • 83
  • 134
55
votes
5 answers

Java's "os.name" for Windows 10?

In Java, we can see the property value of os.name to know the name of the underlying operating system: System.getProperty("os.name"). For each edition of Windows, it used to return always the exact name of the OS: Windows XP for XP, Windows Vista…