DistOS 2015W Session 3: Difference between revisions
Cleaned up, fixed typos, expanded some information. |
|||
Line 1: | Line 1: | ||
= Multics = | |||
'''Team:''' Sameer, Shivjot, Ambalica, Veena | '''Team:''' Sameer, Shivjot, Ambalica, Veena | ||
It came into being in the 1960s and it completely vanished in 2000s. It was started by Bell, General Electric and MIT but Bell backed out of the project in 1969. | It came into being in the 1960s and it completely vanished in 2000s. It was started by Bell, General Electric and MIT but Bell backed out of the project in 1969. | ||
Multics is a time sharing OS which provides | Multics is a time sharing OS which provides multitasking and multiprogramming. It is not a distributed OS but it a centralized system which was written in the assembly language. | ||
It provides following features: | It provides following features: | ||
Line 13: | Line 11: | ||
# Single level storage | # Single level storage | ||
# Dynamic linking | # Dynamic linking | ||
#* Sharded libraries or files can be loaded and linked to Random Access Memory at run time | #* Sharded libraries or files can be loaded and linked to Random Access Memory at run time | ||
# Hot swapping | # Hot swapping | ||
# Multiprocessing System | # Multiprocessing System | ||
# Ring oriented Security | # Ring oriented Security | ||
#* It provides number of levels of authorization within the computer | #* It provides number of levels of authorization within the computer system | ||
#* Still present in some form today, inside both processors (like x86) and operating systems | |||
= Unix = | |||
Unix in its original conception is a small, minimal API system designed by two guys from Bell Labs. It was essentially a OS that would be easy to grasp for an programmer but not much beyond that. The UNIX OS ran on one computer, and terminals ran from that one computer. Thus it is not a distributed operating system as it is centralized and implements time sharing. In fact, it didn't even have support for networking in the first version. | |||
The C language was created specifically for Unix, as the creators wanted to create a machine-agnostic language for the operating system. | |||
Unix in its | Most features from Unix are still available in present day Unix-based systems. For example, the shell, with its piping capabilities, is still used today in its original form. | ||
= Sun NFS = | |||
The Sun NFS OS implemented networking using RPC connections. These connections are not secure. Sun wanted to encrypt these RPC connections but encryption would result in government regulations that Sun wanted to avoid in order to sell NFS over seas | The Sun NFS OS implemented networking using RPC connections. These connections are not secure. Sun wanted to encrypt these RPC connections but encryption would result in government regulations that Sun wanted to avoid in order to sell NFS over seas. | ||
<blockquote> | |||
Sun wanted to secure their NFS with encryption, but at the time encryption was regulated like munitions in the United States. Exporting any product that had encryption was impossible, but Sun needed those sales abroad. To avoid these regulations, Sun decided to sell the insecure NFS version of the system. | |||
</blockquote> | |||
'''Team: Mert | '''Team''': Mert | ||
= Locus = | |||
# Not scalable | # Not scalable | ||
#* The synchronization algorithms were so slow, they only managed to run it on five computers | |||
#* Every computer stores a copy of every file | #* Every computer stores a copy of every file | ||
#* Also used CAS to manage files | #* Also used CAS to manage files | ||
Line 47: | Line 52: | ||
Locus has lots of similarities with the today's systems. It uses replication and partitioning which are employed in cloud and distributed systems. | Locus has lots of similarities with the today's systems. It uses replication and partitioning which are employed in cloud and distributed systems. | ||
= Sprite = | |||
''' Team | ''' Team''': Jamie, Hassan, Khaled | ||
Sprite had the following Design Features: | Sprite had the following Design Features: | ||
# Network Transparency | # Network Transparency | ||
# Process Migration, file transfer between computers | # Process Migration, file transfer between computers | ||
#* User could initiate a process migration to an idle machine, and if the machine was no longer idle; due to it being used | #* User could initiate a process migration to an idle machine, and if the machine was no longer idle; due to it being used by another user, the system would take care of the process migration to another machine | ||
# Handling Cache Consistency | # Handling Cache Consistency | ||
#* Sequential file sharing ==> By using a version number for each file | #* Sequential file sharing ==> By using a version number for each file | ||
Line 60: | Line 65: | ||
# Implemented a caching system that sped up performance | # Implemented a caching system that sped up performance | ||
# Implemented a log structured file system | # Implemented a log structured file system | ||
#* Log structured file systems are optimized for writes | #* They realized that with increasing amounts of RAM in computers which can be used for caching, writes to the disk were the main bottleneck, not reads. | ||
#* Log structured file-systems are optimized for writes, as changes to previous data are appended at the current position. | |||
#* This allows for very fast, sequential writes. | |||
#* Example: SSD (Solid-state disks) | #* Example: SSD (Solid-state disks) | ||
The | The main features to take away from the Sprite system is that it implemented a log structured file system, and implemented caching to increase performance. |
Revision as of 19:42, 7 February 2015
Multics
Team: Sameer, Shivjot, Ambalica, Veena
It came into being in the 1960s and it completely vanished in 2000s. It was started by Bell, General Electric and MIT but Bell backed out of the project in 1969. Multics is a time sharing OS which provides multitasking and multiprogramming. It is not a distributed OS but it a centralized system which was written in the assembly language.
It provides following features:
- Utility Computing
- Access Control Lists
- Single level storage
- Dynamic linking
- Sharded libraries or files can be loaded and linked to Random Access Memory at run time
- Hot swapping
- Multiprocessing System
- Ring oriented Security
- It provides number of levels of authorization within the computer system
- Still present in some form today, inside both processors (like x86) and operating systems
Unix
Unix in its original conception is a small, minimal API system designed by two guys from Bell Labs. It was essentially a OS that would be easy to grasp for an programmer but not much beyond that. The UNIX OS ran on one computer, and terminals ran from that one computer. Thus it is not a distributed operating system as it is centralized and implements time sharing. In fact, it didn't even have support for networking in the first version.
The C language was created specifically for Unix, as the creators wanted to create a machine-agnostic language for the operating system.
Most features from Unix are still available in present day Unix-based systems. For example, the shell, with its piping capabilities, is still used today in its original form.
Sun NFS
The Sun NFS OS implemented networking using RPC connections. These connections are not secure. Sun wanted to encrypt these RPC connections but encryption would result in government regulations that Sun wanted to avoid in order to sell NFS over seas.
Sun wanted to secure their NFS with encryption, but at the time encryption was regulated like munitions in the United States. Exporting any product that had encryption was impossible, but Sun needed those sales abroad. To avoid these regulations, Sun decided to sell the insecure NFS version of the system.
Team: Mert
Locus
- Not scalable
- The synchronization algorithms were so slow, they only managed to run it on five computers
- Every computer stores a copy of every file
- Also used CAS to manage files
- Not efficient with abstractions
- Trying to distribute files and processes
- Allowed for process migration
- Transparency
- It provided network transparency to “disguise” its distributed context.
- Dynamic reconfiguration. (It adapts topology changes.)
Locus has lots of similarities with the today's systems. It uses replication and partitioning which are employed in cloud and distributed systems.
Sprite
Team: Jamie, Hassan, Khaled
Sprite had the following Design Features:
- Network Transparency
- Process Migration, file transfer between computers
- User could initiate a process migration to an idle machine, and if the machine was no longer idle; due to it being used by another user, the system would take care of the process migration to another machine
- Handling Cache Consistency
- Sequential file sharing ==> By using a version number for each file
- Concurrent write sharing ==> Disable cache to clients, enable write-blocking and other methods
- Implemented a caching system that sped up performance
- Implemented a log structured file system
- They realized that with increasing amounts of RAM in computers which can be used for caching, writes to the disk were the main bottleneck, not reads.
- Log structured file-systems are optimized for writes, as changes to previous data are appended at the current position.
- This allows for very fast, sequential writes.
- Example: SSD (Solid-state disks)
The main features to take away from the Sprite system is that it implemented a log structured file system, and implemented caching to increase performance.