<PREV>
<INDEX> <NEXT>
Time
Dimension, Processes, Data Flow
Action: Create data, Destroy
Data, Modify data ---> Processes
Process Data Representation
Executables: run as: /PATH/filename
- scripts (interpreted
executables)
- magic
number/shebang: #! interpreter
- permissions:
executable
- interpreter:
/bin/bash, /usr/bin/perl
- file name
extension: .pl .sh
- binaries (compiled
executables)
- binary formats:
a.out, elf
- fed to the
processor by the kernel
Application files (text or binary):
- run as:
/PATH/interpreter filename
- magic number: Postscript: %!, Image
formats: specific binary sequence,
file
name extension: .ps .doc .gif .xls
- interpreters:
gv(Postscript), xv(pictures), emacs(text), pico(text),
soffice(MSOffice files)
Programs (text):
- languages: Fortran, C
- compile: cc -o name
name.c -lm ---> objects (*.o) ---> binaries
- libraries (static: .a,
dynamic: .so), includes
- debuggers, tools
(macroprocessor, make, configure)
Layered Model of Process Data Representation
Program |
Script |
Application File |
Human readable
|
Object/Libraries
|
Application readable
|
Binary Executable
|
Kernel/OS readable
|
Assembly/Machine
code
|
Processor readable
|

RegExp cheatsheet
Process Communication
Channels
|
Flow
|
stdin
|
redirection: <, >,
>>, >&
pipes: |
|
stdout (1)
stderr (2)
|
files
|

Process Management
Needed to start a process:
- Executable: binary,
script
- Libraries: dynamic,
static(?)
- Configuration:
files(system-wide, user level), environment variables
- Command line option: see
the man page
- Documentation:
- man page
- info
- graphical interface
based help
- package info, listing:
rpm -q(ifl), dpkg-query -(lLSp)
- extensive
documentation: /usr/share/doc, /usr/doc, /usr/local/doc
Processes (process ID):
- The kernel
- Administrative
- resource management
- logging
- Server Daemons
- User processes
- root/administrative accounts
- real user accounts
Multi:
- Multiuser
- Multiprocessor
- Multitasking
- Multithreads
Fork:
- no file locks or signals
inherited
- if children perform part
of the same task using shared memory: threads

Get info:
- kernel: uname -a
- run details: ps aux, top
- run list: jobs
- version: the version flag
Take action:
- run mode: fg, bg
- priority: nice, renice
- send signals: kill
uname,
ps aux

top

<PREV> <INDEX> <NEXT>