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

When should I use os.name vs. sys.platform vs. platform.system()?

There are at least three ways to detect OS/platform in Python. What is the ideal application for each method? When should one method be used over another? EDIT: My specific use case is install-time and and run-time checking of dependencies. I don't…
Jace Browning
  • 11,699
  • 10
  • 66
  • 90
5
votes
4 answers

Get OS name with C [Linux, portable for distros: Centos, Debian, Fedora, OpenSUSE, RedHat, Ubuntu]

I know I can check my OS name with this simple command: lsb_release -ds. But I also know, that its not portable on all platforms where I need it. I tried struct utsname info; and uname(&info) and it works great but gives me only "base" name -…
Brian Brown
  • 3,873
  • 16
  • 48
  • 79
5
votes
1 answer

Keyboard interrupts and os.system vs subprocess.call

I'm writing a small CLI in python (with help of cmd module). Currently I'm trying to replace all os.system occurrences with subprocess.call. The problem I'm facing is that if I run an external script with os.system, after I hit CTRL-C only a…
facha
  • 11,862
  • 14
  • 59
  • 82
5
votes
1 answer

What the heck is Apple_Ubiquity_Message?

OSX 10.8.4 > printenv ... Apple_Ubiquity_Message=/tmp/launch-YzDhDA/Apple_Ubiquity_Message ... > ls -al /tmp/launch-YzDhDA/Apple_Ubiquity_Message srw-rw-rw- 1 user wheel 0 Jul 25 10:01 /tmp/launch-YzDhDA/Apple_Ubiquity_Message StackOverflow…
5
votes
1 answer

DTS file explanation - aliases

I am trying to understand the following snippet from a DTS file. /dts-v1/; / { model = "MPC8313ERDB"; compatible = "MPC8313ERDB", "MPC831xRDB", "MPC83xxRDB"; #address-cells = <1>; #size-cells = <1>; aliases { ethernet0…
5
votes
2 answers

How to setup headless firefox browser Ubuntu Server

I am trying to setup a headless firefox browser for my Ubuntu Server. I followed instructions on other posts but nothing seems to be working. I get this error when trying to startup firefox. ~(branch:master*) » firefox …
Jacob Waller
  • 4,119
  • 3
  • 26
  • 32
5
votes
2 answers

How are GUI's really made?

My question is Gui libraries like Qt and lets say for Windows operating systems how do they create all those graphical user interfaces(windows etc). Does each operating system gives API's or something else to do so?If yes, then how operating…
Lan Pac
  • 365
  • 4
  • 14
5
votes
3 answers

Virtual Memory and Relocatable Code

In a 32 bit system, each process virtually has 2^32 bytes of CONTIGUOUS address space. So why the final executable code generated by a linker needs to be relocatable. What is the requirement since all addresses generated would be virtual addresses…
user1863877
  • 71
  • 1
  • 5
5
votes
1 answer

Details of Syscall.RawSyscall() & Syscall.Syscall() in Go?

I'm reading source code in package syscall now, and met some problems: Since I'm totally a noob of syscall and assembly, so don't hesitate to share anything you know about it :) First about func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr,…
Shane Hou
  • 4,808
  • 9
  • 35
  • 50
5
votes
2 answers

Is there any write buffer in bash programming?

Is there any write-to-file buffer in bash programming? And if there is any, is it possible to change its size. Here is the problem I have a bash script which reads a file line by line then manipulates the read data and then write the result in to…
mahmood
  • 23,197
  • 49
  • 147
  • 242
5
votes
1 answer

Recommendation for a simple x86 emulator and operating system

As a personal learning project, I want to port an existing x86 emulator library to JavaScript and then run a very simple operating system on top of it. My only requirement for the library is that it should be written in C\C++, as I want to use…
Colin Dumitru
  • 3,327
  • 6
  • 30
  • 47
5
votes
2 answers

What exactly is a kernel thread and how does it work with processes?

From my understanding, a user thread is created by the user from library and managed in user space. A process can contain one or more user threads and the kernel is not aware of them. So what is a kernel thread? Are they similar to processes or are…
Instinct
  • 2,201
  • 1
  • 31
  • 45
5
votes
1 answer

How "Hello World" gets printed? - a complete life cycle

I took compiler, operating system, computer architecture course in graduate school. But I want to see those concepts in a simple but real example (not too theoretical). HelloWorld is a good choice for simple example. Not only the life cycle of…
Ryan
  • 2,825
  • 9
  • 36
  • 58
5
votes
1 answer

Linux System Call Flow Sequence

I had a question regarding the deep working of Linux. Lets say a multi-threaded process is being executed in the CPU. We will have a thread which is being executed on the CPU in such a case. At a more broader picture we will have the corresponding…
Vinay Pai
  • 443
  • 1
  • 5
  • 13
5
votes
1 answer

Application running in Windows Vista context by default

I am testing my desktop application on a Windows 8 machine and I noticed there is a new column in the Task Manager details view called "Operating system context". This shows my application running under the "Windows Vista" context. I haven't…
Zaid Amir
  • 4,727
  • 6
  • 52
  • 101