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

What does executable file actually contain?

What does executable actually contain ? .. Does it contain instructions to processor in the form of Opcode and Operands ? If so why we have different executables for different operating systems ?
Sphinx
  • 311
  • 1
  • 5
  • 9
22
votes
1 answer

corrupted double-linked list?

I am just debugging a big project and and getting this error *** glibc detected *** p_appmanager/obj/appmanager: corrupted double-linked list: 0x08325e18 ** I have tried to debug the code with the valgrind, but I am not much familiar with this…
Amit Bhaira
  • 1,687
  • 6
  • 18
  • 31
22
votes
1 answer

Is it possible for Vagrant to use an OS .ISO install image directly/or create a Vagrant box from an ISO on the fly?

Is it possible to automate the creation of a Vagrant .box file for an OS install, from the original ISO? To me, this is a significant gap in the end-to-end automation of Operating System install and configuration on a Virtual Machine that Vagrant…
therobyouknow
  • 6,604
  • 13
  • 56
  • 73
22
votes
1 answer

Android: Create new System Permission in through AOSP source code.

I was wondering how one can edit Android OS source code to impose a new permission. For example like we have BLUETOOTH permission, if the device offers a new sensor, then how appropriate permission can be created in order for applications to use the…
22
votes
7 answers

What is the path to the JRE file?

I am looking for the path the the JRE file on Mac OS X 10.6.8. Or is there no such file? Is JRE just slang for an idea or concept? Java Runtime Environment is a real thing. Does it have a file? I am installing something that asks for the path to the…
Vivoco
  • 221
  • 1
  • 2
  • 3
22
votes
2 answers

New folder that is created inside the current directory

I have a program in Python that during the processes it creates some files. I want the program to recognize the current directory and then then creates a folder inside the directory, so that the created files will be put in that directory. I tried…
f.ashouri
  • 5,409
  • 13
  • 44
  • 52
21
votes
3 answers

Is there a lot of Plan 9 development?

It seems that the biggest contributors of Plan 9 are no longer in the project and it does not seem that there is a big development. There is 9fans, a mailing list for Plan 9 users, and once a year they usually do a meeting, but I have been surfing…
icedgoal
  • 646
  • 6
  • 17
21
votes
2 answers

Is there a reliable way to determine the system CPU architecture using Python?

Possible Duplicate: How can I return system information in Python? For example, to see if a Solaris is a Solaris X86 or Solaris SPARC?
Jack Z
  • 2,572
  • 4
  • 20
  • 17
21
votes
1 answer

Why is kernel said to be in process address space?

This might be a silly question but it just popped up in my mind. All the text about process address space and virtual memory layout mentions that the process address space has space reserved for kernel. For e.g. on 32 bit systems the process address…
vjain27
  • 3,514
  • 9
  • 41
  • 60
21
votes
4 answers

Get my OS from the node.js shell

How can I access my OS from the node shell? Context: I'm writing a script in node that I want to open a file with the default program, and the commands for doing this vary across OS. I've tried standard javascript ways of getting the OS, but they…
Alex Churchill
  • 4,887
  • 5
  • 30
  • 42
21
votes
2 answers

What is the difference between cooperative multitasking and preemptive multitasking?

Recently I was understanding for how threads are different from fibers. This answer says that Threads use pre-emptive scheduling, whereas fibers use cooperative scheduling. In order to get more information about cooperative multitasking vs…
Mayur
  • 2,583
  • 16
  • 28
21
votes
2 answers

Multi-level page tables - hierarchical paging

Example question from a past operating system final, how do I calculate this kind of question? A computer has a 64-bit virtual address space and 2048-byte pages. A page table entry takes 4 bytes. A multi-level page table is used because each table…
Bobby S
  • 4,006
  • 9
  • 42
  • 61
21
votes
6 answers

Cooperative Scheduling vs Preemptive Scheduling?

In the book Core Java : Volume 1 Fundamentals -> chapter MultiThreading . The Author wrote as follows : "All modern desktop and server operating systems use preemptive scheduling. However, smaller devices such as cell phones may use …
Roshan
  • 667
  • 1
  • 5
  • 15
21
votes
7 answers

Is it possible to use threads to speed up file reading?

I want to read a file as fast as possible (40k lines) [Edit : the rest is obsolete]. Edit: Andres Jaan Tack suggested a solution based on one thread per file, and I want to be sure I got this (thus this is the fastest way) : One thread per entry…
Mister Mystère
  • 952
  • 2
  • 16
  • 39
21
votes
2 answers

How do interrupts in multicore/multicpu machines work?

I recently started diving into low level OS programming. I am (very slowly) currently working through two older books, XINU and Build Your Own 32 Bit OS, as well as some resources suggested by the fine SO folks in my previous question, How to get…
Giovanni Galbo
  • 12,963
  • 13
  • 59
  • 78