Title: Chapter1 ' Operating System Fundamentals
1Chapter1 . Operating System Fundamentals
- Overview
- Evolution of Modern OS
- Centralized OS
- NOS
- DOS
- Cooperative Autonomous systems
- Distributed Algorithm
21.0 Overview
- Advanced in computer and communication
technologies - Distributed systems
- Multiple computers
- Communication channels
- Cooperative works(applications)
- Distributed software
- Distributed operating system vs. Distributed
systems - Multiprocessor
- Network architecture
- In this chapter
- Traditional operating systems
- Modern operating systems
- Distributed OS and Distributed system
- Distributed algorithms
31.1 Evolution of Modern Operating Systems
- Operating systems
- A set of software modules to assists programmers
( that is, interfacing between application
programs and system hardware) in enhancing
systems efficiently, flexibility, and robustness - Multiplexing and scheduling of processor(s)
- Coordinating the interacting processes
- Managing system resources(I/O, memory, data
files) - Enforcing access control and protection
- Maintaining system integrity
- Performing error recovery
- Proving interface to the users
- For structuring above primary functions
- System service High-level functions
- KernelSystems essential functions advanced in
computer and communication technologies
41.1 Evolution of Modern Operating Systems
- A Layer-structure computer system
- Users viewpoint
- System services
- Extended machine
- Systems viewpoint
- Administrators viewpoint
- Resource manager
51.1 Evolution of Modern Operating Systems
- Evolution of modern operating systems
- Centralized operating system
- Virtuality(resource management extended
machine) - Network operating system
- Interoperability(resource sharing)
- Distributed operating system
- Transparency(A single view system of multiple
systems) - Cooperative autonomous system
- Cooperative work with Autonomicity
- A Spectrum of OS
- Decreasing degree of Hardware and Software
coupling - Figure 1.2 in page 5
- A comparison of features in modern OSs
- Table 1.1 in page 6
61.2 Centralized Operating System Overview
- Traditional OS
- Single/multiprocessor architectures
- Tightly coupled systems
- Resource(ex. Main Memory) sharing internally
- Interprocessor/interprocess communication
- Through memory sharing and process interrupts
- Major functions of a centralized OS
- Table 1.2 in page 8
71.2 Centralized Operating System Overview
- OS structure
- Two traditional approaches
- Horizontal partitioning
- lager disjoint components(grouped module)
- Vertical partitioning
- Interaction between layers
- Each layer with two interfaces
- Vertical and Horizontal partitioning of OS
- Figure 1. 3
- OS structuring methods
- Modulation
- Vertical Horizontal partitioning
- Client/server model(call in OS, message passing
in DC) - Minimal(micro) kernel
- Subsystem with API and SPI
81.2 Centralized Operating System Overview
- Subsystem and Microkernel
- Microkernel
- To support application-oriented subsystems
- Microkenel architecture
- A hardware(platform) dependent minimal kernel
A set of hardware independent executives(system
services) with well defined API - HAL or SPI for different platform
- Figure 1.4 in pages 10
- HAL(Hardware Abstraction Layer)
- Enhancing portability for low-level platforms
- SPI(Service Provider Interface)
- Providing extensibility for high-level
applications - Window NT system architecture
- Figure 1.5 in page 11
91.2 Centralized Operating System Overview
- Managing Functions
- Resource Manager
- Processors/Processes management
- Procerssos scheduling
- Multiplexing
- multiprogramming, timesharing for the
supports of - interrupt-handling mechanism
- time-multiplex processor, space-multiplex
memory - Concurrent executing processes
- Processes interaction
- Interprocess communication
- relating to process synchronization
- Synchronization
- mutual exclusion
- condition coordination
- Scheduling
101.2 Centralized Operating System Overview
- turnaround time, throughput
- static process scheduling, and dynamic load
sharing and balancing - Device(I/O) management
- Device driver, buffering, spooling
- Deadlock algorithm
- Deadlock prevention, avoidance,
detectionsolution - Memory management
- Memory allocation deallocation
- Logical to physical address mapping
- Virtual memory support(paging, segmentation)
- Page replacement algorithm
- Data(file) management
- File access sharing, concurrent control, data
replication - Protection security control algorithm
111.3 Network Operating Systems(NOS)
- Network operating system
- Interoperability( for resource sharing) in a
heterogeneous computer networks - Providing transport service and
application-oriented peer-to-peer process
communication protocol - Followed to ISO/OSI 7 layer RM
- High-level API
- Socket and Remote Procedure Call(RPC)
- Network applications(Servers for transport
service) - Remote login(terminal emulation)
- File transfer(ftp, rcp)
- Messaging(EDI, e-mail X.400, SMTP)
- Network browsing(WWW - URLs, html, databases)
- Remote execution(applets)
- Integration of transport service
- Figure 1.6 in page 16
121.4 Distributed Operating Systems(DOS)
- Distributed operating system
- Transparency( for system services)
- In centralized OS
- Concurrency, location, access transparency
- In Distributed OS
- Parallelism, performance transparency
- Algorithms to implemented transparency
- Servers for supporting resource sharing and
distributed processing(coordination of
activities) - Details in latter chapters
- Coordination of distributed processes
- Management of distributed resources
- Implementation of distributed algorithm
- Chapter3-5, 6-8, 9-13, respectively
131.5 Cooperative Autonomous Systems
- CAS(Cooperative Autonomous Systems)
- Loosely coupled system(both in software and
hardware) - Fundamental difference between DOS and CAS
- Figure 1.7 in page 20
- Decomposition in Distributed systems
- Integration in Autonomous systems
- Figure 1.8 in page 21
- Decentralized CAS
- CSCW(computer support cooperative work)
- Groupware
- Distributed conferencing
- Model for distributed cooperative application
- Client/server model
- Object model
- CORBA and ODP
- Software bus(middleware, broker, or trader)
141.6 Distributed Algorithms
- Needs of design and implementation of distributed
algorithms - Algorithm implementation gt DOS services
- Coordination of execution of concurrent process
- Called Protocols
- Interesting orders or rules for interacting
process rather than perform computation - Why do you study(need) the distributed algorithm
comparing with the centralized algorithm - Weakness or limitation of distributed system
- Algorithm changes due to message passing
- Lack of global system state information
- Consensus algorithms
- Distributed concurrency algorithm to avoid
interference in resource sharing
151.6 Distributed Algorithms Summary
- Coherency algorithm to maintain consistency for
data replication - Protocols for group communication in distributed
applications - Fault-tolerance algorithms for handling failure
and recovery - Real-time and distributed scheduling algorithms
- Summary
- Brief summary of OS structures
- Overview of traditional Oss
- Introduction of modern Oss
- NOS
- DOS
- Goals of Oss
- Virtuality, interoperability, transparency,
autonomicity
161.6 Distributed Algorithms
- Classification of Oss
- Centralized OS
- NOS
- DOS
- Autonomous systems
- Collection of OS(its software structuring)
- Modularization
- Partitioning
- Layering
- Achieving better extensibility and portability
of OS - Client/server model
- Subsystem
- Microkernel
- Traditional OS VS. DOS
- Traditional OS resource management
- DOS extended machine(system service)
transparency
171.6 Distributed Algorithms
- NOS
- Extension of Traditional OS
- Transport service to support interoperability for
Resource sharing - DOS
- Distributed processing Transparency
- Modern distributed systems
- Client/server model
- Object-oriented model
- ? developing cooperative autonomous
systems(ODP,CORBA) - Parts
- Part 1 discuss design and implementation of
DOSs - Chapter 2 DOS and algorithm concepts
- Chapter 3 System design and implementation
issues - Part 2 fundamental algorithms for managing DSs