Skip to content

Commit 9878d10

Browse files
authored
Merge pull request #72 from Software-Development-Pakistan/os-update
Fixes some typos for brevity
2 parents 0cce3d5 + 05536e2 commit 9878d10

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

career-paths/OS/index.md

+15-15
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ layout: page
44
comments: true
55
---
66

7-
Operating Systems refers to the understanding of lower lying hardware and technology that makes all the software run perfectly. It's about handlng the different work loads, optimizing the CPU performance, understanding how the memory and storage work, and how the software and hardware connect. It's really meant to help serve as a way to get a understanding of how to make software and technology talk to each other, and what the underlying OS does to make these two things communicate.
7+
Operating Systems refers to the understanding of low level hardware and technology that makes all the software runs perfectly. It's about handlng the different work loads, optimizing the CPU performance, understanding how the memory and storage work, and how the software and hardware connect. It's really meant to help serve as a way to get a understanding of how to make software and technology talk to each other, and what the underlying OS does to make these two things communicate.
88

99
## Table Of Contents
1010

@@ -33,16 +33,16 @@ Operating Systems refers to the understanding of lower lying hardware and techno
3333

3434
# An Introduction
3535

36-
What does OS make it easier to understand? A lot, basically. To name a few,
36+
What does OS do, to make it easier to understand some of the functionalities are mentioned below:
3737

3838
- Processes, their scheduling, how programs are handled in the background, and how can they can be optimally served
3939
- Threads and Concurrency, how you can schedule your work and functions to make them work faster
4040
- CPU Scheduling, which helps to make it easier to understand how the CPU manages to schedule and choose what work to do
41-
- Synchronization, what happens when two different programs try to access a block of memory at the same time?
42-
- Deadlocks, or most commonely known as, why does my Windows hang so much?
41+
- Synchronization, what happens when two different programs try to access a block of memory at the same time
42+
- Deadlocks, or most commonly known as, why does my OS hang so much?
4343
- Virtual Memory, how you load bigger programs into memory, even though their size is greater than your RAM
4444
- File System, how OS store and allocate files and folders, and how they keep a track of it
45-
- Virtual Machines, how can you run 2 OS on the same hardware? How does Docker run images on an OS? How can you run a Linux instance in a virtualbox?
45+
- Virtual Machines, how can you run 2 OS on the same hardware? How does Docker run containers on an OS? How can you run a Linux instance in a virtualbox
4646
- Networks and Distributed Systems, how and which OS treat network interfaces
4747

4848
# Technologies
@@ -57,9 +57,9 @@ Working with an OS from scratch means a good understanding of the underlying har
5757

5858
So what `Linux` or `distribution of Linux` should you choose? It depends on what metrics you use and what is important to you. There are some basic [`trees`](https://en.wikipedia.org/wiki/List_of_Linux_distributions#/media/File:Linux_Distribution_Timeline.svg) of distributions, which means there are some OS which contain the Linux kernel, and have their own spin on it. The only thing about distros that make them Linux is the kernel they have, and the libraries they use. For example, the system call library functionalities that you used in OS were part of GNU - GNU has a `glibc` which means they have a library written in C which interacts with the Linux kernel.
5959

60-
The commands you run on the `terminal` ( _or the bash shell_ ), that's the interface and call to the kernel to do that.
60+
The commands you run on the `terminal` ( _or the shell_ ), that's the interface and call to the kernel to do that.
6161

62-
If you haven't guessed already, this guide is about working with and building Operating Systems by using Linux itself. This is not a guide if you want to build something from scratch. Please checkout [OS Dev](osdev.org) for that.
62+
If you haven't selected already, this guide is about working with and building Operating Systems by using Linux itself. This is not a guide if you want to build something from scratch. Please checkout [OS Dev](osdev.org) for that.
6363

6464
## Installation In Windows!
6565

@@ -75,7 +75,7 @@ Before you get into any kind of Linux, please read about the following to unders
7575
4. Filesystems in Linux are way different than in Windows
7676
5. Package managers and software repositories
7777

78-
However, if you want to install Linux on your disk, please continue reading,
78+
However, if you want to install Linux on your disk, please continue reading.
7979

8080
Now, the next thing is that you look at what is important to you. Here are some criteria,
8181

@@ -87,14 +87,14 @@ Now, the next thing is that you look at what is important to you. Here are some
8787

8888
## Updates
8989

90-
There are two contrasts here, there is a,
90+
There are two contrasts here, there is:
9191

92-
- Non-rolling release
92+
- Non-rolling release and
9393
- Rolling release
9494

95-
A **_non-rolling release_**, for example, is the debian family or 'tree', which ubuntu is a part of. It basically means that the kernel is and system is designed with system versions of software. Which ultimately means that you can specify what versions of software you want for your machine, and give it to the kernel, and it will set it up for you. But that means that if you want to change the version numbers, you will have to upgrade the system.
95+
A **_non-rolling release_**, for example, is the debian family or 'tree', which ubuntu is a part of. It basically means that the kernel and system is designed with system versions of software. Which ultimately means that you can specify what versions of software you want for your machine, and give it to the kernel, and it will set it up for you. But that means that if you want to change the version numbers, you will have to upgrade the system.
9696

97-
So for example, if you decided to use Ubuntu 18.04, you would get python 3.7.3. Now, we have Python 3.8.1, say you wanted to upgrade, but you can't.
97+
For example, if you decided to use Ubuntu 18.04, you would get python 3.7.3. Now, we have Python 3.8.1, say you wanted to upgrade, but you can't.
9898

9999
Upgrading a basic software that comes pre packed with the OS itself means to build everything up from scratch. Which means if you want to use the next Python version or upgrade, you need to upgrade your system from scratch. It's useful to make a drive solely for the backup, and then upgrade, but it's not always ideal depending on how you've set it up.
100100

@@ -117,13 +117,13 @@ _NOTE:_ that rolling releases are never used in server side or cloud stuff becau
117117

118118
## Security
119119

120-
Kali Linux, Redhat, Fedora, Black Arch Linux come to mind, they have a preset of good configurations for security related measures when they are installed. They come with pre installed and pre setup software so that you can work on them quickly. There are some differences under the /etc/ folder for networking reasons.
120+
Kali Linux, Redhat, Fedora, Black Arch Linux come to mind, they have a preset of good configurations for security related measures when they are installed. They come with pre installed software so that you can work on them quickly. There are some differences under the /etc/ folder for networking reasons.
121121

122122
## Size
123123

124-
Some distributions are lighter, and come with bare minimal software, so if you want to choose a light weight system based on your current hardware, look into Absolute Linux, Lubuntu, LXLE, Linux Lite, and other such distros.
124+
Some distributions are lighter with bare minimal software, so if you want to choose a light weight system based on your current hardware, look into Absolute Linux, Lubuntu, LXLE, Linux Lite, and other such distros.
125125

126-
Remember that linux by itself has no gui. The gui you see in Ubuntu is either Unity or Gnome. These are called Desktop Environments. Some are heavier, some more CPU intensive than others, depending on what you prefer. Anything is fine, really, depending on how good of a hardware you have, and what your own preference is.
126+
Remember that linux by itself has no GUI. The GUI you see in Ubuntu is either Unity or Gnome. These are called Desktop Environments. Some are heavier, some more CPU intensive than others, depending on what you prefer. Anything is fine, depending on how good of a hardware you have, and what your own preference is.
127127

128128
## Server Side
129129

0 commit comments

Comments
 (0)