diff options
author | Minijackson <minijackson@riseup.net> | 2020-09-27 10:27:15 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2020-09-27 10:27:15 +0200 |
commit | c9e775a44cb316d578827f333531f5101aa29658 (patch) | |
tree | 7ce0b3a8feb8c7045562a8362de68218bcfcbd2c | |
parent | 5fb81b06f6be43cb93d055fd5d0ab187cc23a135 (diff) | |
download | wtf-is-linux-slides-c9e775a44cb316d578827f333531f5101aa29658.tar.gz wtf-is-linux-slides-c9e775a44cb316d578827f333531f5101aa29658.zip |
add 2020-09-22 slides
-rw-r--r-- | 2020-09-22.md | 177 | ||||
-rw-r--r-- | bibliography.bib | 25 | ||||
-rw-r--r-- | res/Fat32_structure.png | bin | 0 -> 120115 bytes | |||
-rw-r--r-- | res/GParted_1.0_screenshot.png | bin | 0 -> 106008 bytes | |||
-rw-r--r-- | res/GUID-Partition-Table-Scheme.png | bin | 0 -> 43838 bytes | |||
-rw-r--r-- | res/fat32.jpg | bin | 0 -> 25837 bytes |
6 files changed, 202 insertions, 0 deletions
diff --git a/2020-09-22.md b/2020-09-22.md new file mode 100644 index 0000000..f9f83de --- /dev/null +++ b/2020-09-22.md | |||
@@ -0,0 +1,177 @@ | |||
1 | --- | ||
2 | title: WTF is Linux | ||
3 | author: Rémi Nicole <remi.nicole@smile.fr> | ||
4 | date: 2020-09-22 | ||
5 | slide-level: 2 | ||
6 | aspectratio: 169 | ||
7 | |||
8 | theme: metropolis | ||
9 | colortheme: owl | ||
10 | beameroption: "show notes on second screen=right" | ||
11 | |||
12 | toc: true | ||
13 | highlightstyle: breezedark | ||
14 | lang: en-US | ||
15 | |||
16 | bibliography: ../bibliography.bib | ||
17 | --- | ||
18 | |||
19 | # Before we get started | ||
20 | |||
21 | ## Requirements for the practical works | ||
22 | |||
23 | - A GNU/Linux machine | ||
24 | - An SD card reader | ||
25 | - A partner (if you want to) | ||
26 | |||
27 | ## The website | ||
28 | |||
29 | - In here: <https://git.esiee.fr/nicolere/wtf-is-linux-website> | ||
30 | - Please contribute! <https://git-send-email.io/> | ||
31 | - Learn Git: <https://git-scm.com/book/en/v2> | ||
32 | |||
33 | |||
34 | ::: notes | ||
35 | |||
36 | - If you have already used Git before, try to use the send-email approach | ||
37 | - If not, you can use the pull request method | ||
38 | |||
39 | ::: | ||
40 | |||
41 | ## Where were we? | ||
42 | |||
43 | ::: notes | ||
44 | |||
45 | - Some history of computer science | ||
46 | - Downloaded, configured and build a kernel | ||
47 | - Tried to boot a Linux system, without success | ||
48 | |||
49 | ::: | ||
50 | |||
51 | # The file system | ||
52 | |||
53 | ## Purpose | ||
54 | |||
55 | - Organize ones and zeroes into files and directories | ||
56 | - It is therefore a "format" | ||
57 | - We can ask the kernel to represent the files and directories somewhere | ||
58 | |||
59 | ::: notes | ||
60 | |||
61 | - Storage devices (HDDs, SSDs) just store ones and zeroes | ||
62 | - Representing the files is what is called "mounting" | ||
63 | |||
64 | ::: | ||
65 | |||
66 | ## Storage devices | ||
67 | |||
68 | - HDDs, SSDs, Flash Memory, everything is different | ||
69 | - We don't care about their differences | ||
70 | - Thank you device drivers | ||
71 | |||
72 | |||
73 | ## Well-known file systems | ||
74 | |||
75 | - FAT32 | ||
76 | - ext4 | ||
77 | - NTFS | ||
78 | |||
79 | ::: notes | ||
80 | |||
81 | - FAT32 works everywhere but | ||
82 | - Fragmentation | ||
83 | - no files bigger than 4 GB | ||
84 | - no advanced features (FAT is quite old) | ||
85 | - ext4 is the de facto Linux file system | ||
86 | - NTFS is the standard Windows file system | ||
87 | |||
88 | ::: | ||
89 | |||
90 | |||
91 | ## Anatomy of a file system | ||
92 | |||
93 | - Need to store the content of files | ||
94 | - Need to store metadata | ||
95 | - File names | ||
96 | - File permissions | ||
97 | - Where the content is | ||
98 | - etc. | ||
99 | |||
100 | --- | ||
101 | |||
102 | ![FAT32 format [@mdpi:fat32]](../res/fat32.jpg){ width=70% } | ||
103 | |||
104 | --- | ||
105 | |||
106 | ![FAT32 table [@wikimedia:fat32_table]](../res/Fat32_structure.png){ height=70% } | ||
107 | |||
108 | ## Partitions | ||
109 | |||
110 | - We need a way to store **several** file systems in a single hard drive | ||
111 | - This is quite similar to file systems | ||
112 | - But we store partitions instead of files | ||
113 | - We call the format a "partitioning scheme" | ||
114 | |||
115 | ::: notes | ||
116 | |||
117 | - Similar in that: | ||
118 | - This is a format | ||
119 | - We need metadata | ||
120 | - And we need space for the partitions | ||
121 | |||
122 | ::: | ||
123 | |||
124 | ## Well-known partitioning scheme | ||
125 | |||
126 | - MBR | ||
127 | - GPT | ||
128 | |||
129 | ## Anatomy of a partitioning scheme | ||
130 | |||
131 | ![GPT format [@wikimedia:gpt]](../res/GUID-Partition-Table-Scheme.png){ height=80% } | ||
132 | |||
133 | ## Block devices | ||
134 | |||
135 | - We need a way for the kernel to present us devices | ||
136 | - You can't directly present files | ||
137 | - We may not have a file system in a partition | ||
138 | - The kernel doesn't automatically where to "mount" the files | ||
139 | |||
140 | |||
141 | ::: notes | ||
142 | |||
143 | - Philosophy of "everything is a file" | ||
144 | - Look at `/dev` | ||
145 | - `/dev/sda` is the first SCSI disk | ||
146 | - `/dev/sda1` is the first partition in the first SCSI disk | ||
147 | - Theses special files behave a lot like normal files | ||
148 | |||
149 | ::: | ||
150 | |||
151 | ## Mounting | ||
152 | |||
153 | - To the terminal! | ||
154 | |||
155 | |||
156 | ::: notes | ||
157 | |||
158 | - Also talk about mount options | ||
159 | |||
160 | ::: | ||
161 | |||
162 | ## Special file system | ||
163 | |||
164 | - Common examples: `tmpfs`, `devtmpfs`, `sysfs` & `proc` | ||
165 | |||
166 | # Init | ||
167 | |||
168 | ## Purpose | ||
169 | |||
170 | - We need a process launched by the kernel | ||
171 | - A process can launch other processes | ||
172 | - So let's make it 1 | ||
173 | |||
174 | ## Busybox | ||
175 | |||
176 | |||
177 | # References | ||
diff --git a/bibliography.bib b/bibliography.bib index 1560d34..df9700c 100644 --- a/bibliography.bib +++ b/bibliography.bib | |||
@@ -59,3 +59,28 @@ | |||
59 | url = "https://www.needpix.com/photo/1276416/boots-shoe-hiking-broken-leather-footwear-obsolete-dirty-vintage", | 59 | url = "https://www.needpix.com/photo/1276416/boots-shoe-hiking-broken-leather-footwear-obsolete-dirty-vintage", |
60 | } | 60 | } |
61 | 61 | ||
62 | @article{ mdpi:fat32, | ||
63 | author = "Wan Yeon Lee, Kyong Hoon Kim, and Heejo Lee", | ||
64 | title = "Extraction of Creation-Time for Recovered Files on Windows FAT32 File System", | ||
65 | journal = "Applied Sciences", | ||
66 | year = 2019, | ||
67 | volume = 9, | ||
68 | issue = 24, | ||
69 | pages = 5522, | ||
70 | doi = "10.3390/app9245522", | ||
71 | } | ||
72 | |||
73 | @misc{ wikimedia:fat32_table, | ||
74 | title = "Fat32 structure", | ||
75 | year = "2010", | ||
76 | author = "MrDrBob", | ||
77 | url = "https://commons.wikimedia.org/wiki/File:Fat32_structure.svg", | ||
78 | } | ||
79 | |||
80 | @misc{ wikimedia:gpt, | ||
81 | title = "GUID Partition Table Scheme", | ||
82 | year = "2007", | ||
83 | author = "Kbolino", | ||
84 | url = "https://commons.wikimedia.org/wiki/File:GUID_Partition_Table_Scheme.svg", | ||
85 | } | ||
86 | |||
diff --git a/res/Fat32_structure.png b/res/Fat32_structure.png new file mode 100644 index 0000000..7da07ea --- /dev/null +++ b/res/Fat32_structure.png | |||
Binary files differ | |||
diff --git a/res/GParted_1.0_screenshot.png b/res/GParted_1.0_screenshot.png new file mode 100644 index 0000000..461701f --- /dev/null +++ b/res/GParted_1.0_screenshot.png | |||
Binary files differ | |||
diff --git a/res/GUID-Partition-Table-Scheme.png b/res/GUID-Partition-Table-Scheme.png new file mode 100644 index 0000000..9d3ef40 --- /dev/null +++ b/res/GUID-Partition-Table-Scheme.png | |||
Binary files differ | |||
diff --git a/res/fat32.jpg b/res/fat32.jpg new file mode 100644 index 0000000..0fc3277 --- /dev/null +++ b/res/fat32.jpg | |||
Binary files differ | |||