<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.haidhi.my.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Files</id>
	<title>Files - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.haidhi.my.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Files"/>
	<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=Files&amp;action=history"/>
	<updated>2026-11-01T21:44:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.haidhi.my.id/wiki/index.php?title=Files&amp;diff=846&amp;oldid=prev</id>
		<title>SanzSkuy at 06:35, 24 August 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=Files&amp;diff=846&amp;oldid=prev"/>
		<updated>2026-08-24T06:35:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:35, 24 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l67&quot;&gt;Line 67:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 67:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Abstraksi !! Menutupi !! Dibahas di&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Abstraksi !! Menutupi !! Dibahas di&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Processes&lt;/del&gt;|Process]] || Processor, main memory, I/O devices || Bab 8&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Process&lt;/ins&gt;|Process]] || Processor, main memory, I/O devices || Bab 8&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [[Virtual Memory|Virtual memory]] || Main memory dan disk I/O devices || Bab 9&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [[Virtual Memory|Virtual memory]] || Main memory dan disk I/O devices || Bab 9&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SanzSkuy</name></author>
	</entry>
	<entry>
		<id>https://wiki.haidhi.my.id/wiki/index.php?title=Files&amp;diff=845&amp;oldid=prev</id>
		<title>SanzSkuy at 06:32, 24 August 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=Files&amp;diff=845&amp;oldid=prev"/>
		<updated>2026-08-24T06:32:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:32, 24 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l88&quot;&gt;Line 88:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 88:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[OS Manages Hardware]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[OS Manages Hardware]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Processes&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Process&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Virtual Memory]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Virtual Memory]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[System Call]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[System Call]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SanzSkuy</name></author>
	</entry>
	<entry>
		<id>https://wiki.haidhi.my.id/wiki/index.php?title=Files&amp;diff=844&amp;oldid=prev</id>
		<title>SanzSkuy: Created page with &quot;== Definisi ==  &#039;&#039;&#039;File adalah urutan byte. Tidak lebih, tidak kurang.&#039;&#039;&#039;  Kalimat itu ditulis persis begitu di buku, dan penekanannya bukan sekadar gaya bahasa. Frasa &#039;&#039;&quot;tidak lebih, tidak kurang&quot;&#039;&#039; menegaskan bahwa operating system &#039;&#039;&#039;sengaja menolak tahu&#039;&#039;&#039; apa isi sebuah file:  * tidak ada tipe data * tidak ada struktur internal * tidak ada konsep record atau baris  Cuma deretan byte, dan penafsirannya sepenuhnya urusan aplikasi.  {{Catatan|title=Kenapa justru itu ke...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=Files&amp;diff=844&amp;oldid=prev"/>
		<updated>2026-08-24T06:32:40Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Definisi ==  &amp;#039;&amp;#039;&amp;#039;File adalah urutan byte. Tidak lebih, tidak kurang.&amp;#039;&amp;#039;&amp;#039;  Kalimat itu ditulis persis begitu di buku, dan penekanannya bukan sekadar gaya bahasa. Frasa &amp;#039;&amp;#039;&amp;quot;tidak lebih, tidak kurang&amp;quot;&amp;#039;&amp;#039; menegaskan bahwa operating system &amp;#039;&amp;#039;&amp;#039;sengaja menolak tahu&amp;#039;&amp;#039;&amp;#039; apa isi sebuah file:  * tidak ada tipe data * tidak ada struktur internal * tidak ada konsep record atau baris  Cuma deretan byte, dan penafsirannya sepenuhnya urusan aplikasi.  {{Catatan|title=Kenapa justru itu ke...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Definisi ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;File adalah urutan byte. Tidak lebih, tidak kurang.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kalimat itu ditulis persis begitu di buku, dan penekanannya bukan sekadar gaya bahasa. Frasa &amp;#039;&amp;#039;&amp;quot;tidak lebih, tidak kurang&amp;quot;&amp;#039;&amp;#039; menegaskan bahwa operating system &amp;#039;&amp;#039;&amp;#039;sengaja menolak tahu&amp;#039;&amp;#039;&amp;#039; apa isi sebuah file:&lt;br /&gt;
