Download Operating Systems (OS)

yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Library (computing) wikipedia , lookup

Copland (operating system) wikipedia , lookup

Mobile operating system wikipedia , lookup

Commodore DOS wikipedia , lookup

MTS system architecture wikipedia , lookup

Security-focused operating system wikipedia , lookup

Distributed operating system wikipedia , lookup

Windows NT startup process wikipedia , lookup

Batch file wikipedia , lookup

OS 2200 wikipedia , lookup

RSTS/E wikipedia , lookup

Spring (operating system) wikipedia , lookup

DNIX wikipedia , lookup

File locking wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

CP/M wikipedia , lookup

Burroughs MCP wikipedia , lookup

Process management (computing) wikipedia , lookup

VS/9 wikipedia , lookup

Unix security wikipedia , lookup

An Introduction
Wan Ahmad Tajuddin Wan Abdullah
Universiti Malaya
Operating Systems (OS)
System software that abstracts the
interface to various resources provided
by low-level system hardware and
software; and that manages these
distinct resources can be shared effectively
 the programmer can use system resources easily
[user provided with a virtual machine]
* user interface
* process management and scheduling
* job and session management
* device management
* timing management
* memory management
* file management
* error handling
* reliability
* security
* monitoring
* accounting
* system management
OS: Processes
independent task units which are executed
e.g. a batch job, the shell of a login session, a program run
The execution of processes is controlled by the kernel and is
interlaced – this part of the kernel is known as the
despatcher or low-level scheduler
when a process ends, or
uses up its scheduled time, or
cannot be continued because an interrupt occurred or
the process is waiting for something or
the error trap suspends the execution of the process
while an error is handled
the despatcher executes the next process in the process queue
according to priority
OS: Kernel
most basic layer of operating system, which
communicates with hardware
provides environment where processes can exist:
handling of interrupts
 changing processor usage from process to process
 implements mechanisms for communication and
coordination between processes (semaphores, shared
memory, message passing, input/output redirection,
pipes,…), including deadlock avoidance and recovery
Thread – flow of control between processes; a process can spawn daughter
processes and so on
shares process resources
OS: File structure
Files are contained in directory and subdirectory (which is
also a kind of file) structure which is tree-like.
Uppermost directory – main file directory or root directory (‘/’ or ‘\’).
Open Systems
implement open specifications adequately for interfaces, services, and support
formats which allow application software built appropriately to be ported onto
various types of systems with minimal change, to interoperate with other
applications on local and remote systems, and to interact with users in a style
which facilitates user mobility
portability, interoperability, non-dependency, flexibility, integrability
Open specification
a public specification maintained by an open public consensus process, to
include current new technology and which is consistent with standards.
increased consultation with respect to system and application provider due to
advantage from clear description of system needs
Example of open operating system: UNIX System V
Example of open specifications: POSIX (Portable Operating System Interface)
UNIX-like OS initially for PCs
Open source – free, standards, community, modifiable
Monolithic kernel – single standard system calls
Distribution suites (Red Hat, Ubuntu, Scientific Linux, …)
- together with other open source (esp GNU) applications
CLI: shells (c-shell, Bourne again, ...)
GUI: based on X-Windows
Desktop environments (KDE, Gnome, ...)
Legacy of UNIX
• programmers environment
• simple user interface
• many, simple utilities that can be combined to perform powerful functions
• hierarchical file system
• simple interface to devices consistent with file format, supports I/O redirection
and piping
• multi-user, multi-process system
• architecture independent and transparent to the user.
•Written in C – close to C, portable
LINUX User Interface
Command Line Interface – shells (processes)
Line commands: command –flags arguments
Arguments can be e.g. filenames
stdin (standard input – keyboard), stdout
(standard output – monitor), device drivers (e.g.
/dev/lp) are treated like files
Graphics User Interface – based on X Windows
LINUX File system
Hierachical tree-like structure of (sub)directories and files
Root directory: /
Subdirectories usually e.g.:
Binary (executable) programs
Home directories of users
Miscellaneous system files
Special files for I/O devices
User files
Temporary files
Filenames have extensions after a dot, usually describing
type of file e.g. prog.c, files.tar, files.tar.gz
File can be link to other file or (sub)directory
File protection mode: defines priviledges for owner,
group (of users where owner is in), (the rest of the)
world, e.g.
rwxr-x--x : owner can read, write, execute;
group can read, execute;
world can execute only
(binary: 111101001)
Superuser (root) have all priviledges to all files
Protocol: TCP/IP
Hosts: domain name address (host.domain), IP
address (number:
 Remote terminal – telnet, ssh
 File transfer – ftp, scp
 Web – http
 Mail – smtp
 etc
Hands on
o Introduction
o GUI, tools and scripts
o [System: processes and threads]
o [Network programming]