Download Presentación de PowerPoint

Survey
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

Commodore DOS wikipedia , lookup

Distributed operating system wikipedia , lookup

Unix time wikipedia , lookup

Library (computing) wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

MTS system architecture wikipedia , lookup

Process management (computing) wikipedia , lookup

Unix wikipedia , lookup

RSTS/E wikipedia , lookup

OS 2200 wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

DNIX wikipedia , lookup

CP/M wikipedia , lookup

VS/9 wikipedia , lookup

Paging wikipedia , lookup

Burroughs MCP wikipedia , lookup

Spring (operating system) wikipedia , lookup

Unix security wikipedia , lookup

Transcript
Introduction
to the UNIX
environment
Enrique Blanco
Cover from the book Modern operating systems. A.
Tanenbaum. Prentice Hall
Enrique Blanco García © 2004
[email protected]
Computers and Operating Systems
First generation (mid40s-50s):
- Tubes, switches and light displays, no operating system,
human operators
Second generation (mid50s-60s):
- Transistors, batch processing, monitors, jobs, cards
Third generation (mid60s-80s):
- Chips (LSI,VLSI), time sharing systems, transactions, tapes,
drives
Our generation:
- Microprocessors, distributed systems, parallel processing,
internet, ...
We have moved away from the hardware forever !!!
Enrique Blanco García © 2004
[email protected]
UNIX roots
1969: UNIX (from MULTICS) by
Ken Thompson
Denis Ritchie
...
Enrique Blanco García © 2004
[email protected]
...more and more roots...
...
Enrique Blanco García © 2004
[email protected]
and more roots!
http://www.levenez.com/unix/
Enrique Blanco García © 2004
[email protected]
What is an Operating System?
The OS is the interface user-machine that provides
the management of different resources:
-
Programs and processes (processors)
Memory (and other data storage elements)
In/Out devices (mouse, keyboard, printer, ...)
Files and directories
Protection and safety
Accounting information
Network
The OS is a Virtual Machine that substitutes the real hardware
Enrique Blanco García © 2004
[email protected]
The OS is a Virtual Machine
The objective is to create the mirage of a machine with
unlimited resources:
- One available processor for running every user program
- Infinite amount of available physical memory
- The physical devices can be accessed uniformly
VIRTUAL Vs PHYSICAL RESOURCES
The OS is in charge of masking the complexity of every
hardware element, providing a consistent interface to
devices and services for users and programs
Independence = Isolation from the computer (High level)
Enrique Blanco García © 2004
[email protected]
Classical OS hierarchical structure (layers)
Users
UNIX commands and applications
System Calls
Kernel
Hardware
Enrique Blanco García © 2004
[email protected]
What is a process?
A process/task is a running environment that provides the
resources to execute a particular instance of a program:
Data
Memory Addressing Space
Stack
Code
.
.
.
Open Devices
The OS schedules the processes (distribute the processor running time among them)
Enrique Blanco García © 2004
[email protected]
Process and thread
Several parts of the program can be executed in parallel
in different virtual processors
Memory Addressing Space
Data
.
Thread1
Thread2
.
.
Open Devices
Thread3
Enrique Blanco García © 2004
[email protected]
Building a binary file...
-
Edition: source code in a High-level language (C, Java, ...)
- Variables and functions
[program.c]
-
Compilation: syntax and semantic correctness
- Table of symbols and list of unsolved references
[program.o]
-
Linking: translate the symbols into numbers (memory references)
- Generate the binary file adjusting the memory addresses
[program]
-
Load: transport the binary file to physical memory
- Create the process and assign resources (memory,...)
Interpreter: compilation, linking and loading line by line (no generation of additional files)
Enrique Blanco García © 2004
[email protected]
Process lifetime states
1
RUNNING
3
BLOCK
2
READY
4
1.
2.
3.
4.
Waiting for I/O
Another process is scheduled
This process is scheduled
Received I/O data
Enrique Blanco García © 2004
[email protected]
Shell (command interpreter)
1.
2.
3.
Waiting for user commands from terminal
Receive a user request (e.g a UNIX command)
Create a process (child) and assign resources to execute the
request
4A. Foreground (synchronous):
- Waiting for the end of the child to continue...
- Go to Step1
4B. Background (asynchronous):
- Go to Step1 (child works simultaneously)
Enrique Blanco García © 2004
[email protected]
UNIX devices and In/Out
-
Device driver:
interface between the physical device and other elements
Physical devices are slow in comparison to the processor
Sometimes, devices can be shared among many users
UNIX Device Independence:
-
Mask the physical complexity of devices and provide common
procedures to interact with them
- It must be possible to design programs that process files
from any source
- In UNIX, the physical devices are integrated as normal files
- I/O techniques: Spooling and Buffering
Enrique Blanco García © 2004
[email protected]
The UNIX file system
File: collection of bits with a name saved in a physical
storage device
File system: mecanism to access the file using its symbolic
name
Directory: data structure that groups a set of files
File operations: open, close, read, write, append, ...
UNIX file management is implemented using
indexed-nodes (i-nodes):
Device
Number of links
Owner
Size
Data creation, accession,
modification
Pointers to several data
blocks
Enrique Blanco García © 2004
[email protected]
Absolute and relative paths
/users/eblanco/program.c
/
eblanco/program.c
users
README
HELP
eblanco
list.txt
- The . and .. Directories
- Mounted file systems
paper.pdf
program.c
Enrique Blanco García © 2004
[email protected]
Hard links and Soft links
- Hard link:
- Several names in different paths for the same file
(same i-node)
- Any modification using one of the names will affect
the others
- Soft link:
- One file contains the reference to another one (path)
- Each file have its own i-node
Enrique Blanco García © 2004
[email protected]
File ownership and protection
- 3 operations [RWX]:
Read
Write
eXecute
Group
Others
- 3 domains:
User
r w - r - - r - 1
1
0
1
0
0
1
0
6
4
4
u
g
o
Enrique Blanco García © 2004
[email protected]
0