03 06 Processes Part 6 — Transcript
Full transcript
- 0:08[Music]
- 0:20okay so next are pipes
- 0:23so what are pipes
- 0:24pipes are one of the earliest and
- 0:26simplest channel of communication
- 0:28between unix processes
- 0:31okay
- 0:32so there are four key considerations for
- 0:34implementing pipes
- 0:37first
- 0:38unidirectional or bi-directional
- 0:40communication
- 0:41right
- 0:43next is
- 0:45is bi-directional operation or
- 0:47communication half duplex or full duplex
- 0:50okay
- 0:52now next would be
- 0:54must a relationship such as parent child
- 0:56exist between the processes
- 1:00okay and last
- 1:02is can pipes communicate over a network
- 1:05or only on the same machine
- 1:07so the following sections examine these
- 1:09issues on unix and windows
- 1:12so you've got what's called an ordinary
- 1:14pipes and the name pipes
- 1:17okay
- 1:17now let's talk about the ordinary pipes
- 1:19here
- 1:21ordinary pipes are unidirectional
- 1:24with a reading and and writing in
- 1:27so if bi-directional
- 1:30meaning two-way
- 1:31okay communications are needed then a
- 1:34second pipe is required
- 1:38okay
- 1:40so unix pipes are accessible as files
- 1:43using the standard read and write system
- 1:46calls
- 1:47so the ordinary pipes are only
- 1:49accessible within the process that
- 1:51created them so typically a prior
- 1:54apparent okay creates the pipe before
- 1:57forking off a child
- 1:59so when the child inherits open files
- 2:02from each parent
- 2:03including the pipe files
- 2:06a channel of communication is
- 2:08established
- 2:09so each process
- 2:11parent and child should first close the
- 2:13ends of the pipe
- 2:15that they are not using so for example
- 2:18if the parent is waiting
- 2:20to the pipe and the child is reading
- 2:23then the parent should close the reading
- 2:25end
- 2:26of its pipe after the fork and the child
- 2:29should close the
- 2:31writing end
- 2:33so in windows
- 2:35windows calls this anonymous pipes so
- 2:38ordinary pipes and unix anonymous pipes
- 2:41and windows
- 2:43okay
- 2:44next how about the name pipes
- 2:48so name pipes support bi-directional
- 2:51communication so communication between
- 2:53a non-parent child related process
- 2:56and persistence after the process
- 2:59which created them exist
- 3:01so multiple processes can also share a
- 3:04named pipe
- 3:05typically
- 3:06one reader and multiple writers
- 3:10okay so in unix
- 3:12named pipes are termed
- 3:14pifos
- 3:16okay appear as ordinary files in the
- 3:19system so in windows
- 3:22named pipes provide richer
- 3:23communications duplex
- 3:26specifically full duplex is supported
- 3:29so process may reside on the same or
- 3:31different machines
- 3:33and created and manipulated using the
- 3:37create name type
- 3:39connect name type read file and write
- 3:42file
- 3:43system calls
- 3:46okay
- 3:49all right so a lot of technical terms
- 3:52and technical discussions okay
- 3:54all about processes
- 3:56okay and
- 3:58a lot more technical discussions on the
- 4:00next chapter
- 4:02okay
- 4:03now communications in the client server
- 4:05systems
- 4:06so how do we communicate computers with
- 4:09ourselves to be the client
- 4:12to the server which is the provider of
- 4:13service
- 4:14okay so we have two it's added we use
- 4:17sockets
- 4:18or the remote procedure calls sockets
- 4:21earlier
- 4:22is termed as port
- 4:24or
- 4:25mailboxes okay
- 4:27now what is a socket
- 4:30so a socket is defined as an endpoint
- 4:32for communication
- 4:34a socket is an end point for
- 4:37communication so that means
- 4:39every applications that is capable of
- 4:41having a communication
- 4:43over the network has a socket
- 4:46example
- 4:47when you use or when you browse the
- 4:49internet you are using http
- 4:51so you are using a port 80 socket
- 4:55or if it is an https you are using a
- 4:58port 443 seconds
- 5:01okay
- 5:02so two process communications are
- 5:04communicating over the network often use
- 5:06a pair of connected sockets as mentioned
- 5:08earlier
- 5:09so software that is designed for a
- 5:11client server operation may also use
- 5:14sockets for communication between two
- 5:16processes
- 5:17running on the same computer for example
- 5:20the ui for a database program may
- 5:22communicate with a backend database
- 5:24manager using sockets
- 5:26again when you see sockets just to make
- 5:28it clear
- 5:29sockets are port numbers
- 5:32these are the address of the
- 5:34applications
- 5:35residing on your
- 5:36computer okay so if your computer has a
- 5:39physical address called mac address
- 5:42and the logical address called ip
- 5:45address
- 5:46your computer's application or the
- 5:48application inside your computer
- 5:50has watched called address named socket
- 5:53or port
- 5:55okay
- 5:59next
- 6:01so this is an example of a socket
- 6:02communication okay so if you'll observe
- 6:05here we have here a socket 1625 in a
- 6:08socket
- 6:09um
- 6:1180
- 6:12right so you've got the communication
- 6:14between the host
- 6:16at 146 86 520
- 6:19communicating to the server at 161 25
- 6:221988
- 6:24okay
- 6:25so take note that
- 6:26with socket communication okay
- 6:29so
- 6:30it is not only the ip address which is
- 6:32being used in the process but it
- 6:34includes or integrates the part number
- 6:37or socket numbers
- 6:38okay
- 6:39so
- 6:40in cisco
- 6:42we are dealing with a lot of port
- 6:44numbers
- 6:45especially when we're talking about the
- 6:47access lists
- 6:48okay
- 6:49so the communication channels via
- 6:51sockets may be one or
- 6:54uh two of the major forms okay it's
- 6:57either tcp connection oriented
- 7:00transmission control protocol
- 7:02and udp
- 7:04so i guess you you remember
- 7:06already what are these sockets for
- 7:10okay
- 7:12now
- 7:13sockets in java
- 7:15so there are three types of sockets as
- 7:18mentioned earlier you've got the
- 7:20connection oriented tcp
- 7:22it is a reliable communication okay so
- 7:25there it's
- 7:26called reliable because
- 7:27this requires
- 7:29an acknowledgement
- 7:30okay
- 7:31connectionless are udp this is said to
- 7:34be non-reliable
- 7:36but java has this multicast socket
- 7:40okay so data can be sent to multiple
- 7:43recipients
- 7:46okay
- 7:46so sockets are considered a low-level
- 7:48communication channel
- 7:50and process may often choose to use
- 7:52something at a higher level such as
- 7:55those covered in
- 7:56the next two sections
- 7:58okay
- 8:00now the figure
- 8:03client server systems illustrated here
- 8:07okay so for determining the current date
- 8:09using
- 8:10sockets in java
- 8:13okay
- 8:16now
- 8:18next would be
- 8:19the remote procedure calls or rpcs
- 8:22okay
- 8:23so remote procedure call abstracts
- 8:25procedure calls between process or
- 8:28processes of network systems again
- 8:31uses ports for service differentiation
- 8:34again so don't be confused with the
- 8:36ports sockets mailbox they are all the
- 8:39same
- 8:40okay
- 8:41next the general concept of rpc is to
- 8:44make procedure calls similarly to
- 8:46calling on ordinary local procedures in
- 8:49programming
- 8:50except the procedure being called
- 8:53lies on remote machines
- 8:55so implementation involves what you call
- 8:58stubs
- 8:59okay
- 9:00on either end of the communication so
- 9:02the local process calls on the stab
- 9:04much as it would call upon
- 9:07a local procedure
- 9:08so the rpc system package up marshalls
- 9:12okay the parameters of the procedure
- 9:14call and transmits them to the remote
- 9:17system
- 9:19on the other remote
- 9:20side the rpc daemon accepts the
- 9:23parameters and calls upon the
- 9:24appropriate
- 9:25a remote procedure
- 9:27to perform
- 9:29the requested work
- 9:31so any results
- 9:33should be returned from the package up
- 9:36and sent back to the rpc systems to the
- 9:39local system
- 9:41so which then unpackages
- 9:44and returns the result to the local
- 9:46calling procedures
- 9:49so on windows
- 9:51this tab code compiled from
- 9:53specification written in the microsoft
- 9:55interface definition language
- 9:57rmitl
- 10:00okay
- 10:01next
- 10:04so
- 10:05one potential difficulty
- 10:08is the formatting of data on local
- 10:10versus remote systems
- 10:12okay
- 10:13so the resolution of this problem
- 10:15generally involves an agreed-upon
- 10:17intermediary format such as the xdr
- 10:20okay or the external data representation
- 10:24all right so another issue is
- 10:26identifying the procedure on the remote
- 10:28system particularly the rpc is destined
- 10:32for
- 10:33so remote procedure calls
- 10:35are identified by ports
- 10:38though not the same ports as the sockets
- 10:41port described earlier
- 10:44okay so one solution is for the calling
- 10:47procedures to know the port number they
- 10:49wish to communicate with
- 10:52on the remote system so this is
- 10:54problematic as the port number would be
- 10:56compiled into code
- 10:58and it makes breakdown if the remote
- 11:00systems cannot
- 11:02change their port numbers
- 11:05okay so more commonly matchmakers
- 11:08process is employed
- 11:10which acts like a telephone directory
- 11:12service
- 11:14okay so the local process must first
- 11:16contact the matchmaker
- 11:19of the remote system
- 11:21so at a well-known port numbers
- 11:24okay so which looks up
- 11:27the desired port number and return set
- 11:29so the local process can then choose and
- 11:32use that information
- 11:34to contact direct remote procedure
- 11:38so this operation involves
- 11:40an extra step but
- 11:43it's more flexible
- 11:45okay so an example of the matchmaker
- 11:48process
- 11:49is illustrated here
- 11:53okay so this is how
- 11:55the client
- 11:57and the server
- 11:58communicate with each other
- 12:00by using the remote procedure calls
- 12:04so one common example of the system
- 12:06based on rpc calls is the network file
- 12:08system
- 12:10okay messages are passed to read
- 12:14write delete
- 12:16rename or check status
- 12:19or might be for ordinary local disk
- 12:22access requests
- 12:24okay
- 12:25so
- 12:26we have a long day with a discussion of
- 12:29this chapter because we have a lot of
- 12:31technical discussions and technical
- 12:33terms here
- 12:34okay thanks so much for the next chapter
- 12:38so
- 12:39that's the end of the video
- 12:41thank you for sticking around
- 12:44have a great day
- 12:54[Music]
- 13:02you
About this transcript
This page contains the full transcript of 03 06 Processes Part 6 by Santelmo, generated from the public captions YouTube serves with the video. The transcript has 1,442 words across 342 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.