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
25
votes
2 answers

Difference between interrupt and event

What is the difference between interrupt and an event?
srikanth rongali
  • 1,463
  • 4
  • 28
  • 53
25
votes
14 answers

How does binary translate to hardware?

I understand how the code is compiled to assembly, and that assembly is a 1:1 replacement with binary codes. Can somebody help me understand how binary is connected to the hardware? How is the binary physically read and run? How does an if statement…
Nona Urbiz
  • 4,873
  • 16
  • 57
  • 84
24
votes
6 answers

Process vs Threads

How to decide whether to use threads or create separate process altogether in your application to achieve parallelism.
Nitin
  • 15,151
  • 8
  • 23
  • 14
24
votes
1 answer

How does SysInternal's ProcessMonitor work?

Could someone please give me a high level explanation how they are able to monitor every single registry access? http://technet.microsoft.com/en-us/sysinternals/bb896645 Enough detail so that i could google around the various sub-topics and try to…
Tom
  • 419
  • 1
  • 5
  • 7
24
votes
5 answers

In virtual memory, can two different processes have the same address?

This is an interview question I found in a website, the questions says: "In virtual memory, can two different processes have the same address? When you answer "No" which is correct, how one process can access another process' memory, for example the…
Vin
  • 717
  • 1
  • 12
  • 26
24
votes
2 answers

Create zombie process

I am interested in creating a zombie process. To my understanding, zombie process happens when the parent process exits before the children process. However, I tried to recreate the zombie process using the following code: #include…
user3354832
  • 655
  • 3
  • 6
  • 13
24
votes
3 answers

vm/min_free_kbytes - Why Keep Minimum Reserved Memory?

According to this article: /proc/sys/vm/min_free_kbytes: This controls the amount of memory that is kept free for use by special reserves including “atomic” allocations (those which cannot wait for reclaim) My question is that what does it mean…
user3063877
  • 275
  • 1
  • 2
  • 8
24
votes
1 answer

How to iterate an NSSet (Objective-C) - To-Many relationship representation in Core Data - efficiently?

To-Many relationships in Core Data are represented by NSSet (as automatically generated by using the Editor... Create NSManagedObject Subclass.. menu. Which is the most efficient way to iterate an NSSet* ? NSSet* groups = [contact…
ikevin8me
  • 4,253
  • 5
  • 44
  • 84
23
votes
7 answers

Do multi-core CPUs share the MMU and page tables?

On a single core computer, one thread is executing at a time. On each context switch the scheduler checks if the new thread to schedule is in the same process than the previous one. If so, nothing needs to be done regarding the MMU (pages table). In…
Manuel Selva
  • 18,554
  • 22
  • 89
  • 134
23
votes
3 answers

How to stop Linux kernel threads on rmmod?

I wrote the following code to create a kernel thread: #include #include #include #include #include struct task_struct *task; int data; int ret; int thread_function(void…
pradeepchhetri
  • 2,899
  • 6
  • 28
  • 50
23
votes
4 answers

Interrupt masking: why?

I was reading up on interrupts. It is possible to suspend non-critical interrupts via a special interrupt mask. This is called interrupt masking. What i dont know is when/why you might want to or need to temporarily suspend interrupts? Possibly…
user249375
23
votes
5 answers

How does UEFI work?

I was studying about bootloaders when exactly came upon the term UEFI. I can understand some things about UEFI. But still, In what mode(Real,Protected,Long) does a system with UEFI start? If normal boot loaders cant work with UEFI, Then what is the…
prog481
  • 319
  • 1
  • 4
  • 12
23
votes
6 answers

Is heap memory per-process? (or) Common memory location shared by different processes?

Every process can use heap memory to store and share data within the process. We have a rule in programming whenever we take some space in heap memory, we need to release it once job is done, else it leads to memory leaks. int *pIntPtr = new…
23
votes
5 answers

NSUserDefaults not working on Xcode beta with Watch OS2

I just installed the latest beta of Xcode to try Swift 2 and the improvements made to the Apple Watch development section. I'm actually having an hard time figuring out WHY this basic NSUserDefaults method to share informations between iOS and Watch…
Sara Canducci
  • 6,231
  • 5
  • 19
  • 24
23
votes
1 answer

How does a system call work

How does system calls work ? What are the operations happen during system call? There are various system call like open , read, write, socket etc. I would like to know how do they work in general ?
Rocoder
  • 1,083
  • 2
  • 15
  • 26