General questions about (UNIX) OS architecture

learn more… | top users | synonyms

39
votes
4answers
3k views

Why do we need to fork to create new processes?

In Unix whenever we want to create a new process, we fork the current process, creating a new child process which is exactly the same as the parent process; then we do an exec system call to replace ...
29
votes
6answers
7k views

How does a unix or linux system work? [closed]

I would like to know how the OS works in a nutshell: The basic components it's built upon How those components work together What makes unix UNIX What makes it so different from other OSs like ...
27
votes
2answers
8k views

Why doesn't cp have a progress bar like wget?

Please note that I don't ask how. I already know options like pv and rsync -P. I want to ask why doesn't cp implement a progress bar, at least as a flag ?
21
votes
1answer
1k views

How do keyboard input and text output work?

Suppose I press the A key in a text editor and this inserts the character a in the document and displays it on the screen. I know the editor application isn't directly communicating with the hardware ...
17
votes
9answers
7k views

Object-oriented shell for *nix

Preface: I love bash and have no intention of starting any sort of argument or holy-war, and hopefully this is not an extremely naive question. This question is somewhat related to this post on ...
15
votes
4answers
3k views

How to understand pipes

When I just used pipe in bash, I didn't think more about this. But when I read some C code example using system call pipe() together with fork(), I wonder how to understand pipes, including both ...
14
votes
2answers
2k views

How are system commands like ls created?

I'm a *nux newbie and I have some doubts regarding *nix. I don't know which type of executable file is ls, whether it is .sh or .ksh or any other kind of system executable if it is, what is that? ...
12
votes
2answers
2k views

How does a Linux terminal work?

If you fire up a terminal and call an executable (assuming one thats line oriented for simplicity) you get a reply to the command from the executable. How does this get printed to you (the user) does ...
11
votes
3answers
544 views

First FreeBSD install. Is there anything I should know about differences between Linux and BSD?

I want to install FreeBSD today on a spare HDD I have lying around. I'd like to give it a trial run, learn a few things, and if it suits me I'll replace my current Ubuntu 10.10 'server/NAS/encoding ...
10
votes
1answer
9k views

What are software and hardware interrupts, and how are they processed?

I am not sure if I understand the concept of hardware and software interrupts. If I understand correctly, the purpose of a hardware interrupt is to get some attention of the CPU, part of implementing ...
9
votes
2answers
752 views

Memory management principle used by Linux

Is memory management in the Linux Kernel done using paging or segmentation or both?
9
votes
2answers
3k views

Interruption of system calls when a signal is caught

From reading the man pages on the read() and write() calls it appears that these calls get interrupted by signals regardless of whether they have to block or not. In particular, assume a process ...
8
votes
4answers
3k views

How are directories implemented in Unix filesystems?

My question is how directories are implemented? I can believe a data structure like a variable e.g. table, array or similar. Since UNIX is Open Source I can look in the source what the program does ...
8
votes
3answers
3k views

What is the relationship between system calls, message passing, and interrupts?

I am reading the Wikipedia article for process management. My focus is on Linux. I cannot figure out the relation and differences between system call, message passing and interrupt, in their concepts ...
8
votes
2answers
547 views

How signals work internally?

In general, to kill processes we generate signals like SIGKILL,SIGTSTP etc. But how is it known who ordered that particular signal, who has sent it to a particular process, and in general how do ...
7
votes
3answers
4k views

Which Scheduling algorithm is used in Linux?

Recently in an interview I was asked about the Scheduling algorithm used by Linux Operating system. What is the algorithm used any why? Also, what algorithm is used in in real-time operating systems ...
6
votes
3answers
366 views

A layman's explanation for “Everything is a file” — what differs from Windows?

I know that "Everything is a file" means that even devices have their filename and path in Unix and Unix-like systems, and that this allows for common tools to be used on a variety of resources ...
6
votes
3answers
451 views

What are the minimum root filesystem applications that are required to fully boot linux?

It's a question about user space applications, but hear me out! 3 'applications', so to speak, are required to boot a funcitonal distro of Linux: Bootloader - For embedded typically that's U-Boot, ...
5
votes
4answers
4k views

Difference between system calls and library functions

I have been through the answer of this question but do not quite understand the difference between system calls and library functions. Conceptually, what is the difference between the two?
5
votes
2answers
681 views

What's the difference between /etc/rc.d/rc*.d and /etc/rc*.d

I know that rc*.d directories are used at startup, or reboot, or so on time, for starting or stopping programs. Can anybody explain me what's the difference between the rc*.d folders placed under the ...
5
votes
1answer
56 views

What are the equivalent architecture of alphanumeric numbers in Debian?

On the Debian website, I found a list of the releases of Debian associate with alphanumerical architectures. Do you know to what those architectures numbers and letters stand for?   
4
votes
9answers
675 views

Metaphor for the concept of shell?

I'm finding myself helping out some classmates in my computer science class, because I have prior development experience, and I'm having a hard time explaining certain things like the shell. What's a ...
4
votes
2answers
108 views

When I move a file to a different directory on the same partition, does the file's data actually move on disk?

I could see it going both ways. If the filesystem stores it's directory structure and list of files in each directory, and then points to the disk location of each of the files, it shouldn't require ...
4
votes
1answer
156 views

What is the default or most commonly used multiprocessing model in Linux? Symmetric or Asymmetric?

What the multiprocessing model for Linux? Is there a default or most commonly used model? Is it similar or very different from say BSD or even the MS Windows kernel? If SMP is used normally, can ...
4
votes
1answer
2k views

How can I build a rpm for i386 target on a x86-64 machine?