&lt;br /&gt;
* tidak ada tipe data&lt;br /&gt;
* tidak ada struktur internal&lt;br /&gt;
* tidak ada konsep record atau baris&lt;br /&gt;
&lt;br /&gt;
Cuma deretan byte, dan penafsirannya sepenuhnya urusan aplikasi.&lt;br /&gt;
&lt;br /&gt;
{{Catatan|title=Kenapa justru itu kekuatannya|Karena model file tidak mengasumsikan apa pun tentang isinya, semua jenis device bisa dimuat ke dalam model yang sama. Andai OS memaksakan struktur tertentu, keyboard dan socket jaringan tidak akan pernah muat ke dalamnya.}}&lt;br /&gt;
&lt;br /&gt;
== Semua device adalah file ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setiap I/O device dimodelkan sebagai file&amp;#039;&amp;#039;&amp;#039; — termasuk:&lt;br /&gt;
&lt;br /&gt;
* disk&lt;br /&gt;
* keyboard&lt;br /&gt;
* display&lt;br /&gt;
* bahkan &amp;#039;&amp;#039;&amp;#039;jaringan&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Konsekuensinya menyeluruh: &amp;#039;&amp;#039;&amp;#039;seluruh input dan output di sistem dilakukan dengan membaca dan menulis file&amp;#039;&amp;#039;&amp;#039;, menggunakan sekumpulan kecil system call yang dikenal sebagai &amp;#039;&amp;#039;&amp;#039;Unix I/O&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                    Aplikasi&lt;br /&gt;
                        |&lt;br /&gt;
        open / read / write / close      &amp;lt;- Unix I/O&lt;br /&gt;
                        |&lt;br /&gt;
     +---------+--------+--------+----------+&lt;br /&gt;
     |         |        |        |          |&lt;br /&gt;
   Disk    Keyboard   Display  Network    ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Perhatikan bentuk corongnya: banyak device yang bentuk fisiknya sangat berbeda, tapi semuanya masuk lewat antarmuka yang sama dan jumlah system call-nya sedikit.&lt;br /&gt;
