Download - Networking chapter IV
![Page 2: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/2.jpg)
Introduction Basics of Embedded Systems Program segments The ‘fork()’ system call Concurrent and Iterative servers I/O multiplexing methods Programming using select
![Page 3: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/3.jpg)
Basics of Embedded SystemsDevelopment system TargetCross compilersDevelopment processDevelopment challenges:
Less resources Inter process communication issues Timing problems
Process vs. Threads
![Page 4: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/4.jpg)
Servers and connections Servers:
Iterative servers Concurrent servers
Connections Control connections Data connections
![Page 5: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/5.jpg)
Apartment vs. Bungalow
![Page 6: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/6.jpg)
Process Vs Threads
![Page 7: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/7.jpg)
The fork()
![Page 8: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/8.jpg)
Concurrent servers
![Page 9: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/9.jpg)
Concurrent servers
![Page 10: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/10.jpg)
I/O MultiplexingBlocking I/ONon-blocking I/OI/O multiplexing (Select)Asynchronous I/O Signal driven I/O
![Page 11: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/11.jpg)
Blocking I/O
![Page 12: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/12.jpg)
Non-blocking I/O
![Page 13: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/13.jpg)
I/O Multiplexing
![Page 14: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/14.jpg)
Select() : The I/O Multiplexer
![Page 15: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/15.jpg)
What does it do?This function allows the process to instruct
the kernel to wait for any one of multiple events to occur and to wake up the process only when one or more of these events occurs or when a specified amount of time has passed
![Page 16: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/16.jpg)
The syntax for ‘select()’ int numfds;int numfds; struct timeval timeout; struct timeval timeout; fd_set rfds; fd_set rfds; fd_set wfds; fd_set wfds; fd_set efds; fd_set efds; s=select (numfds, &rfds, &wfds, &exfds, &timeout); s=select (numfds, &rfds, &wfds, &exfds, &timeout);
![Page 17: Networking chapter IV](https://reader035.vdocuments.mx/reader035/viewer/2022062418/55597279d8b42a60298b4952/html5/thumbnails/17.jpg)
Web : http://www.jwritings.comEmail: [email protected]