1 / 14

The Amiga Operating System: Past and Present

The Amiga Operating System: Past and Present. Aaron Hensley Kayla Zinn Brad Campbell Gregory Mathurin Josh Benson. What is Amiga?. The Hardware Amiga 1000: 32bit 7.16Mhz MC68000 processor 512K 4096 colors two stereo channels. What is Amiga?. The Operating System Kernel: Exec

beyla
Download Presentation

The Amiga Operating System: Past and Present

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Amiga Operating System: Past and Present Aaron Hensley Kayla Zinn Brad Campbell Gregory Mathurin Josh Benson

  2. What is Amiga? The Hardware • Amiga 1000: • 32bit • 7.16Mhz MC68000 processor • 512K • 4096 colors • two stereo channels

  3. What is Amiga? The Operating System • Kernel: Exec • Command Line Interface: Amiga DOS • Graphic User Interface: Intuition

  4. Memory Management • EXEC • Based on simple list of nodes • Prone to fragmentation • EXECSG (Exec Second Generation) • Object oriented • No Memory Protection

  5. Scheduling 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.

  6. Deadlock 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

  7. Amiga’s display co-processor Has the ability to change special purpose registers to synchronize with the video beam’s position Allows for color pallet changes mid-screen screen split into many different horizontal slices that each have separate color depths and video resolution.

  8. Pipes 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

  9. File 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

  10. Task (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.

  11. Threading (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.

  12. Semaphores 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 semaphore’s que This system allows a task to wait asynchronously for any number of semaphores at once and continue to process.

  13. Inter 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.

  14. END

More Related