Title: File System
1The Amiga Operating System Past and Present
Aaron Hensley Kayla Zinn Brad Campbell Gregory
Mathurin Josh Benson
2What is Amiga?
- The Hardware
- Amiga 1000
- 32bit
- 7.16Mhz MC68000 processor
- 512K
- 4096 colors
- two stereo channels
3What is Amiga?
- The Operating System
- Kernel Exec
- Command Line Interface Amiga DOS
- Graphic User Interface Intuition
4Memory Management
- EXEC
- Based on simple list of nodes
- Prone to fragmentation
- EXECSG (Exec Second Generation)
- Object oriented
- No Memory Protection
5Scheduling in the Amiga
- Known for its efficiency as a multitasking
operating system - Uses preemptive, round-robin, prioritized
scheduling - Time quantum 80 ms
- Priority range -127 to 127, higher number ?
higher priority - Uses a set time quantum, but tasks with higher
priorities receive the processor more often than
those with lower - User has the ability to change the priority of
any running process at will. No need for
privileged mode.
6Deadlock Handling
- Most the time, deadlocks are IGNORED and must be
removed manually - A few efforts were made that use deadlock
avoidance and find-and-repair techniques - Some semaphores used
- In some cases, if a task locks a context that
becomes deadlocked, because only one task can
lock it at a time, the OS will switch back to
that task and fix it or remove it - Some operations time out after a set time quantum
7Amigas display co-processor
- Has the ability to change special purpose
registers to synchronize with the video beams
position - Allows for
- color pallet changes mid-screen
- screen split into many different horizontal
slices that each have separate color depths and
video resolution.
8Pipes in Amiga
- Introduced in Amiga 2.04
- Differs from pipes in UNIX in three ways
- the input or output of a program using pipes does
not have to be redirected standard output - flush operation is not supported
- if non-outputted data is bigger then the
internal buffer of the pipe the application
writing to it will block until the data is
output
- Advantages they free up RAM and system
running faster then if the information being
passed was stored to the hard drive
9File System
- Favors Data Integrity over Speed of Access
- Written completely in assembler
- Multiple sectors of disk can be assigned to each
block of logical memory - Checksum for each logical block of data on the
disk - Directory caching
- Complete list of directories and contents held in
file - Every directory and entry uses same data
structure with same attributes - Name, last modified, permissions, size, block
numbers
10Task (process) States
- Two Queues for tasks
- Running Queue
- Waiting Queue
- TaskStart creates a task and places it directly
in the running queue - TaskEnd removes a task from either queue and
terminates it.
11Threading (or not) Amiga does not support
threads. However, because it is a lightweight,
single-user, non-memory protected environment it
is possible to achieve similar effects using
semaphores and inter process messaging.
12Semaphores Procure() allows a task to request
a semaphore without blocking and receive a
message when the semaphore is available
Vacate() releases a semaphore and sends a
bidMessage to the next task in that semaphores
que This system allows a task to wait
asynchronously for any number of semaphores at
once and continue to process.
13Inter Process Messaging With inter process
messages you can both synchronize and transfer
information between tasks in a very efficient
manner. AmigaOS doesn't copy the messages, but
passes a reference to shared memory instead,
which makes communication much faster than
conventional Oss.
14END