course updates

This commit is contained in:
marcel-dempers 2025-03-10 10:02:45 +11:00
parent 6a10cc5260
commit 2a173123bc
8 changed files with 30 additions and 20 deletions

View File

@ -63,7 +63,7 @@ You will build the ultimate foundation and be equipped to make more informed dec
* [Chapter 1: Source Control & GIT](./chapters/chapter-1-source-control-git/README.md)
* [Chapter 2: Operating Systems](./chapters/chapter-2-operating-systems/README.md)
* 🚧[Chapter 3: Linux Monitoring](./chapters/chapter-3-linux-monitoring/README.md)
* [Chapter 3: Linux Monitoring](./chapters/chapter-3-linux-monitoring/README.md)
* 🚧[Chapter 4: Web Servers](./chapters/chapter-4-web-servers/README.md)
* 🚧[Chapter 4.1: Web Server Monitoring](./chapters/chapter-4.1-web-server-monitoring/README.md)
* 🚧[Chapter 5: CI/CD Pipelines](./chapters/chapter-5-ci-cd-pipelines/README.md)

View File

@ -34,6 +34,8 @@ When the wheel is spinning, it cannot process another task and has to finish it'
This means that tasks may queue to wait their turn to get onto the CPU. </br>
![cpu-single](cpu-single.drawio.svg)
### CPU Multi Task execution
Because a single CPU core is extremely fast as mentioned above, it may process tasks extremely fast and appear as if it's completing them all at once. </br>
@ -50,6 +52,8 @@ Applications all queue up their tasks and CPU executes it </br>
This makes it difficult for operating systems to display exactly how much CPU each application
is using, but it does a pretty good job in doing so. </br>
![cpu-single](cpu-multi.drawio.svg)
### Understanding CPU as a Shared Resource
The CPU, like memory and other resources, is a critical resource that is shared among all running applications on a system.
@ -94,6 +98,8 @@ This means your application is not running optimally and not utilizing all avail
Example 3: Another example of poorly written code where one task is waiting on another task, may end up in what's called a CPU "Deadlock". This occurs when all executing tasks are waiting on each other in a circular reference. </br>
![](cpu-cpu-threads.drawio.svg)
### Worker threads and tasks
To solve some of the above issues, programming, scripting and runtime frameworks allows us to write our code in such a way that we can create what's called "threads", "worker threads", or "tasks". </br>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 791 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 580 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 448 KiB

View File

@ -37,21 +37,7 @@ The box on the left is our source server which runs a process and makes a networ
This could be a Web browser (left box) opening a web page (Github.com) which connects to a Web server (right box) on the internet somewhere hosted by Github. </br>
It could be Web client to server, Two applications talking to another, Two microservices, a service talking to a database, or technically anything talking to something else over a network or internet </br>
```
connection from server-a to 143.0.1.2:443
or https://143.0.1.2
--- 144.0.1.2 -------- 143.0.1.2:443 -\
---/ public IP public IP ---\
----/ ---\
--/ --
+----------------------+ +----------------------+
| private IP | | private IP |
| 10.0.0.4:1024 | | 10.0.0.4:443 |
| port | | port |
| server-a | | server-b |
+----------------------+ +----------------------+
```
![network components](network.drawio.svg)
## Importand Network components

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 515 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 4.6 MiB