Advanced UNIX programming

Slides:



Advertisements
Similar presentations
Today’s topic Issues about sending structures with TCP. Server design alternatives: concurrent server and multiplexed server. I/O multiplexing.
Advertisements

CS 206 Introduction to Computer Science II 09 / 14 / 2009 Instructor: Michael Eckmann.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
Sockets and concurrency Spring 2010, Recitation 3 Your Awesome TAs.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
CS 3013 & CS 502 Summer 2006 Week 1 Review and Class Discussion 1 Review (last week) Three important terms Abstraction Concurrency Resource Critical Sections.
Client Server Design Alternatives© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid.
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
Given Connections Solution
Threads© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
Advanced UDP Sockets© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer.
DiscussionCS-502 Fall Class Discussion Peterson’s Solution for n > 2.
1 CSE544 Database Architecture Tuesday, February 1 st, 2011 Slides courtesy of Magda Balazinska.
Programming Network Servers Topic 6, Chapters 21, 22 Network Programming Kansas State University at Salina.
Today’s topic Other server design alternatives –Preforked servers –Threaded servers –Prethreaded servers.
Distributed File Systems
Signal-Driven I/O Concepts and steps for using signal-driven I/O
Advanced UNIX progamming Fall 2002 Instructor: Ashok Srinivasan Lecture 5 Acknowledgements: The syllabus and power point presentations are modified versions.
Review: How to create a TCP end point? What is the right format for sin_port and sin_addr in the sockaddr_in data structure? How many different ways we.
CSEP 545 Transaction Processing for E-Commerce Course Information Spring (March – May) 2007.
Robustness in the Salus scalable block store Yang Wang, Manos Kapritsos, Zuocheng Ren, Prince Mahajan, Jeevitha Kirubanandam, Lorenzo Alvisi, and Mike.
Project 2: Socket Programming. Overview Sockets Working with sockets Client-Server example Project 1 Hints.
Lecture 18 Page 1 CS 111 Online OS Use of Access Control Operating systems often use both ACLs and capabilities – Sometimes for the same resource E.g.,
Advanced UNIX programming Fall 2002 Instructor: Ashok Srinivasan Lecture 25 Acknowledgements: The syllabus and power point presentations are modified versions.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
Advanced UNIX progamming Fall 2002 Instructor: Ashok Srinivasan Lecture 9 Acknowledgements: The syllabus and power point presentations are modified versions.
Distributed Systems CS Consistency and Replication – Part IV Lecture 13, Oct 23, 2013 Mohammad Hammoud.
Threads. Readings r Silberschatz et al : Chapter 4.
Advanced UNIX programming Fall 2002 Instructor: Ashok Srinivasan Lecture 28 Acknowledgements: The syllabus and power point presentations are modified versions.
Advanced UNIX progamming Fall 2002 Instructor: Ashok Srinivasan Lecture 2 Class web site:
Advanced UNIX programming Fall 2002 Instructor: Ashok Srinivasan Lecture 17 Acknowledgements: The syllabus and power point presentations are modified versions.
Concurrent TCP servers. The basic idea 1 client = 1 task. The task is alive as long until the connection is closed The task closes the connection.
ECE 297 Concurrent Servers Process, fork & threads ECE 297.
Chapter 11 User Datagram Protocol
Thread Pools (Worker Queues) cs
CS 245: Database System Principles Notes 01: Introduction
Programming Assignment #1
Threads Threads.
Advanced UNIX progamming
Chapter 14 User Datagram Program (UDP)
Geology I: Earth’s Interior(ERTH-1100)
Introduction and Overview
INTER-PROCESS COMMUNICATION
User Datagram Protocol (UDP)
Chapter 14 User Datagram Protocol (UDP)
Chapter 7: Deadlocks.
Lecture 4 Socket Programming Issues
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Advanced UNIX programming
Distributed Computing Systems
Lecture 15 Reading: Bacon 7.6, 7.7
Advanced UNIX progamming
Multithreaded Programming
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Concurrency: Processes CSE 333 Summer 2018
Concurrency and Processes CSE 333 Spring 2018
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed Transactions
Concurrency: Processes CSE 333 Autumn 2018
Distributed Transactions
Chapter 4: Threads.
Concurrency: Processes CSE 333 Winter 2019
Operating System Concepts
CSE 542: Operating Systems
Jazan University, Jazan KSA
Announcements DS-203 Fall 2007.
Channel Busy Detector Channel Status Signal Signal Tquiet Last Busy
Advanced UNIX programming
Chapter 3: Process Management
Advanced UNIX programming
Presentation transcript:

Advanced UNIX programming Fall 2002 Instructor: Ashok Srinivasan Lecture 20 Acknowledgements: The syllabus and power point presentations are modified versions of those by T. Baker and X. Yuan

Announcements Reading assignment Chapters 5 Chapter 6 Section 6.3 and 6.8 You may need to refer to other sections occasionally, especially sections 6.4 and 6.7

Week 8 Topics Client-Server design Client-server design alternatives Concurrent server Programming assignment 3 discussion Client-server design alternatives Server with multiplexed I/O Preforked server

Client-Server design Concurrent server

Concurrent server See example2[abc].c Use a new child process to handle a new connection request Advantages Simple program Large number of connections Main limitation: too much overhead

Server crashing What happens to the client when the server crashes? How can we make the client anticipate the problem? example1a.c The client has two places that can block – it may not be able to detect that something is wrong Solution I/O multiplexing – check the file descriptor before performing a blocking operation Mechanism: select