&lt;br /&gt;
== Kenapa ini powerful ==&lt;br /&gt;
&lt;br /&gt;
Gagasan file yang &amp;#039;&amp;#039;&amp;#039;sederhana dan elegan&amp;#039;&amp;#039;&amp;#039; ini ternyata sangat kuat, karena memberi aplikasi &amp;#039;&amp;#039;&amp;#039;tampilan yang seragam atas semua I/O device&amp;#039;&amp;#039;&amp;#039; yang mungkin ada di sistem.&lt;br /&gt;
&lt;br /&gt;
Dua konsekuensi yang disebut buku:&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Programmer tidak perlu tahu teknologi device-nya.&amp;#039;&amp;#039;&amp;#039; Yang memanipulasi isi file di disk, dalam istilah buku, &amp;#039;&amp;#039;blissfully unaware&amp;#039;&amp;#039; soal teknologi disk yang dipakai. Mau NVMe, SATA, atau apa pun, kodenya sama.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Program yang sama jalan di sistem berbeda.&amp;#039;&amp;#039;&amp;#039; Program itu tetap berjalan di sistem yang memakai teknologi disk yang berbeda, tanpa perlu diubah.&lt;br /&gt;
&lt;br /&gt;
Ini contoh konkret dari tujuan kedua operating system yang dibahas di [[Operating System Mengelola Hardware]]: menyediakan mekanisme yang sederhana dan seragam untuk hardware low-level yang bentuknya beda-beda.&lt;br /&gt;
&lt;br /&gt;
Unix I/O dibahas di &amp;#039;&amp;#039;&amp;#039;Bab 10&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Catatan untuk kerja systems ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;File descriptor adalah wujud praktis abstraksi ini.&amp;#039;&amp;#039;&amp;#039; Setelah &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt;, sebuah file diwakili integer kecil. Tiga di antaranya sudah disiapkan sejak process lahir: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; stdin, &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; stdout, &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; stderr. Karena semuanya cuma integer yang menunjuk ke urutan byte, &amp;#039;&amp;#039;pipe&amp;#039;&amp;#039; dan &amp;#039;&amp;#039;redirection&amp;#039;&amp;#039; di shell jadi mungkin tanpa program perlu tahu apa-apa.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Device benar-benar muncul sebagai file di filesystem.&amp;#039;&amp;#039;&amp;#039; Lihat isi &amp;lt;code&amp;gt;/dev&amp;lt;/code&amp;gt;. Ada &amp;lt;code&amp;gt;/dev/null&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/dev/zero&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/dev/random&amp;lt;/code&amp;gt;, sampai disk mentah seperti &amp;lt;code&amp;gt;/dev/nvme0n1&amp;lt;/code&amp;gt;. Bahkan state kernel dipaparkan sebagai file lewat &amp;lt;code&amp;gt;/proc&amp;lt;/code&amp;gt; dan &amp;lt;code&amp;gt;/sys&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;/proc/[pid]/maps&amp;lt;/code&amp;gt; yang dipakai di catatan [[Virtual Memory]] adalah contohnya.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Socket adalah pengecualian sebagian.&amp;#039;&amp;#039;&amp;#039; Setelah terhubung, socket bisa dibaca dan ditulis seperti file biasa. Tapi untuk membuatnya tetap butuh system call khusus: &amp;lt;code&amp;gt;socket&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;listen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;accept&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;connect&amp;lt;/code&amp;gt;. Jadi model file tidak menutupi seluruh siklus hidupnya.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;ioctl&amp;lt;/code&amp;gt; adalah pintu darurat abstraksi ini.&amp;#039;&amp;#039;&amp;#039; Begitu ada operasi device yang tidak bisa dinyatakan sebagai baca atau tulis byte — mengatur baud rate serial, mengeluarkan tray CD, mengubah mode terminal — semuanya ditumpuk ke &amp;lt;code&amp;gt;ioctl&amp;lt;/code&amp;gt;. Keberadaan &amp;lt;code&amp;gt;ioctl&amp;lt;/code&amp;gt; adalah pengakuan jujur bahwa abstraksi file tidak sempurna.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Plan 9 mendorong ide ini sampai ujung.&amp;#039;&amp;#039;&amp;#039; Sistem operasi penerus Unix dari Bell Labs itu membuat hampir segalanya benar-benar file, termasuk antarmuka jaringan dan window grafis. Sering disebut sebagai versi &amp;quot;Unix yang konsisten sepenuhnya&amp;quot;, dan berguna sebagai pembanding untuk melihat di mana Unix sendiri berkompromi.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Keseragaman punya harga performa.&amp;#039;&amp;#039;&amp;#039; Karena semua I/O lewat jalur yang sama, tiap operasi berarti satu system call dan penyalinan data antara kernel dan user space. Di sistem berthroughput tinggi, biaya itu dikurangi lewat &amp;lt;code&amp;gt;mmap&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sendfile&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;O_DIRECT&amp;lt;/code&amp;gt;, atau &amp;lt;code&amp;gt;io_uring&amp;lt;/code&amp;gt; yang membatch banyak operasi jadi satu perjalanan ke kernel.&lt;br /&gt;
&lt;br /&gt;
{{Tip|Cara cepat merasakan abstraksi ini: jalankan &amp;lt;code&amp;gt;ls -l /proc/self/fd&amp;lt;/code&amp;gt; untuk melihat file descriptor milik process yang sedang berjalan, atau &amp;lt;code&amp;gt;strace -e trace=openat,read,write ./program&amp;lt;/code&amp;gt; untuk melihat setiap operasi Unix I/O yang benar-benar terjadi.}}&lt;br /&gt;
&lt;br /&gt;
== Ringkasan tiga abstraksi ==&lt;br /&gt;
&lt;br /&gt;
Dengan bagian ini, tiga abstraksi fundamental dari Figure 1.11 sudah lengkap:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Abstraksi !! Menutupi !! Dibahas di&lt;br /&gt;
|-&lt;br /&gt;
| [[Processes|Process]] || Processor, main memory, I/O devices || Bab 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Virtual Memory|Virtual memory]] || Main memory dan disk I/O devices || Bab 9&lt;br /&gt;
|-&lt;br /&gt;
| File || I/O devices || Bab 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Istilah kunci ==&lt;br /&gt;
&lt;br /&gt;
; File&lt;br /&gt;
: Urutan byte, tidak lebih dan tidak kurang; model OS untuk semua I/O device.&lt;br /&gt;
; Unix I/O&lt;br /&gt;
: Sekumpulan kecil system call untuk melakukan seluruh input dan output di sistem.&lt;br /&gt;
; File descriptor&lt;br /&gt;
: Integer kecil yang mewakili file terbuka di dalam sebuah process.&lt;br /&gt;
; ioctl&lt;br /&gt;
: System call serbaguna untuk operasi device yang tidak bisa dinyatakan sebagai baca atau tulis byte.&lt;br /&gt;
&lt;br /&gt;
== Lihat juga ==&lt;br /&gt;
&lt;br /&gt;
* [[OS Manages Hardware]]&lt;br /&gt;
* [[Processes]]&lt;br /&gt;
* [[Virtual Memory]]&lt;br /&gt;
* [[System Call]]&lt;/div&gt;</summary>
		<author><name>SanzSkuy</name></author>
	</entry>
</feed>