I am building an rpm using rpmbuild command as: rpmbuild -bb --root <DIRECTORY> --target i386 --define "_topdir <DIRECTORY>" <specfile>.spec When I use my SLED 10 SP3 x86 machine, ...
3
votes
4answers
886 views

What are the books about creating own *nix OS? [closed]

I want to create my own Unix OS. Is there any book that I can learn from, from start?
3
votes
2answers
951 views

Can there be multiple kernels executing at the same time?

I know that Linux OS's are typically multi-programmed, which means that multiple processes can be active at the same time. Can there be multiple kernels executing at the same time?
3
votes
2answers
191 views

How to check Linux kernel?

I want to install a package and it has different versions for different OS. The description in the package site is like this X86-64 Linux 3.0 Kernel I looked it up and found people saying to use ...
3
votes
6answers
685 views

When does a shell get executed during the linux startup process

I do not understand when does a shell, lets say bash, get executed, which program runs bash initially first.
3
votes
2answers
387 views

Process in user mode switch to kernel mode. Then the process will have root privileges?

According to http://www.linfo.org/kernel_mode.html in paragraph 7: When a user process runs a portion of the kernel code via a system call, the process temporarily becomes a kernel process and is ...
3
votes
3answers
96 views

Why are file handles a scarce resource?

I feel like every tutorial I read on resource management in server settings starts by asserting that file handles are a scarce resource, and we should therefore aim to keep the list of open files to a ...
3
votes
1answer
347 views

How to know which commands are executed when I do something in GUI

This is for academic purpose. I want to know which commands are executed when we do something in GUI, for example creating a folder. I want to show that both the mkdir shell command and create folder ...
3
votes
3answers
2k views

Which arch linux should I download?

I'm going to install Arch linux yet I have to choose between several architectures my computer has. I have an aluminium macbook pro, with a 2.3 GHz Intel Core i5 processor. . The intel webpage tells ...
3
votes
3answers
696 views

Rings and run levels

The question stated below might not be technically correct(misconception) so it would be appreciable if misconception is also addressed. Which ring level do the different *nix run levels operate in? ...
3
votes
2answers
357 views

Linux package manager architecture

I am looking for a guide on one of Linux Package manager architectures. For example apt-get (dpkg), or yum (rpm). I want to know how they manage the package list, file list, package versions and so ...
2
votes
2answers
220 views

Are system calls the only way to interact with the Linux kernel from user land?

Are there any other interfaces, e.g. the /proc filesystem?
2
votes
4answers
665 views

How do file permissions/attributes work? Kernel-level, FS-level or both?

A question that occurred to me earlier: are file permissions/attributes OS- (and therefore kernel-) dependent or are they filesystem-dependent? It seems to me that the second alternative is the more ...
2
votes
3answers
280 views

Where is the source code for copy-paste?

I've been working with copy paste functionality on a Linux system. I downloaded the kernel source for the first time. Where can I find the code related to copy paste functionality? My guess is that ...
2
votes
3answers
725 views

How I can emulate a big endian platform on a x86?

I need to get a big endian platform to develop with gcc and g++, what is a solution for that? I know that the SPARC is one of those big endian architectures, but I have no idea what OSs can run on it ...
2
votes
2answers
540 views

Resources to learn linux architecture in detail? [closed]

I want to learn the Linux file hierarchy and how the OS works at a deeper level. Are there any ebooks or webpages to learn that?
2
votes
2answers
101 views

Why do we need two file descriptors when creating an unnamed pipe?

I've been reading about unnamed pipes and as I understood them they're implemented as a buffer in memory. When creating the pipe I need to pass an array of size two and it returns two pointers (file ...
2
votes
3answers
3k views

How does the set-user-ID mechanism work in Unix?

Can someone please explain the set-user-ID mechanism in Unix ? What was the rationale behind this design decision? How is it different from effective user id mechanism ?
2
votes
1answer
63 views

Are application layer protocols part of library routines?

Where do application layer protocols reside? Are they part of library routines of language e.g. C, C++, Java? As goldilocks says in his answer, this is about the implementation of application layer ...
2
votes
1answer
285 views

Interpret the output of lstopo

I have a output from lstopo --output-format txt -v --no-io > lstopo.txt for a 8-core node in a cluster, which is https://dl.dropboxusercontent.com/u/13029929/lstopo.txt The file is a text drawing ...
2
votes
2answers
798 views

Removing zombie process from the process table

Can somebody please explain when parent process receives the exit status of a dead child process via wait, who actually reallocates the memory of the child process and removes it from the process ...
2
votes
1answer
530 views

Concept of memory mapping in Unix like systems

Can some one explain in an easy to understand way the concept of memory mappings (achieved by mmap() system call) in Unix like systems ? When do we require this functionality ?
2
votes
1answer
66 views

Minimizing hardware interrupts

I am using a modified Linux kernel as a soft real-time OS, on a system that has an architecture like this: CPU1 and CPU2 have 8 cores each. I have 4 processes that need to be run with minimum ...
2
votes
1answer
1k views

child process does not inherit the pending signals from the parent after a fork system call, why?

Could anybody please tell me the reason to why pending signals are not inherited by the child process? On the other hand, the child process inherits the signal handlers and signal mask from the ...
2
votes
1answer
47 views

Structure of graphical modules in Linux Lubuntu

I am trying to understand the layers of the Linux GUI system. I am running a netbook with Lubuntu, and I was told it's running LXDE as desktop environment. However, there are processes with 'gnome'. ...
2
votes
2answers
1k views

How to determine bitness of hardware and OS?

Output of uname -a on my RHEL 5.4 machine is: Linux <machine name> 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux Does it mean that hardware is 64 bit ...