Operating system concepts in an app by Linux System calls

Click For Summary

Discussion Overview

The discussion revolves around the implementation of operating system concepts such as multi-threading, concurrency, parallelism, scheduling, memory management, process management, network management, and device drivers using Linux system calls and the kernel. Participants explore the relationship between these concepts and their practical application in programming.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • One participant seeks confirmation on whether operating system concepts can be implemented using Linux system calls and the kernel.
  • Another participant asserts that multi-threading, concurrency, parallelism, scheduling, and memory management are functions of the kernel, and system calls are necessary to utilize these features.
  • There is a suggestion that network management may involve higher-level programs rather than direct kernel interaction.
  • A participant questions the clarity of the original inquiry, asking whether the intent is to write a new kernel or to use the existing one, and advises focusing on learning the concepts rather than implementation specifics.
  • A minor point is raised regarding a limitation in Linux compared to Windows concerning the handling of multiple objects in synchronization contexts.

Areas of Agreement / Disagreement

Participants express varying degrees of agreement on the role of the kernel and system calls in implementing operating system concepts. However, there is no consensus on the original question's clarity or intent, leading to multiple interpretations and perspectives.

Contextual Notes

The discussion highlights potential ambiguities in the original question regarding the implementation of operating system concepts and the distinction between using existing kernels versus creating new ones. There are also references to specific functionalities and limitations of Linux that may not be universally applicable.

pairofstrings
Messages
411
Reaction score
7
Before I begin learning what System Calls, Kernel, and Operating System is, I want to confirm that Operating System concepts like Multi-threading, Concurrency, Parallelism, Scheduling, Memory Management, Process Management, Network Management, Device Drivers can be implemented by using Linux Kernel or System Calls in a program.

So, programs with system calls can implement operating system concepts that are mentioned above?

If System Calls or Kernel is not responsible to bring Operating System concepts into a program then who is responsible for it?
 
Technology news on Phys.org
Multi-threading, Concurrency, Parallelism, Scheduling, Memory Management is all done by the kernel and you would surely use system calls to use these.

The kernel is also used to send and receive packets over the network. With "Network management" you probably mean something more high level, for which you would use another program.

Device drivers are usually a part of the kernel, or at least a part of the driver is. An user program does not directly use device drivers most of the time, but talks to another program. If you want to do X Window graphics, you open a network connection to another process. (can be on the same machine), which will do all screen i/o. If you want to use a scanner you might use another program that uses a USB or SCSI driver. If you use an USB stick, you issue filesystem commands to the kernel, which uses the device driver.
 
pairofstrings said:
Before I begin learning what System Calls, Kernel, and Operating System is, I want to confirm that Operating System concepts like Multi-threading, Concurrency, Parallelism, Scheduling, Memory Management, Process Management, Network Management, Device Drivers can be implemented by using Linux Kernel or System Calls in a program.

That question is a bit muddled. Most of those things are what the kernel does. Do you want to write your own kernel, or to use the existing kernel? Are you trying to write a Linux simulator to run on Linux?

My advice, just learn the concepts they are trying to teach you without concern about which level implements them.
 
A nitpick bit of trivia about Linux / Posix. A minor drawback of Linux is the lack of the equivalent of Windows WaitForMultipleObjects(), especially if one of the objects is a mutex (versus an event). High end server applications or programming languages like Microsoft Azure install device drivers into Linux, probably since device drivers can use spinlock as replacements for mutex.
 

Similar threads

Replies
6
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
2
Views
3K
Replies
29
Views
6K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 43 ·
2
Replies
43
Views
6K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K