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
1 answer

Exit from an application in an OS without memory separation

I am writing a monolithic OS(It is a joke to call it an OS but it does have very minimal, school level functionalists). When I say monolithic, I meant, it is compiled as a single binary blob and no support for file system etc. Currently I just have…
agent.smith
  • 9,134
  • 9
  • 37
  • 49
5
votes
1 answer

I am getting the following error after installing Pint-OS and trying to run multiple alarm. I am using bochs as emulator. Any possible work around?

Prototype mismatch: sub main::SIGVTALRM () vs none at /home/abhijay/pintos-os/pintos/src/utils/pintos line 934. Constant subroutine SIGVTALRM redefined at /home/abhijay/pintos-os/pintos/src/utils/pintos line 926. warning: can't find squish-pty, so…
Abhijay
  • 191
  • 4
  • 18
5
votes
1 answer

What is a good program in C that can demonstrate strengths/weaknesses of different linux schedulers (noop, CFS, deadline)?

I'm trying to find a way to demonstrate how different schedulers may affect the runtime of a program. So far, I'm only using the time function on linux to try and see measurable differences using noop, CFS, and deadline schedulers but I'm not having…
Leggy
  • 147
  • 7
5
votes
2 answers

Scenarios for Thread Ordering Service

Reading up the new Vista/Win2008 features, I wonder what is the point of the Thread Ordering Service. In other words, in which scenario the "classic" scheduler's "fair to all" policy is not sufficient, and a definite order of threads is…
peterchen
  • 40,917
  • 20
  • 104
  • 186
5
votes
2 answers

What is the difference between compaction and defragmentation?

My operating systems textbook says that compaction is a process that rearranges disk blocks such that all free disk blocks form a contiguous "chunk" of free disk space. But I always thought that was what defragmentation does? Are these two terms the…
vladimirm
  • 261
  • 1
  • 2
  • 8
5
votes
2 answers

booting from a disk/cd/usb

How can I boot my small console from a disk/cd/usb, with the following configuration: The media that I want to use will be completely raw i.e no filesystem on it. When I insert the media in my system or assume that its already inserted, I want to…
sp3tsnaz
  • 506
  • 7
  • 16
5
votes
8 answers

Any memory usage paradigm besides Stack and Heap?

As I have learned data structure, I know there are plenty of other data stuctures besides Stack and Heap, why the processes nowadays only contain these 2 paradigm as the "standard equipment" in their address space? Could there be any brand new…
smwikipedia
  • 61,609
  • 92
  • 309
  • 482
5
votes
1 answer

Can't clear entire screen in 16-bit real mode Assembly

I'm trying to clear the screen in my simple 16-bit real mode operating system. Below is the code: clearScreen: pusha mov ah, 0x7 mov al, 0 int 0x10 popa ret I read that setting al to 0 and calling the scroll screen…
icedvariables
  • 99
  • 1
  • 9
5
votes
2 answers

Debugging Linux scheduler

I am trying to implement a new kernel scheduler as my academic project. I know this may slow down the system but for debugging purpose I am writing a printk statement in context switch and schedule function so that I can see the event in dmesg…
raushan
  • 344
  • 1
  • 4
  • 8
5
votes
1 answer

Trouble understanding preemptive kernel

how does preemptive kernel lead to race conditions? if a process is preempted i.e. isn't kicked out of its critical section . from my understanding race condition is when several processes try to access and manipulate resources concurrently right. I…
EI-01
  • 1,075
  • 3
  • 24
  • 42
5
votes
1 answer

Operating System - Anonymous Memory

In terms of operating system I have seen a few times the term anonymous memory, but I don't really know, what that is. If someone asks me something about it I couldn't really say something with great certainty what that is. I also searched for an…
user2965601
5
votes
3 answers

can't recognize keytool-importkeypair

I'm trying to release an android app with system privileges using the following link: http://paulononaka.wordpress.com/2011/10/19/apk-with-system-privileges/ my OS knowlage is somewhat poor and i cant get my system to recognize…
EranGL
  • 81
  • 1
  • 6
5
votes
0 answers

Bad align value for a ELF section causes the program to be loaded wrong

I'm currently building a toy OS using a custom linker script to create the binary : ENTRY(entry_point) /* base virtual address of the kernel */ VIRT_BASE = 0xFFFFFFFF80000000; SECTIONS { . = 0x100000; /* * Place multiboot header at…
Leo
  • 51
  • 3
5
votes
8 answers

iPhone OS 3.1.3 does not work with Xcode 3.2.1. Do I have to install SDK 3.2 BETA?

Same as the title. Do I have to install SDK 3.2 BETA to work with OS 3.1.3? I really want to avoid to install BETA on my main workstation. No other way? I'm also thinking about rollback to OS 3.1.2 if there is no way. I'm regretting about I made no…
eonil
  • 83,476
  • 81
  • 317
  • 516
5
votes
2 answers

Number of page table index bits in multilevel paging

A processor uses 36 bit physical addresses and 32 bit virtual addresses with a page frame size of 4 KBytes. Each page table entry size is of 4 bytes. A three level page table is used for virtual to physical address translation, where the virtual…
Unni
  • 5,348
  • 6
  • 36
  • 55