Learning AtlasIT Support → Cybersecurity
คลังบทอ่าน03.1 / ระบบปฏิบัติการบทถัดไป
สารบัญบทอ่าน / Operating Systems / 03.1
01 · เริ่มจากเครื่องและระบบ · บท 03.1

OS Architecture

โครงสร้างระบบปฏิบัติการ

ระบบปฏิบัติการเชื่อมโปรแกรมกับทรัพยากร เข้าใจบทบาทนี้ก่อนใช้คำสั่งหรือแก้ปัญหาระบบ

5 หัวข้อคำอธิบายในหน้านี้ภาพอธิบายและกลไกทีละส่วน
หัวข้อในบทนี้
ศัพท์ในบทนี้ · กดคำที่ขีดเส้นใต้ในเนื้อหาเพื่อดูความหมายได้ด้วย
CPU
หน่วยประมวลผลที่ทำตามคำสั่งของโปรแกรม
RAM
หน่วยความจำหลักเก็บข้อมูลที่กำลังใช้ โดยทั่วไปข้อมูลหายเมื่อไม่มีไฟ
OS
ระบบปฏิบัติการ จัดการทรัพยากรและให้บริการกับโปรแกรม
CLI
การสั่งงานผ่านข้อความใน command-line interface
GUI
การใช้งานผ่านหน้าจอปุ่มหรือองค์ประกอบกราฟิก
จากหลักการไปถึงกลไก

แอปขอใช้ทรัพยากรผ่านระบบปฏิบัติการ

แอปใน user space ใช้บริการของ ผ่านส่วนติดต่อ เช่นขออ่านไฟล์หรือส่งข้อมูล Kernel จัดการทรัพยากรและการแยกระหว่าง process ส่วน driver ทำงานกับอุปกรณ์ตามระบบที่รองรับ การแบ่งนี้ลดการให้ทุกแอปเข้าถึงทุกส่วนโดยตรง แต่ไม่ได้หมายความว่าข้อผิดพลาดของชั้นหนึ่งจะไม่กระทบชั้นอื่นเลย

ชั้นหน้าที่ · อ่านร่วมกับคำอธิบายแต่ละส่วนแอปขอใช้ทรัพยากรผ่านระบบปฏิบัติการ
  1. Application

    เบราว์เซอร์หรือ editor ทำงานที่ผู้ใช้ต้องการ มีข้อมูลและสิทธิ์ของ process

  2. System call / API

    แอปขอเปิดไฟล์หรือใช้เครือข่าย ส่งพารามิเตอร์และรับผลหรือ error

  3. Kernel

    จัดเวลา CPU หน่วยความจำ สิทธิ์และ I/O ให้หลายงานใช้เครื่องร่วมกัน

  4. Driver + hardware

    เปลี่ยนคำขอเป็นการทำงานของอุปกรณ์ที่รองรับ

สอง process เห็นที่อยู่เสมือนเหมือนกันได้

Process A

Virtual address 0x1000
Page A

OS จัด mapping ให้ A เข้าถึงข้อมูลของ A

Process B

Virtual address 0x1000
Page B

เลขเสมือนเท่ากัน ไม่จำเป็นต้องชี้ RAM ตำแหน่งเดียวกัน

เป็นภาพแนวคิด virtual memory ระบบอาจแชร์บาง mapping โดยตั้งใจได้ แต่การเห็นเลข address เท่ากันในคนละ process ไม่พิสูจน์ว่าใช้ข้อมูลก้อนเดียวกัน

กับ เป็นวิธีสั่งงาน ไม่ใช่ระดับสิทธิ์ Windows Linux macOS และ mobile มีเส้นทางบริการ แนวทางแพ็กเกจ และกฎสิทธิ์ต่างกัน Linux distribution รวม kernel กับเครื่องมือและการจัดแพ็กเกจ ส่วน ChromeOS มีแนวทางจัดการของตน อ่านคำสั่งตาม OS ที่ใช้อยู่

01 / 05

เคอร์เนลและพื้นที่ผู้ใช้Kernel and User Space · 03.1.1

Kernel จัดการทรัพยากรหลัก User space เป็นพื้นที่ที่โปรแกรมทั่วไปทำงาน

Kernel จัดการทรัพยากรหลักและเชื่อมกับ driver User space เป็นส่วนโปรแกรมทั่วไปทำงาน แอปขออ่านไฟล์หรือส่งข้อมูลผ่านบริการที่ กำหนด ไม่เข้าถึงทุกพื้นที่เองได้

อ่านภาพตามลำดับการทำงาน
01User process

งานของโปรแกรมทั่วไป

