Chapter 3 Flashcards
what are the memory sections of a process?
text (the executable), data (variables), heap, stack
what distinguishes a process from a program?
a process is an active entity with a program counter
what is a process control block?
contains pieces of information associated with a process, like process state, program counter, process number, registers, memory limits, and list of open files
what does the process scheduler do?
selects a process that is in the ready queue and executes whatever it has to do on a cpu core
what challenge does context switching create?
the need to save the current context of a running process so that it can be restore that context once it’s done
what is the difference between a process id and a program counter?
the process id is an id given to the process, the program counter is a register that contains the next instruction address
what is the most common way that memory is shared in IPC shared memory models
unbounded and bounded buffers, for bounded buffers circular buffers are often used
why are circular buffers useful?
because it’s very to determine if the buffer is full/empty or how full it is
describe the two types of process communications (regarding naming)
direct and indirect communication
what advantage does indirect communication have and how does it work?
indirect communication uses mailboxes or channels to receive messages so that the calling process does not need to know the process id
how do mailboxes solve direct naming problems?
provides a layer of abstraction where multiple receivers can listen on the same mailbox. also mailboxes are less likely to change their address as compared to processes
what are the two communication models in client-server systems?
sockets and RPCs (remote procedure calls)
how is a socket designated?
as an ip address with the port number
can clients share sockets on the server?
no, each client receives a unique socket
what are RPCs?
they allow systems to execute remote processes as if they are local