-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
103 lines (83 loc) · 8.43 KB
/
index.xml
File metadata and controls
103 lines (83 loc) · 8.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>GetToKnow</title>
<link>https://ayg0.github.io/gettoknow.github.io/</link>
<description>Recent content on GetToKnow</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Sat, 18 Feb 2023 12:54:28 +0100</lastBuildDate><atom:link href="https://ayg0.github.io/gettoknow.github.io/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>KernelDev</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/kerneldev/</link>
<pubDate>Sat, 18 Feb 2023 12:54:28 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/kerneldev/</guid>
<description> No More Tutorials I guess, I want to work fully on the system now, feel free to reach to me :)
Still all resources I used will be here and the code will be documented.
inline assembly GCC Device management OS DEV (brokenthorn) VGA Hardware Great VGA Docs GDT And IDT </description>
</item>
<item>
<title>32BitMode</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/32bitmode/</link>
<pubDate>Sat, 11 Feb 2023 15:56:43 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/32bitmode/</guid>
<description>One step backward, Two steps forward. Protected Mode: =&gt; Preparations: Well for our operating system to make the switch from 16 bit to 32 bit we need to do some preparations, that involves saying good bye to the BIOS, setting up the GDT and making a lot of bugs while trying to make a driver for the keyboard. =&gt; GDT: We used segmentation before in 16 bit mode, but here things work differently, in 32 bit we need to define The Global Descriptor Table(GDT), which is a structure where we define the descriptor of the segment we use, it&#39;s contains various properties and flags that define how and what our segment will do, will we be able to read it ?</description>
</item>
<item>
<title>16BitMode</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/16bitmode/</link>
<pubDate>Sat, 04 Feb 2023 18:08:46 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/16bitmode/</guid>
<description>Our journey starts in 16 bit mode, and the BIOS is the one for the job. Real Mode: =&gt; Registers and Data: In Real Mode we are running in a 16 bit envirement, so the max numbers that a cpu can deal with at the time are 16 bit numbers, in case we needed to use two 32 bit numbers, the number of cycles needed to do the same instruction will double.</description>
</item>
<item>
<title>OsModes</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/osmodes/</link>
<pubDate>Wed, 01 Feb 2023 18:45:02 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/osmodes/</guid>
<description>Real mode ? Imaginary mode ? Real / Protected / long Modes: =&gt; What are these anyway: Real mode, protected mode, and long mode are different operating modes that have been introduced in x86 architecture-based computers to provide various levels of memory access and protection, as well as other features and capabilities. =&gt; So Real Mode is not ?: Real Mode is a 16-bit mode that was used in the early x86 processors, and it&#39;s the mode that the computer uses ones it turns on, so even our friend the BIOS, functions in 16-bit mode.</description>
</item>
<item>
<title>BIOS</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/bios/</link>
<pubDate>Wed, 01 Feb 2023 18:44:54 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/bios/</guid>
<description>BIOS: you need int 0x10 not int 0x13 The BIOS: =&gt; What's the BIOS: BIOS (Basic Input/Output System) is a type of *firmware that provides an interface between computer&#39;s hardware and software (OS), it&#39;s stored on a *non-volatile memory chip on the mother board. The BIOS is the First program loaded When the computer is powered on, and it&#39;s responsible for performing a series of system checks and initializations. =&gt; BIOS ?</description>
</item>
<item>
<title>BootSector</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/bootsector/</link>
<pubDate>Wed, 01 Feb 2023 18:41:24 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/bootsector/</guid>
<description>are you my 512 byte ? nah nah where are you my 0xAA55 ? BIOS And The Boot Sector: =&gt; The Proccess: You&#39;ve learned in previous chapters, The one taking control over the computer at the start up is the BIOS, after it&#39;s checks (POST) it will try to load an operating system, It&#39;s will look at the first 512 bye of each drive, the 512 byte of data called a sector, it&#39;s will be bootable if it finds at the end of that 512 byte the bytes 0x55 0xAA, which are the magic number for a boot sector, than it will load that 512 byte and hand the control to it starting to execute the instructions inside, here where we should put the code to load more memory, change the mode from real mode to protected mode and so on.</description>
</item>
<item>
<title>BootingSequence</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/bootingsequence/</link>
<pubDate>Tue, 31 Jan 2023 18:30:36 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/bootingsequence/</guid>
<description>Welcome from now on, we will start the real work. Starting from the beginning: =&gt; Booting your computer: Booting is a startup sequence that starts the Operating system in your computer once it&#39;s turned on. The boot sequence is the initial set of steps/instructions that your computer perform when it&#39;s swiched on. =&gt; CPU: CPU (The Central Proccecing Unit) is the brain of our computer, it&#39;s the piece that handles all the instructions and operations you&#39;ll need to open youtube and watch some cat videos (The GPU plays a role when it comes to media .</description>
</item>
<item>
<title>OsDevKnowledge</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/osdevknowledge/</link>
<pubDate>Tue, 31 Jan 2023 17:56:29 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/osdevknowledge/</guid>
<description>What and Why ? Knowledge that will be and is really helpful and needed as an OsDev, don&#39;t worry it may look like a lot but ... there is no but, it is a lot. =&raquo; Boot Sequence =&raquo; BIOS =&raquo; Real/Protected/long Modes </description>
</item>
<item>
<title>GccCrossCompiler</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/gcccrosscompiler/</link>
<pubDate>Fri, 27 Jan 2023 19:08:36 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/gcccrosscompiler/</guid>
<description>Cross-Compilers &gt; What&rsquo;s a Cross Compiler ? - A cross Compiler is simply a compiler that runs on the host platform (for example MacOS), and generate executables for the target platform (for example Windows). &gt; Why we need a Cross Compiler ? - The only reason not to use a cross compiler is if you're generating executables for your own machine, where both the host and the targets are the same, and it's not the case for our projects now.</description>
</item>
<item>
<title>BasicsOfBasics_OsDev</title>
<link>https://ayg0.github.io/gettoknow.github.io/posts/basicsofbasics_osdev/</link>
<pubDate>Fri, 27 Jan 2023 18:30:30 +0100</pubDate>
<guid>https://ayg0.github.io/gettoknow.github.io/posts/basicsofbasics_osdev/</guid>
<description>Introduction: In a journey to understand how Operating systems works, I'll do an attempt of making a minimalistic operating system called YonaOS it's will be available in GITHUB where you can clone, learn, and give feedback, I should warn you that this code and the concepts may not be perfectly correct/explained, and your feedback is what will improve it, do not hasitate to contact me :) This is the first blog that will discuss the main steps I followed to have it at this state.</description>
</item>
</channel>
</rss>