02System call

ช่องทางขอบริการ OS

03Kernel / driver

จัดการทรัพยากรและอุปกรณ์

แอปค้างหนึ่งตัวอาจไม่ทำให้ทั้งเครื่องหยุด แต่ error ในส่วนที่มีสิทธิ์สูงอาจกระทบกว้างกว่า แยกแอป crash จากปัญหา kernel หรือ driver ก่อนเลือกการแก้

User space มีโปรแกรมและส่วนที่ผู้ใช้โต้ตอบ Kernel จัดทรัพยากรหลัก แอปทั่วไปใช้ system calls เพื่อขอบริการ การแยกสิทธิ์ช่วยจำกัดไม่ให้โพรเซสหนึ่งแตะหน่วยความจำหรืออุปกรณ์ตามใจ

แอปหนึ่งค้างอาจไม่ทำให้ระบบทั้งหมดหยุด เพราะ OS ยังจัดการโพรเซสอื่นได้ แต่ข้อผิดพลาดในส่วนที่มีสิทธิ์สูงอาจกระทบกว้างกว่า จึงแยก app crash ออกจากปัญหา kernel และ driver

ที่มาของหัวข้อนี้ · 2 รายการ

คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส

02 / 05

หน่วยความจำและอินพุตเอาต์พุตMemory and I/O · 03.1.2

ระบบจัดสรรหน่วยความจำและประสานข้อมูลเข้าออกกับอุปกรณ์

ให้โพรเซสใช้หน่วยความจำตามขอบเขตและจัด input/output กับอุปกรณ์ ข้อมูลอาจถูก buffer ไว้ก่อนส่งจริง การใช้ มากจึงต้องอ่านร่วมกับงานที่กำลังรันและการจัดหน่วยความจำของระบบ

เทียบหน้าที่เพื่อไม่สับสน
•Memory allocation

พื้นที่ที่ระบบให้โปรแกรมใช้

•I/O

รับส่งข้อมูลกับอุปกรณ์

•Buffer / cache

พักหรือใช้ข้อมูลซ้ำเพื่อลดการรอ

แอปช้าเพราะรอดิสก์ไม่เหมือน คำนวณไม่ทัน ดู CPU และ I/O ก่อนสรุปการเพิ่มทรัพยากร และการเขียนเสร็จในแอปอาจต้องมีขั้นยืนยันลง storage ตามกลไกที่ใช้

Buffering and Persistence (รับเขียนแล้ว กับเก็บถาวรแล้ว)

แอปอาจเขียนเข้า buffer ของตัวเองหรือของ ก่อนข้อมูลถูกส่งไป storage การเห็นข้อความบันทึกสำเร็จจึงต้องอ่านสัญญาของแอปและระบบว่าได้รับข้อมูลหรือทำให้คงอยู่แล้ว การยืนยัน persistence ต้องมีวิธีที่ระบบรองรับ ไม่ใช้เวลารอสักพักเป็นหลักฐานแทน

I/O รวมทั้งไฟล์ อุปกรณ์และเครือข่าย Process ที่รอ I/O อาจใช้ ต่ำแต่ตอบช้า การดู CPU อย่างเดียวจึงไม่บอกว่าเครื่องไม่มีคอขวด และการ force stop อาจทำให้ข้อมูลใน buffer ที่ยังไม่ถึงจุดคงอยู่หาย

ที่มาของหัวข้อนี้ · 2 รายการ

คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส

03 / 05

หน้าจอกราฟิกและบรรทัดคำสั่งGUI and CLI · 03.1.3

GUI ใช้หน้าต่างและปุ่ม CLI ใช้คำสั่ง ทั้งสองอาจทำงานเดียวกันผ่านส่วนติดต่อคนละแบบ

ใช้หน้าต่างและปุ่ม ใช้ข้อความคำสั่งเพื่อขอบริการจากระบบ งานเดียวกันอาจทำได้สองแบบ ความต่างอยู่ที่วิธีระบุ input แสดงผล และนำขั้นตอนไปทำซ้ำ

เทียบหน้าที่เพื่อไม่สับสน
•GUI

เลือกงานผ่านส่วนติดต่อกราฟิก

•CLI

ระบุคำสั่งพร้อมค่าที่ต้องใช้

•Common OS service

การทำงานเบื้องหลังที่อาจใช้ร่วมกัน

สร้างโฟลเดอร์ด้วยเมนูกับ mkdir มีเป้าหมายเดียวกัน เหมาะกับการทำหลายรายการ แต่ต้องรู้พาธและค่าที่ส่ง ไม่พิมพ์คำสั่งยาวโดยยังไม่รู้ว่าจะเปลี่ยนอะไร

