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

Memory Address Alignment

I'm a bit confused about the concept of memory alignment. So here's my doubt: What text says is that say if you wanna read 4 bytes of data, starting from an address that is not divisible by 4, you have the case of an unaligned memory access.…
Vaibhav Gumashta
  • 894
  • 11
  • 21
5
votes
3 answers

How to get operating system in Java

I know there is such a question on SO, but I could not find it. So asking again... I need to set up properties to my program, but I need to make it OS indipendent - running both on Windows XP and Linux (unknown distro, unknown version) More…
Pavel Janicek
  • 14,128
  • 14
  • 53
  • 77
4
votes
4 answers

anything specific about the addresses (0x40000000, 0x80000000 and 0xBF000000)

i came across a sample gdbinit file, which was having following statements. can anyone plz let me know what is so specific about the addresses (0x40000000, 0x80000000 and 0xBF000000) ? why the following check again them is letting me know of valid…
mezda
  • 3,537
  • 6
  • 30
  • 37
4
votes
6 answers

Mobile development(Android & iOS) beginner needs guidance

So, I recently took a job where I need to develop a fairly simple notification app on both iOS and Android. I've never done mobile development, besides a hello world in Android and some very basic stuff in Objective-C. I've never really programmed…
robins35
  • 653
  • 12
  • 37
4
votes
3 answers

what determines the memory model?

Specifically this question is about flat and segmented model in real mode. I am reading a book on assembly which mentions that on DOS the COM files use flat memory model and EXE files use segmented memory model. However I am not understanding what…
vjain27
  • 3,514
  • 9
  • 41
  • 60
4
votes
1 answer

Why Linux kernel 3.0+ cancels super_operations.read_inode? Request for new references~

Before Linux kernel 2.6, super_operations (include/linux/fs.h) have both read_inode and write_inode functions. But newer kernel does not have read_inode any more, then when and how does the VFS read in inode information from specific file system…
basicthinker
  • 308
  • 3
  • 7
4
votes
1 answer

Where the system call function “sys_getpid” is located in the linux kernel?

I'm searching the "getpid" function in the kernel, however i could not find the actual function. It should be something like this: asmlinkage long sys_getpid(void) { return current-> tgetid; } All I can find is system call tables, not the actual…
Onur Senture
  • 519
  • 5
  • 16
4
votes
5 answers

What operations may (not) throw StackOverflowError?

When will a StackOverError be thrown? Or rather, when will it not be thrown? For example, if we use the primitive operators +, +=, -, -=, == <, >, /, %, etc: try { // operations +, +=, -, -=, == <, >, /, %, etc } catch…
Pacerier
  • 86,231
  • 106
  • 366
  • 634
4
votes
1 answer

Memory management using bit maps vs linked list

There are two ways of doing memory management: using bits, and using linked list. While using bits, we maintain a bit map of size equal to number of allocation units While using liked list, we maintain two linked lists: one for allocated memory,…
TimeToCodeTheRoad
  • 7,032
  • 16
  • 57
  • 70
4
votes
4 answers

How can I determine whether my OS is 32 or 64 bit?

I tried using , it returns i586 but I am on Windows 7 64 bit which I could see in My Computers Properties. So I am expecting x86_64 in output. Does any one know how to determine OS Architecture in PHP ? I want the same…
Jigar D
  • 83
  • 1
  • 2
  • 5
4
votes
3 answers

sysinfo system call not returning correct freeram value

I recently wrote the following C code using sysinfo systemcall to display system statistics, what amused me was that the freeram variable of sysinfo structure doesn't return the amount of free RAM instead it is returning the current RAM usage. I had…
k4rtik
  • 259
  • 1
  • 5
  • 18
4
votes
1 answer

Simultaneous SQL BULK INSERTs generate failures when using ErrorFile option

Windows Server 2008 R2 Enterprise, SQL Server 2008 X64, SP3, Developer edition I build and dynamically execute (via sp_executesql) a BULK INSERT command. The general form is: BULK INSERT #HeaderRowCheck from…
Philip Kelley
  • 39,426
  • 11
  • 57
  • 92
4
votes
2 answers

System call in process

Suppose a process is running and it invokes a system call . Does that means that process will now be blocked . Are all system calls block a process and changes its state from running to block ? Or it depends on the scenario at that time?
Utkarsh Srivastav
  • 3,105
  • 7
  • 34
  • 53
4
votes
3 answers

Adding Blue Screen of Death to Non-Windows OS

I am looking to get into operating system kernel development and figured and have been reading books on operating systems (Tannenbaum) as well as studying how BSD and Linux have tackled this challenge but still am stuck on several concepts. If I…
McGovernTheory
  • 6,556
  • 4
  • 41
  • 75
4
votes
1 answer

Which characters are safe to name files and directories with?

I understand that different operating systems use different characters for functions. Such as the following I know are not allowed in a windows filename: *<>[]=+”/ Is there a list of characters that ether can or be can't used as universally as…
George Reith
  • 13,132
  • 18
  • 79
  • 148