
Travis N. answered 12/08/21
Tutor
5
(3)
Lead Software Engineer at CCHCS and 4.0 GPA CS Graduate Student
Hello, I will be a bit opaque since I do not answer homework questions for students. But, I hope these comments will be useful nonetheless.
- Why is IPC needed? You're likely to come to an understanding if you consider how virtual memory works and how the operating systems kernel manages access to virtual memory. For example: think about how the kernel might respond to a user attempt to access memory owned by another user. Or, think about how the kernel might respond one process attempting to access memory owned by another process. A hint: generally when a person writes a program in a memory-unsafe language such as C or C++ and makes an error when attempting to work with memory they'll get a SEGFAULT error generated by the kernel.
- What are the different IPC mechanisms? This question can be answered simply with a quick internet search: https://www.geeksforgeeks.org/methods-in-interprocess-communication/
- Pipes
- Named pipes
- Message queues
- Shared memory
- Sockets
- How do the different IPC mechanism compare? Aside from pipes and shared pipes, each of these IPC mechanisms is quite different. Again, I do not solve homework problems for students but rather help them work through understanding them. So, what I'd like to ask is that you review those different IPC mechanisms and come up with specific questions.