Group 5 - Brian, Chris, Kevin, Van
Teaching Goals
- The fundamentals of distributed systems
- The mechanics of distributed operating systems and network operating systems
- Issues of importance concerning usage of the two systems
- How each work to achieve the goal of the user
- Kinds Of Systems -
- Distributed Operating Systems
- + A Distributed Operating System (DOS) supports communication, resource sharing and distributed processing, which allows processes or threads to cooperate while executing on physically separated processors
- + A DOS tries to make the distributed system look like a centralized system: access to remote resources is no different than access to local resources
- + A DOS simplifies usage of remote resources, promotes parallel execution of threads (on separate processors) and encourages sharing at a fine grained level
- + Controls multiprocessors (computers that share main memory) and controls multicomputers (computers which communicate through message sending and do not share main memory)
- + Offers a much higher level of transparency than that of a networking operating system making it more user friendly
- + The major disadvantage is that it is difficult to design and implement this kind of system
- Network Operating Systems
- + A Network Operating System (NOS) extends the traditional operating system to provide communication and resource sharing among nodes on a network
- + It supports interprocess communication, a file system, and provides mechanisms such as rlogin or ftp for remote login, file transfer, and other resource sharing
- + Network operating systems are good when the primary objective of the system is to share resources at a coarse-grained level (e.g. files, I/O devices)
- + Disadvantages: It is more difficult for users to access resources remotely; harder to share computational resources than in a centralized system
- + Individual nodes on the network are relatively independent and each runs its own operating system
- + Non-transparent and are specifically designed to run networks with least amount of errors.
- Network Operating Systems -
- Internet
- + An internet is a public network of networks that is fairly easy to obtain access to with the help of an ISP
- + Allows access to the world wide web and email as well as other features
- Intranet
- + An intranet also allows access to the world wide web, email, and etc, but it uses a private line to do so
- + As a result, performance is far superior and security is heightened
- Issues -
- Transparency
- + A system that is transparent means that it hides from the user all of the background processes
- + As a result, it is more user-friendly due to better navigation
- Scalability
- + Scalability refers to a systems ability to grow without a major loss of performance or undesirable occurrences
- Software Interfaces
- + A distributed system can have many different types/brands of computers with different operating systems
- + The systems must be able to accommodate for these differences and run properly off all computers in the system
- Security
- + Risks of security can arise from internal or external affairs in a distributed system
- Connections -
- Packets
- + Fundamental units of information carriage in networks that uses packet switching
- + Consists of a header, a data area, and a trailer
- + Headers is needed to get information from source to destination
- + Data areas contains the information of the user who created the packet
- + Trailers ensures errors do not occur during transmission
- + Some systems needes a connection setup before packets could be sent, thus the need for datagrams
- + Datagrams are packets that contain enough information for communication independent of any connection setup
- + Previous protocols like virtual circuit needed connection setups, but the Internet protocol does not
- Protocol
- + A protocol is a standard that controls or enables the connection, communication, and data transfer between two computer endpoints
- + The most recognizable protocol is the Internet protocol known as TCP/IP
- + May be implemented by hardware, software, or a combination of the two
- + Computing protocol is used to define real time communcation behavior
- Sockets
- + There are two types of sockets: Internet and IPC
- + With IPC (Inter-Process Communication), a socket can be used to create one end of a bi-direction link between two programs
- + Internet sockets on a certain host are defined as a combination of an IP address, a protocol, and an IP address
- Endpoints and Ports
- + An endpoint is merely one end of a connection
- + There are several types of ports, such as hardware, software, or network
- + A hardware port is an outlet on a device where a plug connects
- + A software port is basically software that has been transported to another system
- + A network port is an identified doorway for communication between a program and another system or program passing through the port
- Software Interfaces -
- RPC
- + RPC is known as Remote Procedure Call and is a protocol that enables a program on a client computer to execute a program on a server computer
- + This works by allowing the client computer to send arguments to the server, then the server sends back a message that contains the results of the client’s argument.
- + RPC is popular because a software developer does not have to develop specific procedures for the server computer; instead, they could just develop one universal program
- + RPC is also fast because it uses the eXternal Data Representation (XDR) protocol
- + The XDR protocol normalizes the format of integers, floating numbers, strings, and etc
- Middleware
- + Middleware is a common term in the IT category and is, by definition, a type of software that brings together two otherwise separate applications
- + Middleware is sometimes called a transition or conversion layer because of how it integrates two separate programs together
- + The need for middleware has progressively increased due to the result of the IT field becoming increasingly technical and wide
- + Middleware also makes application development easier because application developers do not need to worry about how they are going to integrate their software into a completely different platform
- Client/Server Model
- + The client/server model is a term that dates back to the 1980’s and was used to describe computers communicating on a network; Simply put, on a network, a computer is either a client or server
- + There is one server and the rest of the computers are clients
- + The server, which is sometimes referred to as a daemon, is usually a powerful machine that handles all of the requests of the clients
- + The client computers send requests to the server computer, which then sends back the finished request
- + The most common example of the client/server model is TCP/IP and your internet browser
Client-Server Model
- Security -
- Security Threats - Interception
- + An unauthorized party that gains access to an asset
- + Example: An unauthorized party eavesdropping on what you are doing, but not tampering with anything
Security Threats - Interruption
- + An asset of a system is destroyed, unavailable or unusable
- + Example: An unauthorized party deleting a program so you can not use it
Modification
- + An unauthorized party gains access as well as tamper with assets
- + Example: An unauthorized user modifying files on your computer
Fabrication
- + An unauthorized party inserts fake objects into the system
- + Example: An unauthorized user adds a new file onto your computer
- Security Mechanisms -
- Encryption
- + Encryption is the coding or scrambling of information so that it can only be decoded and read by someone who has the correct decoding key
- + Encryption is used in secure websites as well as other mediums of data transfer
- + If a third party were to intercept the information you sent via an encrypted connection, they would not be able to read it
- + There are two types of encryption: Symmetric and Asymmetric
- + Symmetric is when a single key is used for encryption and decryption; Asymmetric is when two keys are used, one for encryption and one for decryption
- Authentication
- + Authentication is any process by which a system verifies the identity of a user who wishes to access it
- + Example: Credentials (username and password)
- Authorization
- + Authorization grants users access to different areas on a system based on their identity
- + Example: Different user groups (Admin, User, Guest…)
Auditing
- + An independent review and examination of data processing, system records and activities
- + Used to…
- Test for adequacy of system controls
- Ensure compliance with established security policy and operational procedures
- Detect breaches in security
- Recommend any indicated changes in control, security policy, and procedures
Online Resources:
Wikipedia
IEEE Computer Society
Introduction to distributed computing
RPC Protocol Interview
Middleware
Computer Security Concepts
Threats & Attacks On Security (PDF)
Literary Resources:
Silberschatz, Galvin, and Gagne. Applied Operating System Concepts First Edition. Copyright (c) 2000 John Wiley & Sons, Inc.