General questions about (UNIX) OS architecture

learn more… | top users | synonyms

25
votes
12answers
9k 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 ...
2
votes
2answers
37 views

Usability of /usr/share today

How is separating architecture depended static data from architecture independent static data useful today? I imagine it could theoretically be useful in multi-architecture networks with a ...
28
votes
1answer
3k 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 ...
4
votes
2answers
405 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 ...
7
votes
3answers
492 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 ...
3
votes
1answer
43 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 ...
14
votes
2answers
3k 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 ...
1
vote
2answers
69 views

Meaning of hardware platform in uname command ouput

man uname -m, --machine print the machine hardware name -i, --hardware-platform print the hardware platform or "unknown" What exactly is meant by hardware platform here and ...
3
votes
2answers
245 views

How to check Linux kernel?

I want to install a package, and it has different versions for different OSes. 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 ...
1
vote
1answer
77 views

When to use arch vs. noarch when building RPMs?

Preface By building RPMs I do not mean compiling from source code. I purely mean taking a tar or a 'zip' file with source code or binaries and repackaging it as a RPM. I've been building RPMs from ...
33
votes
3answers
9k 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 ?
1
vote
2answers
143 views

Are “kernel mode” and “user mode” hardware features or software features?

I read that there are two modes called “kernel mode” and “user mode” to handle execution of processes. (Understanding the Linux Kernel, 3rd Edition.) Is that a hardware switch (kernel/user) that is ...
1
vote
1answer
453 views

CUPS not working correctly after Debian Wheezy -> Jessie upgrade because of a faulty libpam

I just upgraded a Debian Wheezy to Jessie, by changing the /etc/apt/sources.lst. If important: I pinned systemd to stay with sysvinit, and after the upgrade I removed the pin. If I now do apt-get ...
1
vote
1answer
144 views

Relation between system calls and shell commands/utilities

In POSIX, Does a system call function often but not always have a command or utility in shell? Is there some rule of thumb about what kinds of system calls have corresponding commands or utilities ...
2
votes
1answer
50 views

Why can X11 access the video card?

This one is maybe a bit theoretical, but... How the heck can X11 touch the video hardware? As I understand it, X11 is an unprivileged user-mode program. But only kernel-mode software can access the ...
2
votes
3answers
2k 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 ...
1
vote
2answers
29 views

Running application compiled on another distribution

I wonder whether I can compile application on one Linux distribution and use it on another Linux distribution (same CPU architecture). If not what problems I can run into? Only problems which came to ...
12
votes
1answer
753 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?
1
vote
2answers
174 views

What are the very fundamental differences in architecture between Unix and Linux? [duplicate]

I watched a short intro to Unix from the 70s (https://www.youtube.com/watch?v=7FjX7r5icV8 3D animation starts at 1:56), at the end the general tripartite architecture of Unix was displayed as a 3D ...
5
votes
9answers
818 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 ...
2
votes
1answer
339 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 ...
3
votes
2answers
337 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 ...
3
votes
1answer
106 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
0answers
106 views

How to determine the wordsize in Linux kernel programming? [closed]

In userspace code, the macro __WORDSIZE is used, included in <bits/wordsize.h>. However, when I do Linux kernel programming, the __WORDSIZE seems not available. If <bits/wordsize.h> is ...
6
votes
4answers
8k 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?
1
vote
1answer
141 views

Compiling from source: What are the options for config script “build”?

When I am running a line like: ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu {*shortened*} \ --with-imap-ssl=/usr/include/openssl/ --enable-ftp --enable-mbstring ...
11
votes
2answers
1k 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 ...
0
votes
1answer
41 views

Linux packages - Separate Python's external libraries from the system

I read this articles (check What About Python CLI Tools?). Well, this is obivous, separate external Python packages from your System Python's site-packages. When doing a sudo apt-get install package ...
1
vote
1answer
98 views

Daemons fall into what category?

Above system call, there are library routines, utilities and applications. Do daemons fall into any of these categories or they have their own category?
1
vote
2answers
109 views

What is the relationship between command line code and higher level language code?

I'm learning to use the terminal on my Ubuntu 14.04 and I'm running command line code in my shell (which I'm told is what is inside the terminal) to install programs. But I can also start my node.js ...
17
votes
1answer
18k 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 ...
8
votes
3answers
858 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
6answers
10k 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 ...
0
votes
2answers
188 views

How to catch keystrokes in Linux environment

I need a C code to be executed when some particular keys are pressed in Linux "Desktop" environment. What are the ways to register for such an event and How? Should I write ISR for that? I need an ...
3
votes
3answers
374 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 ...
51
votes
4answers
7k 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 ...
7
votes
3answers
1k 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, ...
2
votes
1answer
50 views

How are files opened in unix?

What's the internal process of opening a file? To open a file, the system converts the pathname to inode and from the inode search the corresponding driver disk portion to look for the content of the ...
2
votes
1answer
109 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
2answers
395 views
3
votes
6answers
1k 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
846 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 ...
2
votes
1answer
94 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 ...
16
votes
2answers
3k 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? ...
4
votes
3answers
131 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 ...
4
votes
1answer
220 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 ...
5
votes
1answer
91 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?   
3
votes
1answer
662 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 ...
1
vote
2answers
308 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
914 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 ...