OS terms

From Juneday education
Jump to: navigation, search

About

Here, we'll collect terms about operating systems.

Kernel

The kernel is a computer program that is the core of a computer's operating system, with complete control over everything in the system. - Kernel_(operating_system) (wikipedia link).

Process

In computing, a process is an instance of a computer program that is being executed. Process (wikipedia)

Signal

Have you ever pressed Ctrl-c? Ever wondered how your program stopped? When you press Ctrl-c, in a normally configured terminal, your shell sends a so called signal (more specifically SIGTERM) to your program which causes your program to terminate. So you most likely already have used signals so need to be afraid of them. In short signals a re a simple means to communicate between processes (so called IPC - Inter Process Communication).

If you want to see how your terminal is configured, type: stty -a:

$ stty -a 
speed 38400 baud; rows 66; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

The important thing, when it comes to signals, to note here is: intr = ^C. You've probably already have figured out that ctrl-c is configured to send intr (SIGINT).

Videos: Signals (Full playlist) | Signals 1/1 | Signals - live | Signals (PDF)

Programming language specific pages:

Thread

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.[1] The implementation of threads and processes differs between operating systems, but in most cases a thread is a component of a process. Multiple threads can exist within one process, executing concurrently and sharing resources such as memory, while different processes do not share these resources. In particular, the threads of a process share its executable code and the values of its variables at any given time. Thread