Concurrent Programming
Learn how to use concurrent programming to implement code more efficiently.
StartKey Concepts
Review core concepts you need to learn to master this subject
Computer Programs
Computer Process
Process States
Context Switching
Preemption
Blocked Process
Process Layout
Process Control Block
Computer Programs
Computer Programs
A computer program is a collection of instructions used to perform a certain task.
Processes and Threads
Lesson 1 of 2
- 1When using a computer, multiple programs can often be found running at the same time. Perhaps one for playing music, another for creating documents, and one for browsing the web. All of these progr…
- 2To best optimize the performance of processes as their priority changes or as they wait for access to a limited resource, processes are put into one of five states: - New: The program has been sta…
- 3When a process is initialized, its layout within memory has four distinct sections: * A text section for the compiled code * A data section for initialized variables * A stack for local variables …
- 4While a process is an abstract data structure that represents all of the necessary information to run a program, a thread represents the actual sequence of processor instructions that are activel…
- 5Typically, a single CPU core can only execute one thread, and therefore one process, at a time. With a clever use of blocking and context switching, this limitation can be obscured to users through…
- 6Threads can behave differently depending on the environment they are created in. A thread built into the existing process is considered a kernel thread. This means that the kernel within the ope…
- 7Congratulations! You have finished learning about some of the key foundations of an operating system: the processes and threads that all of the other code on the system rests upon. A process is a…
What you'll create
Portfolio projects that showcase your new skills
How you'll master it
Stress-test your knowledge with quizzes that help commit syntax to memory