Process

One process is started by a user accout. Each process has a user account. What happens in a system with multiple users? All the process are running simultaneously. The ones that aren’t used are in low priority or off memory but they are there. Each user gets a windowing system. So they only see their processes only. Interprocess communication happens with shared memory or message passing. Operating system handles that. Somehow they have to initialize the sharing then they get the address and things. After that is is easy. Just storing data in the right place. Every process has a standard input and standard oupit and standard error. These are text based. ASCII only probably. Just because these are standard means there can’t be other inputs and outputs. Standard inputs and standard outputs for command line processes. There are network inputs, IO inputs and outputs and also outputs and inputs from the windowing system which is a process. This windowing system is what feeds mouse and keyboard input too. So mouse and keyboard can be shared across many applications. An electron app can start as a main process running on a node process. It can create as many windows as it wants. They can all comminicate among themselves. It can also have some agreement with the os so only one main process is running at a time. The windows it creates can each be different processes. A web browser can have many windows but have only tabs as a process and the windows data can be in one main process. There’s nothing stopping from only one process having multiple windows. Window is an object in the wondowing system process. I have to kill the explorer process is windows and check. Since os manages each process, it knows how much resources they are each using. A task manager process can get this from system call to get the location of this data