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
29
votes
5 answers

How to make JUnit test cases to run in sequential order?

I am using JUnit4. I have a set of test methods in a test case. Each test method inserts some records and verify a test result and finally delete the records inserted. Since the JUnit run in parallel, test methods fail because of some records…
Athiruban
  • 616
  • 1
  • 5
  • 17
29
votes
7 answers

How to add simulator iPhone XS in Xcode 9.2 also iPhone XS max

I need to build my app on an XS device. I am using Xcode 9.2. How can I add the XS modal in my Xcode externally? In my simulator I have up to iPhone X. My machine Version: OS X version: 10.12.6 (16G29) Xcode version: 9.2
sejn
  • 2,040
  • 6
  • 28
  • 82
29
votes
4 answers

How does sleep(), wait() and pause() work?

How do sleep(), wait(), pause(), functions work?
Blender
  • 289,723
  • 53
  • 439
  • 496
29
votes
5 answers

Get PC (system) information on a Windows machine

Is there a way to get the following information by using C#? PC Name, Service Tag, CPU type, CPU speed, Size of the C:\ drive, Installed RAM, OS name, OS Product Key, Office Version, and Office Product Key.
dps123
  • 1,033
  • 6
  • 19
  • 26
29
votes
7 answers

What are 16, 32 and 64-bit architectures?

What do 16-bit, 32-bit and 64-bit architectures mean in case of Microprocessors and/or Operating Systems? In case of Microprocessors, does it mean maximum size of General Purpose Registers or size of Integer or number of Address-lines or number of…
user366312
  • 16,949
  • 65
  • 235
  • 452
29
votes
9 answers

Get the current operating system during runtime in C++

I need to figure out the operating system my program is running on during runtime. I'm using Qt 4.6.2, MinGW and Eclipse with CDT. My program shall run a command-line QProcess on Windows or Linux. Now I need a kind of switch to run the different…
Kai Walz
  • 786
  • 1
  • 5
  • 15
29
votes
3 answers

Difference between word addressable and byte addressable

Can someone explain what's the different between Word and Byte addressable? How is it related to memory size etc.?
leon
  • 10,085
  • 19
  • 60
  • 77
29
votes
9 answers

Are object files platform independent?

Is it possible to compile program on one platform and link with other ? What does object file contain ? Can we delink an executable to produce object file ?
Xinus
  • 29,617
  • 32
  • 119
  • 165
29
votes
2 answers

Does Linux use x86 CPU's PCID feature for TLB? If not, why?

I wrote a kernel module to check CR4.PCIDE, it is not set. Why doesn't Linux use such feature to reduce the performance slowdown due to TLB invalidation and cache pollution?
W.Sun
  • 868
  • 2
  • 11
  • 19
29
votes
4 answers

how do compilers assign memory addresses to variables?

I teach a course where students get to ask questions about programming (!): I got this question: Why does the machine choose were variables go in memory? Can we tell it where to store a variable? I don't really know what to say. Here's my first…
Dervin Thunk
  • 19,515
  • 28
  • 127
  • 217
29
votes
4 answers

What is the difference between Shell, Kernel and API

I want to understand how this applies to an operating system and also to those things that are not infact operating systems. I can't understand the difference between the three and their essence. API is the functions we can call but what is Shell?…
quantum231
  • 2,420
  • 3
  • 31
  • 53
29
votes
4 answers

what is a reentrant kernel

What is a reentrant kernel?
Pwn
  • 3,387
  • 11
  • 38
  • 42
29
votes
3 answers

Difference between Counting and Binary Semaphores

What is the difference between Counting and binary semaphore. What I have seen somewhere is that both can control N number of processes which have requested for a resource. Both have taken and Free states. Is there any restriction on how many…
Umer Farooq
  • 7,356
  • 7
  • 42
  • 67
28
votes
2 answers

bootloader - switching processor to protected mode

I'm having difficulties understanding how a simple boot loader works. The boot loader I'm talking about is the one from MITs course "Operating Systems Engineering". First, let me show you a piece of assembly code the BIOS executes: [f000:fec3] …
solyd
  • 782
  • 2
  • 8
  • 18
28
votes
3 answers

What are the behavioral differences between a daemon and a normal process?

I know that daemons run in the background mostly i.e. they require very less interaction from the user. Wikipedia lists some of the types of daemons that commonly exist: Dissociating from the controlling tty Becoming a session leader Becoming a…
Lazer
  • 90,700
  • 113
  • 281
  • 364