Difference between revisions of "DistOS 2015W Session 3"

From Soma-notes
Jump to navigation Jump to search
(Cleaned up, fixed typos, expanded some information.)
Line 1: Line 1:
= '''Reading Response Discussion''' =
= Multics =
 
== 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 Multitasking and Multiprogramming. It is not a Distributed OS but it a Centralized system which was written in the assembly language.
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 System.
#* 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.


== Unix ==
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 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.
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 ==
= 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 (See below).
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 encrypt their NFS system but decided not to. In the US encryption is regulated like munitions. Thus when Sun wanted to sell the NFS
<blockquote>
    system abroad they would have to contend with government regulations. To avoid these regulations, Sun decided to sell the unencrypted NFS system abroad.
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 ==
= Locus =


# Not scalable (They did not bother themselves about scalability. Locus ran only in five computers.)
# 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 ==
= Sprite =


''' Team: ''' Jamie, Hassan, Khaled
''' 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 be another user, the system would take care of the process migration to another machine
#* 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; data is written to cache instead of memory, over reads. This is a way of minimizing the performance issues of doing 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 ''' main features ''' to take away from the Sprite system is that it implemented a log structured file system, and implemented caching to increase performanace.
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 15: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:

  1. Utility Computing
  2. Access Control Lists
  3. Single level storage
  4. Dynamic linking
    • Sharded libraries or files can be loaded and linked to Random Access Memory at run time
  5. Hot swapping
  6. Multiprocessing System
  7. 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

  1. 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
  2. Not efficient with abstractions
    • Trying to distribute files and processes
  3. Allowed for process migration
  4. Transparency
    • It provided network transparency to “disguise” its distributed context.
  5. 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:

  1. Network Transparency
  2. 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
  3. 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
  4. Implemented a caching system that sped up performance
  5. 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.