> > |
Computer and Network Systems
Merger of Computing & Network Architectures, Operating Systems and Networks & Distributed Computing
General
- Hardware software interface
- Instruction set design
- Modelling of computer architectures
- System architecture
Single data stream architectures
- SISD and MISD architectures
- Pipeline processors
- RISC / CISC, VLIW architectures
Multiprocessing and alternative architectures
- SIMD, MIMD, EPIC
- Systolic architecture
- Interconnection architectures
- Interconnection networks (hypercube, shuffle-exchange, mesh, crossbar)
- Shared memory systems
- Cache coherence
- Memory models and memory consistency
- Array and vector processors
- Associative processors
- Clusters and grid considerations
- Alternative architectures (e.g. dataflow, neural nets, analog)
Performance enhancements
- Superscalar architecture
- Branch prediction
- Prefetching
- Speculative execution
- Multithreading
- Scalability
Architecture for networks and distributed systems
- Attributes
- Capacity
- Link Capacity
- Link Types
- Link to Physical Media in Network
Network architecture and design
*Access schemes, buses, Ethernet, ,internet)
- Personal Area Network (PAN)
- Local Area Network (LAN)
- Campus
- Metropolitan (MAN)
- Wide Area Network (WAN)
- Virtual Private Network (VPN)
- Other
- Network management and monitoring
- Layered protocol design, ISO/OSI, IEEE 802
- Impact of architectural issues on distributed algorithms
- Network computing
- Distributed multimedia
Network design
Application based architectures
- Process control
- Real time and embedded
- Signal processing systems
- Portable devices
- Special servers
Distributed system models
- Classification
- parallel machine models
- Flynn's taxonomy
- Handler's clasification
- message passing
- Granularity, levels of parallelism
- multiprocessors and multi-computers
- topology
- tightly coupled architectures
- loosely coupled architectures
- Processes
- threads
- clients
- servers
- code migration
- software agents
- Clocks
- Physical clocks
- Logical clocks
- synchronization algorithms
- Lamport timestamps
- vector timestamps
- Election algorithms
- Link to Algorithms & Complexity
- Mutual Exclusion algorithms
- Link to Algorithms & Complexity
- Distributed transactions
- models
- classification
- concurrency control
Overview of operating systems
- Role and purpose of the operating system
- History of operating system development
- Functionality of a typical operating system
- Mechanisms to support client-server models, hand-held devices
- Design issues (efficiency, robustness, flexibility, portability, security, compatibility)
- Influences of security, networking, multimedia, windows
Operating system principles
- Structuring methods (monolithic, layered, modular, micro-kernel models)
- Abstractions, processes, and resources
- Concepts of application program interfaces (APIs)
- Application needs and the evolution of hardware/software techniques
- Device organization
- Interrupts: methods and implementations
- Concept of user/system state and protection, transition to kernel mode
Concurrency
- States and state diagrams
- Structures (ready list, process control blocks, and so forth)
- Dispatching and context switching
- The role of interrupts
- Concurrent execution: advantages and disadvantages
- The "mutual exclusion" problem and some solutions
- Deadlock: causes, conditions, prevention
- Models and mechanisms (semaphores, monitors, condition variables, rendezvous)
- Producer-consumer problems and synchronization
- Multiprocessor issues (spin-locks, reentrancy)
Scheduling and dispatch
- Preemptive and nonpreemptive scheduling
- Schedulers and policies
- Processes and threads
- Deadlines and real-time issues
Memory management
- Review of physical memory and memory management hardware
- Overlays, swapping, and partitions
- Paging and segmentation
- Placement and replacement policies
- Working sets and thrashing
- Caching
Device management
- Characteristics of serial and parallel devices
- Abstracting device differences
- Buffering strategies
- Direct memory access
- Recovery from failures
Security and protection
- Overview of system security
- Policy/mechanism separation
- Security methods and devices
- Protection, access control, and authentication
- Models of protection
- Memory protection
- Encryption
- Recovery management
File systems
- Files: data, metadata, operations, organization, buffering, sequential, nonsequential
- Directories: contents and structure
- File systems: partitioning, mount/unmount, virtual file systems
- Standard implementation techniques
- Memory-mapped files
- Special-purpose file systems
- Naming, searching, access, backups
- Examples: dos, unix, windows, other
Real-time and embedded systems
- Process and task scheduling
- Memory/disk management requirements in a real-time environment
- Failures, risks, and recovery
- Special concerns in real-time systems
Fault tolerance
- Fundamental concepts: reliable and available systems
- Spatial and temporal redundancy
- Methods used to implement fault tolerance
- Examples of reliable systems
System performance evaluation
- Why system performance needs to be evaluated
- What is to be evaluated
- Policies for caching, paging, scheduling, memory management, security, and so forth
- Evaluation models: deterministic, analytic, simulation, or implementation-specific
- How to collect evaluation data (profiling and tracing mechanisms)
Scripting
- Scripting and the role of scripting languages
- Basic system commands
- Creating scripts, parameter passing
- Executing a script
- Influences of scripting on programming
Communication and networking
- Network standards
- Standardization bodies
- ISO 7-layer reference model (OSI model)
- TCP/IP reference model
- IEEE 802.x
- Switching modes
- Circuit switching
- Packet switching
* Data Grouping (revisit this title)
- Streams
- Datagrams
- Physical Media
- Wired
- Wireless
* Network device types
- Physical Layer (Layer 1)
- Data link layer (Layer 2)
- Logical Link Control
- Medium Access Control
- Multiplexing
- Framing
- MAC layer addressing
- Medium interfacing
- Collision control
- Token-based access
- Error Detection and control
- Layer 2 Switching
- Spanning Tree
- Source Routing
- Virtual LANs
- Protocol Examples
- Ethernet/IEEE 802.3
- HDLC
- PPP
- ATM
- Frame Relay
- IEEE 802.11
- Network layer (Layer 3)
- Routing
- Routing algorithm
- Routing protocols
- Layer 3 Switching
- Fragmentation and Reassembly
- Addressing
- Protocol examples
* IP
* ICMP
- Roaming
- Transport layer (Layer 4)
- Connection management
- Reliability
- Flow control
- End to end transmission
- Segmentation
- Protocol examples
- Application layer
- Protocols
- Example Protocols
* HTTP
* FTP
* Telnet
* SMTP
* DNS
* Other
- Gateway
- Middleware
- Remote Procedure Call (RPC)
- Transaction Processing Monitors (TPM)
- Message-Oriented Middleware (MOM)
- Object Request Broker (ORB)
Network Management
- Performance Management
- Network Evaluation
- Bandwidth
- Throughtput
- Latency
- Jitter
- Fault Management
- Configuration Management
- Accounting Management
- Link to SECURIT MANAGEMENT in Security
- Examples of Protocols
- SNMP (Simple Network Monitoring Protocol)
- RMON (Remote Monitoring)
- Network Management Software
Quality of Service
- Approaches
- Differentiated Services
- Integrated Services
- Congestion Management
- Queue Management
- Link Efficiency
- Traffic Shaping and Policing
Network Security
Link to Security Topic
Wireless and mobile computing
- Categories of technologies
- Personal Area Networks
- Wireless Local Area Networks (WLAN)
- Protocol Examples
- IEEE 802.11a
- IEEE 802.11b
- IEEE 802.11g
- Wireless WAN access technologies
- Protocol Examples
- GPRS
- GSM
- CDMA2000 1x
- WCDMA
- CDMA2000 EV-DO
- Fixed wireless technologies
- Satellite communications
- Context-aware computing
- Links to other layer protocols
Process distribution
- Mainframe
- File sharing (processing on local computer, but files stored on separate unit)
- Client-server
- Grid comptuing
- Mobility support
-- Main.nova - 26 Apr 2007
|