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

About sbrk() and malloc()

I've read the linux manual about sbrk() thoroughly: sbrk() changes the location of the program break, which defines the end of the process's data segment (i.e., the program break is the first location after the end of the uninitialized data…
Euclid Ye
  • 501
  • 5
  • 13
5
votes
3 answers

what does PC have to do with load or link address?

Link address is the address where execution of a program takes place, while load address is the address in memory where the program is actually placed. Now i'm confused what is the value in program counter? is it the load address or is it the link…
5
votes
4 answers

How 32 bit IR hold load instruction?(RISC style 32bit architechture)

I am bit confused with instruction size and addressable space (I assumed that instruction size should be same as size of address bits. I did not find enough explanation in my book)If I am correct, then in theory if we have a 2^32 addressable…
5
votes
2 answers

How many page tables do Intel x86-64 CPUs access to translate virtual memory?

I am trying to understand the number of tables looked-up, when translating a virtual address to a physical address. The Intel manual seems to state numerous…
5
votes
2 answers

Where can I find specifics about Windows 10's process scheduling?

I'm currently learning about CPU scheduling and I'm curious about the specifics on Windows 10's scheduling. From what I know a round-robin scheduling is used along with differing levels of priority, but where can I find the specific time quantum…
5
votes
3 answers

Difference between message queues and mailboxes

In operating system what is the difference between message queues and mailboxes.
Ginu Jacob
  • 1,588
  • 2
  • 19
  • 35
5
votes
1 answer

How does multilevel paging save memory?

I am confused with the concept of the multilevel paging scheme. Let a 32-bit virtual address and one page is of 4 KiB then I will have 220 pages/page table entries. Let one page table entry be of size 4 bytes, so the page table's size is 220 * 4…
Bishnu
  • 383
  • 4
  • 14
5
votes
2 answers

What to do in interrupt handler for divide by zero?

What should an operating system interrupt handler do for interrupts related to coding mistakes? For example, I tried to divide by 0 for testing my interrupt and my interrupt handler got called. However, because the div instruction was not…
Tu Do
  • 339
  • 2
  • 11
5
votes
2 answers

Why the virtual address of ELF can be determined before it is mapped to virtual space?

An object file is linked to generate an ELF file and its virtual address is determined. For example, the virtual address of .text is 0x8048000. When the ELF file is going to be mapped to virtual space, another ELF has already been mapped to this…
haolee
  • 892
  • 9
  • 19
5
votes
4 answers

Does a file read from a Java application invoke a system call?

My understanding is that a user application requesting a file system path (eg. /aFile) will invoke the File System and get back the virtual address of the requested file. Then the application will attempt a read/write operation with that address as…
simpatico
  • 10,709
  • 20
  • 81
  • 126
5
votes
2 answers

C++ Programs return int type, so why does return -1 return 255?

Note that I am running a linux machine, although I don't think the result is different on a windows (or other) machine. This is a simple question - C++ programs usually return a 32 bit int. If I return -1, and then print the result from the…
FreelanceConsultant
  • 13,167
  • 27
  • 115
  • 225
5
votes
5 answers

Why all the interrupts must be disabled during semaphore operations?

I am reading Operating System Concepts by Galvin. In the semaphore section it says that all the interrupts to the processor must be disabled while modifying the value of semaphore. Why it is required?
Sanketssj5
  • 655
  • 5
  • 17
5
votes
3 answers

Virtual Memory and Physical Memory

I am studying the concept of Memory Management Unit(MMU) from the book titled "Operating System Concepts" - by Abraham Silberschatz and Galvin. Though things were fine till chapter 8. As soon I started with chapter 9, things started messing up. I am…
5
votes
2 answers

get process cmdline in MAC os from another C-based executable

I would like to find out if there's a sys call that gets remote process id and return it's command line in Mac OS X (the equivalent in linux is /proc/PID/cmdline. I could use the following way of reading output of 'px ax PID' from file, but I…
Zohar81
  • 4,554
  • 5
  • 29
  • 82
5
votes
1 answer

Gigabyte v/s Gibibyte & Gigabit v/s Gibibit

Please note: I know the differences, so this question is not to know the difference between them but for something else. I am putting below my understand and knowledge (for those who are not aware), compiled from reliable sources of…
hagrawal7777
  • 14,103
  • 5
  • 40
  • 70