Questions tagged [architecture]

General questions about (UNIX) OS architecture

Filter by
Sorted by
Tagged with
96
votes
7answers
50k 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 ...
85
votes
2answers
22k 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 (...
59
votes
6answers
16k views

Will a Linux executable compiled on one “flavor” of Linux run on a different one?

Will the executable of a small, extremely simple program, such as the one shown below, that is compiled on one flavor of Linux run on a different flavor? Or would it need to be recompiled? Does ...
58
votes
3answers
18k 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 ?
53
votes
3answers
15k views

Why is rm allowed to delete a file under ownership of a different user?

From the post Why can rm remove read-only files? I understand that rm just needs write permission on directory to remove the file. But I find it hard to digest the behaviour where we can easily delete ...
51
votes
8answers
8k views

On Unix systems, why do we have to explicitly `open()` and `close()` files to be able to `read()` or `write()` them?

Why do open() and close() exist in the Unix filesystem design? Couldn't the OS just detect the first time read() or write() was called and do whatever open() would normally do?
45
votes
1answer
83k 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 ...
42
votes
15answers
23k 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 ...
37
votes
6answers
17k 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 ...
37
votes
2answers
9k 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 ...
32
votes
2answers
15k views

How does a Linux terminal work?

If you fire up a terminal and call an executable (assuming one that's line oriented for simplicity) you get a reply to the command from the executable. How does this get printed to you (the user)? ...
31
votes
3answers
18k 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 ...
31
votes
2answers
23k 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 ...
27
votes
2answers
4k views

Why there are `/lib` and `/lib64` but only `/bin`?

In my laptop: $ cat /etc/issue Ubuntu 18.04 LTS \n \l There are two different folders for libraries x86 and x86_64: ~$ ls -1 / bin lib lib64 sbin ... Why for binaries exists only one ...
26
votes
1answer
32k views

Easy command line method to determine specific ARM architecture string?

I'm trying to write a script which will determine actions based on the architecture of the machine. I already use uname -m to gather the architecture line, however I do not know how many ARM ...
21
votes
4answers
6k 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 ...
19
votes
2answers
5k views

How are system commands like ls created?

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? when I tried to see what ...
19
votes
4answers
16k 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 ...
17
votes
4answers
12k 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! Three "applications", so to speak, are required to boot a functional distribution of Linux: Bootloader - For embedded typically that's ...
14
votes
2answers
4k views

Are different Linux/Unix kernels interchangeable?

Can I take a Linux kernel and use it with, say, FreeBSD and vice versa (FreeBSD kernel in, say, a Debian)? Is there a universal answer? What are the limitations? What are the obstructions?
14
votes
3answers
9k 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 ...
13
votes
1answer
1k views

Why is architecture listed thrice in uname -a?

$ uname -a Linux 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Running ubuntu 12.04.1 LTS. Why does it have the architecture (x86_64) listed thrice?
12
votes
3answers
22k 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 ?
12
votes
3answers
781 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 ...
11
votes
2answers
22k views

dpkg: error: cannot remove architecture 'i386' currently in use by the database

I used this command to add i386 arch: sudo dpkg --add-architecture i386 And then immediately after without installing any packages I tried to remove the i386 arch like so: sudo dpkg --remove-...
11
votes
4answers
21k 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?
11
votes
5answers
14k 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 ...
10
votes
3answers
2k views

login and su internals

I am trying to understand how user permissions work in Linux. The kernel boots and starts init as root, right? Init then runs startup scripts and runs getty (agetty), again as root. Agetty just reads ...
9
votes
2answers
5k 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 ...
9
votes
2answers
1k views

Memory management principle used by Linux

Is memory management in the Linux Kernel done using paging or segmentation or both?
8
votes
4answers
7k 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 ...
8
votes
2answers
14k 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, ...
7
votes
2answers
3k 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 ...
7
votes
3answers
449 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 ...
7
votes
3answers
5k 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? ...
6
votes
2answers
3k 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 ...
6
votes
1answer
1k 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 ...
5
votes
9answers
2k 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 ...
5
votes
2answers
6k views

Why can the waitpid system call only be used with child processes?

The man page wait(2) states that the waitpid system call returns the ECHILD error if the specified process is not a child of the calling process. Why is this? Would waiting on a non-child process ...
5
votes
2answers
3k 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?
5
votes
2answers
4k 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
4k 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 ?
5
votes
1answer
324 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?   
5
votes
2answers
829 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 on....
4
votes
4answers
2k 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?
4
votes
3answers
1k 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 ...
4
votes
2answers
3k views

How does the Linux login work? [duplicate]

I am wondering how the login actually works. It certainly is not part of the kernel, because I can set the login to use ldap for example, or keep using /etc/passwd; but the kernel certainly is able to ...
4
votes
2answers
1k views

how is a keyboard shortcut given to the correct program?

in Ubuntu (or for that matter most other linux distros), I could use the shortcut ctrl+t to open a new tab (in firefox or similar), or I could use alt+tab to make unity switch highlighted window, or I ...
4
votes
2answers
2k views

What is a windowing system?

Can someone provide me with a very clear and practical example of a "windowing system"? I was reading on Linux, and although I've always known that it's a kernel, I didn't really know what a kernel is ...
4
votes
2answers
403 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 ...