ที่มาของหัวข้อนี้ · 1 รายการ

คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส

  • Tools of the Trade: Linux and SQL · Module 1: Introduction to operating systemsVideo: GUI versus CLICY4.M1.V7
04 / 05

ระบบเดสก์ท็อปและมือถือWindows, Linux, macOS and Mobile OS · 03.1.4

ระบบแต่ละตระกูลมีแนวคิดร่วมกัน แต่ต่างด้านเครื่องมือ ระบบไฟล์ และรูปแบบติดตั้ง

ระบบแต่ละตระกูลจัดการไฟล์ โพรเซส สิทธิ์ และอุปกรณ์ แต่เครื่องมือ รูปแบบติดตั้ง และแอปที่รองรับต่างกัน Mobile เพิ่มรูปแบบ sandbox และการแจกแอปตามแพลตฟอร์ม

เทียบหน้าที่เพื่อไม่สับสน
•Shared concepts

ไฟล์ โพรเซส หน่วยความจำ และสิทธิ์

•Platform tools

วิธีจัดการที่ต่างตามระบบ

•Compatibility

แอปและอุปกรณ์ที่ระบบรองรับ

ไฟล์งานเดียวกันอาจเปิดข้ามระบบได้ถ้ารูปแบบและแอปรองรับ แต่ installer ของ Windows ไม่ใช่ package ของ Linux โดยตรง แยกข้อมูลที่ต้องย้ายจากโปรแกรมที่ต้องติดตั้งใหม่

ที่มาของหัวข้อนี้ · 4 รายการ

คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส

05 / 05

โครมโอเอส อูบุนตู และคาลีลินุกซ์Chrome OS, Ubuntu and Kali Linux · 03.1.5

Ubuntu เป็น Linux distribution Kali เน้นเครื่องมือความปลอดภัย Chrome OS มีแนวทางใช้งานต่างออกไป

Distribution จัด kernel เครื่องมือ packages และค่าตั้งให้ใช้งานเป็นชุด Ubuntu เป็น Linux distribution สำหรับงานทั่วไป Kali รวมเครื่องมือความปลอดภัย Chrome มีสภาพแวดล้อมและการจัดการตามแพลตฟอร์มของตน

เทียบหน้าที่เพื่อไม่สับสน
•Kernel

แกนที่ชุด Linux ใช้

•Distribution

แพ็กเกจและการตั้งค่าเป็นชุด

•Use case

งานที่ชุดนั้นออกแบบให้สะดวก

เลือกจากแอป งาน การสนับสนุน และผู้ดูแล ไม่เลือก Kali เพียงเพราะจะเข้าสาย Cyber เพราะความรู้พื้นฐาน Linux ยังต้องเรียนเหมือนกัน

ที่มาของหัวข้อนี้ · 3 รายการ

คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส

เชื่อมความเข้าใจ

นำศัพท์มาเชื่อมกับงาน

ตัวอย่างให้เห็นภาพ

การกดสร้างโฟลเดอร์กับคำสั่ง mkdir มีเป้าหมายเดียวกัน แม้หน้าตาการใช้งานต่างกัน

สิ่งที่บทนี้เชื่อมไว้

ระบบปฏิบัติการเชื่อมโปรแกรมกับทรัพยากร เข้าใจบทบาทนี้ก่อนใช้คำสั่งหรือแก้ปัญหาระบบ

ใช้ภาพกับตัวอย่างด้านบนเชื่อมหน้าที่ของแต่ละส่วน แล้วตรวจความเข้าใจด้วยการอธิบายเหตุผลของผลที่เห็น ก่อนเปิดบทถัดไป

บันทึกในเบราว์เซอร์นี้
บทเรียนที่เกี่ยวข้องและที่มาของบทอ่าน

transcript ที่เคยใช้ตรวจแนวคิดพื้นฐานและตัวอย่างบางส่วน: T0336 · 1.Technical Support Fundamentals คำอธิบายเป็นการเขียนใหม่ ไม่ใช่การแปลครบทุกประโยค ภาพและตัวอย่างเป็นการเรียบเรียงเพื่อเชื่อมความเข้าใจ

คำอธิบายหน้านี้เขียนใหม่ตามหัวข้อใน Atlas รายการด้านล่างเป็นชื่อ Video/Reading ที่เคยจับคู่ไว้ แสดงไว้ให้ตรวจที่มาของชื่อหัวข้อ และไม่รับรองว่าคอร์สสอนทุกส่วนของคำอธิบายนี้