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
34
votes
4 answers

How expensive is File.exists in Java

I am wondering how File.exists() works. I'm not very aware of how filesystems work, so I should maybe start reading there first. But for a quick pre information: Is a call to File.exists() a single action for the filesystem, if that path and…
Franz Kafka
  • 10,623
  • 20
  • 93
  • 149
34
votes
3 answers

What is the difference between Socket and RPC?

What is the actual difference between Socket and RPC (Remote Procedure Call)? As per my understanding both's working is based on Client–server model. Also which one should be used in which conditions? PS: Confusion arise while reading Operating…
roottraveller
  • 7,942
  • 7
  • 60
  • 65
34
votes
3 answers

What does the Kernel Virtual Memory of each process contain?

When say 3 programs (executables) are loaded into memory the layout might look something like this: alt text http://img97.imageshack.us/img97/3460/processesm.jpg I've following questions: Is the concept of Virtual Memory limited to user processes?…
claws
  • 52,236
  • 58
  • 146
  • 195
33
votes
8 answers

Save a process' memory for later use?

Is it possible to pause a process, save the memory contents to a file, and then later reload the file so you can continue the program? Edit I've been reading about this: http://en.wikipedia.org/wiki/Setcontext Is it possible to dump the contents of…
Unknown
  • 45,913
  • 27
  • 138
  • 182
33
votes
4 answers

How to copy a directory and its contents to an existing location using Python?

I'm trying to copy a directory and all its contents to a path that already exists. The problem is, between the os module and the shutil module, there doesn't seem to be a way to do this. the shutil.copytree() function expects that the destination…
Soviut
  • 88,194
  • 49
  • 192
  • 260
33
votes
1 answer

What is a database connection, technically?

When we say we have a "database connection" or a "connection pool that has several connections open", on the technical level, what are we meaning actually? My understanding is: A database connection is a link to a thread running in the…
Koray Tugay
  • 22,894
  • 45
  • 188
  • 319
33
votes
8 answers

Operating System compile time

This is just a general question - I was sitting and waiting for a bit of software to compile (we use Incredibuild here but can still take 10/15 mins) and it got me wondering, does anyone know how long it took to compile Windows XP or Vista? I did…
Konrad
  • 39,751
  • 32
  • 78
  • 114
33
votes
9 answers

What's the relationship between assembly language and machine language?

Are assembly language and machine language (for the same underlying system) really the same? Are there any differences between these two concepts?
32
votes
18 answers

How do you keep the machine awake?

I have a piece of server-ish software written in Java to run on Windows and OS X. (It is not running on a server, but just a normal user's PC - something like a torrent client.) I would like the software to signal to the OS to keep the machine awake…
Frank Krueger
  • 69,552
  • 46
  • 163
  • 208
32
votes
1 answer

Do you need License for OS (Windows) inside Docker

I am looking at creating a Docker (set) for applications that run on Windows. So, I need the Docker to have Windows OS. What license do I need for it? Or if I run the Docker on a Windows VM, does it make use of the same license from the Host?
Kangkan
  • 15,267
  • 10
  • 70
  • 113
32
votes
8 answers

Windows CE vs Embedded Linux

Now I'm sure we're all well aware of the relative merits of Linux vs Windows Desktop. However I've heard much less about the world of embedded development. I'm mainly interested in solutions for industry and am therefore uninterested about the…
Quibblesome
  • 25,225
  • 10
  • 61
  • 100
32
votes
4 answers

Internals of a Linux system call

What happens (in detail) when a thread makes a system call by raising interrupt 80? What work does Linux do to the thread's stack and other state? What changes are done to the processor to put it into kernel mode? After running the interrupt…
abc
  • 1,352
  • 1
  • 9
  • 13
32
votes
3 answers

Differences or similarities between Segmented paging and Paged segmentation?

I was studying combined paging/segmentation systems and in my book there were two approaches to this : 1.paged segmentation 2.segmented paging I could not make out the difference between the two. I think in paged segmentation the segment is divided…
32
votes
20 answers

Get Windows version in a batch file

I need to get the OS version with a batch file. I 've seen a lot of examples online, many uses something like this code: @echo off ver | find "XP" > nul if %ERRORLEVEL% == 0 goto ver_xp if not exist %SystemRoot%\system32\systeminfo.exe goto…
Yerko Antonio
  • 657
  • 3
  • 8
  • 16
32
votes
6 answers

Does a LibC os exist?

I remember hearing about an embeddable OS that is essentially just libc (maybe it had support for c++). It didn't have a kernel, pipes or any of the other stuff you expect from an os. I tried looking for it in wikipedia but I didn't see it…
user34537