Process A
Virtual address 0x1000OS จัด mapping ให้ A เข้าถึงข้อมูลของ A
โครงสร้างระบบปฏิบัติการ
ระบบปฏิบัติการเชื่อมโปรแกรมกับทรัพยากร เข้าใจบทบาทนี้ก่อนใช้คำสั่งหรือแก้ปัญหาระบบ
แอปใน user space ใช้บริการของ ผ่านส่วนติดต่อ เช่นขออ่านไฟล์หรือส่งข้อมูล Kernel จัดการทรัพยากรและการแยกระหว่าง process ส่วน driver ทำงานกับอุปกรณ์ตามระบบที่รองรับ การแบ่งนี้ลดการให้ทุกแอปเข้าถึงทุกส่วนโดยตรง แต่ไม่ได้หมายความว่าข้อผิดพลาดของชั้นหนึ่งจะไม่กระทบชั้นอื่นเลย
เบราว์เซอร์หรือ editor ทำงานที่ผู้ใช้ต้องการ มีข้อมูลและสิทธิ์ของ process
แอปขอเปิดไฟล์หรือใช้เครือข่าย ส่งพารามิเตอร์และรับผลหรือ error
จัดเวลา CPU หน่วยความจำ สิทธิ์และ I/O ให้หลายงานใช้เครื่องร่วมกัน
เปลี่ยนคำขอเป็นการทำงานของอุปกรณ์ที่รองรับ
Virtual address 0x1000OS จัด mapping ให้ A เข้าถึงข้อมูลของ A
Virtual address 0x1000เลขเสมือนเท่ากัน ไม่จำเป็นต้องชี้ RAM ตำแหน่งเดียวกัน
เป็นภาพแนวคิด virtual memory ระบบอาจแชร์บาง mapping โดยตั้งใจได้ แต่การเห็นเลข address เท่ากันในคนละ process ไม่พิสูจน์ว่าใช้ข้อมูลก้อนเดียวกัน
กับ เป็นวิธีสั่งงาน ไม่ใช่ระดับสิทธิ์ Windows Linux macOS และ mobile มีเส้นทางบริการ แนวทางแพ็กเกจ และกฎสิทธิ์ต่างกัน Linux distribution รวม kernel กับเครื่องมือและการจัดแพ็กเกจ ส่วน ChromeOS มีแนวทางจัดการของตน อ่านคำสั่งตาม OS ที่ใช้อยู่
Kernel จัดการทรัพยากรหลัก User space เป็นพื้นที่ที่โปรแกรมทั่วไปทำงาน
Kernel จัดการทรัพยากรหลักและเชื่อมกับ driver User space เป็นส่วนโปรแกรมทั่วไปทำงาน แอปขออ่านไฟล์หรือส่งข้อมูลผ่านบริการที่ กำหนด ไม่เข้าถึงทุกพื้นที่เองได้
งานของโปรแกรมทั่วไป
ช่องทางขอบริการ OS
จัดการทรัพยากรและอุปกรณ์
แอปค้างหนึ่งตัวอาจไม่ทำให้ทั้งเครื่องหยุด แต่ error ในส่วนที่มีสิทธิ์สูงอาจกระทบกว้างกว่า แยกแอป crash จากปัญหา kernel หรือ driver ก่อนเลือกการแก้
User space มีโปรแกรมและส่วนที่ผู้ใช้โต้ตอบ Kernel จัดทรัพยากรหลัก แอปทั่วไปใช้ system calls เพื่อขอบริการ การแยกสิทธิ์ช่วยจำกัดไม่ให้โพรเซสหนึ่งแตะหน่วยความจำหรืออุปกรณ์ตามใจ
แอปหนึ่งค้างอาจไม่ทำให้ระบบทั้งหมดหยุด เพราะ OS ยังจัดการโพรเซสอื่นได้ แต่ข้อผิดพลาดในส่วนที่มีสิทธิ์สูงอาจกระทบกว้างกว่า จึงแยก app crash ออกจากปัญหา kernel และ driver
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
ระบบจัดสรรหน่วยความจำและประสานข้อมูลเข้าออกกับอุปกรณ์
ให้โพรเซสใช้หน่วยความจำตามขอบเขตและจัด input/output กับอุปกรณ์ ข้อมูลอาจถูก buffer ไว้ก่อนส่งจริง การใช้ มากจึงต้องอ่านร่วมกับงานที่กำลังรันและการจัดหน่วยความจำของระบบ
พื้นที่ที่ระบบให้โปรแกรมใช้
รับส่งข้อมูลกับอุปกรณ์
พักหรือใช้ข้อมูลซ้ำเพื่อลดการรอ
แอปช้าเพราะรอดิสก์ไม่เหมือน คำนวณไม่ทัน ดู CPU และ I/O ก่อนสรุปการเพิ่มทรัพยากร และการเขียนเสร็จในแอปอาจต้องมีขั้นยืนยันลง storage ตามกลไกที่ใช้
แอปอาจเขียนเข้า buffer ของตัวเองหรือของ ก่อนข้อมูลถูกส่งไป storage การเห็นข้อความบันทึกสำเร็จจึงต้องอ่านสัญญาของแอปและระบบว่าได้รับข้อมูลหรือทำให้คงอยู่แล้ว การยืนยัน persistence ต้องมีวิธีที่ระบบรองรับ ไม่ใช้เวลารอสักพักเป็นหลักฐานแทน
I/O รวมทั้งไฟล์ อุปกรณ์และเครือข่าย Process ที่รอ I/O อาจใช้ ต่ำแต่ตอบช้า การดู CPU อย่างเดียวจึงไม่บอกว่าเครื่องไม่มีคอขวด และการ force stop อาจทำให้ข้อมูลใน buffer ที่ยังไม่ถึงจุดคงอยู่หาย
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
GUI ใช้หน้าต่างและปุ่ม CLI ใช้คำสั่ง ทั้งสองอาจทำงานเดียวกันผ่านส่วนติดต่อคนละแบบ
ใช้หน้าต่างและปุ่ม ใช้ข้อความคำสั่งเพื่อขอบริการจากระบบ งานเดียวกันอาจทำได้สองแบบ ความต่างอยู่ที่วิธีระบุ input แสดงผล และนำขั้นตอนไปทำซ้ำ
เลือกงานผ่านส่วนติดต่อกราฟิก
ระบุคำสั่งพร้อมค่าที่ต้องใช้
การทำงานเบื้องหลังที่อาจใช้ร่วมกัน
สร้างโฟลเดอร์ด้วยเมนูกับ mkdir มีเป้าหมายเดียวกัน เหมาะกับการทำหลายรายการ แต่ต้องรู้พาธและค่าที่ส่ง ไม่พิมพ์คำสั่งยาวโดยยังไม่รู้ว่าจะเปลี่ยนอะไร
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
ระบบแต่ละตระกูลมีแนวคิดร่วมกัน แต่ต่างด้านเครื่องมือ ระบบไฟล์ และรูปแบบติดตั้ง
ระบบแต่ละตระกูลจัดการไฟล์ โพรเซส สิทธิ์ และอุปกรณ์ แต่เครื่องมือ รูปแบบติดตั้ง และแอปที่รองรับต่างกัน Mobile เพิ่มรูปแบบ sandbox และการแจกแอปตามแพลตฟอร์ม
ไฟล์ โพรเซส หน่วยความจำ และสิทธิ์
วิธีจัดการที่ต่างตามระบบ
แอปและอุปกรณ์ที่ระบบรองรับ
ไฟล์งานเดียวกันอาจเปิดข้ามระบบได้ถ้ารูปแบบและแอปรองรับ แต่ installer ของ Windows ไม่ใช่ package ของ Linux โดยตรง แยกข้อมูลที่ต้องย้ายจากโปรแกรมที่ต้องติดตั้งใหม่
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
Ubuntu เป็น Linux distribution Kali เน้นเครื่องมือความปลอดภัย Chrome OS มีแนวทางใช้งานต่างออกไป
Distribution จัด kernel เครื่องมือ packages และค่าตั้งให้ใช้งานเป็นชุด Ubuntu เป็น Linux distribution สำหรับงานทั่วไป Kali รวมเครื่องมือความปลอดภัย Chrome มีสภาพแวดล้อมและการจัดการตามแพลตฟอร์มของตน
แกนที่ชุด Linux ใช้
แพ็กเกจและการตั้งค่าเป็นชุด
งานที่ชุดนั้นออกแบบให้สะดวก
เลือกจากแอป งาน การสนับสนุน และผู้ดูแล ไม่เลือก Kali เพียงเพราะจะเข้าสาย Cyber เพราะความรู้พื้นฐาน Linux ยังต้องเรียนเหมือนกัน
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
การกดสร้างโฟลเดอร์กับคำสั่ง mkdir มีเป้าหมายเดียวกัน แม้หน้าตาการใช้งานต่างกัน
ระบบปฏิบัติการเชื่อมโปรแกรมกับทรัพยากร เข้าใจบทบาทนี้ก่อนใช้คำสั่งหรือแก้ปัญหาระบบ
ใช้ภาพกับตัวอย่างด้านบนเชื่อมหน้าที่ของแต่ละส่วน แล้วตรวจความเข้าใจด้วยการอธิบายเหตุผลของผลที่เห็น ก่อนเปิดบทถัดไป
transcript ที่เคยใช้ตรวจแนวคิดพื้นฐานและตัวอย่างบางส่วน: T0336 · 1.Technical Support Fundamentals คำอธิบายเป็นการเขียนใหม่ ไม่ใช่การแปลครบทุกประโยค ภาพและตัวอย่างเป็นการเรียบเรียงเพื่อเชื่อมความเข้าใจ
คำอธิบายหน้านี้เขียนใหม่ตามหัวข้อใน Atlas รายการด้านล่างเป็นชื่อ Video/Reading ที่เคยจับคู่ไว้ แสดงไว้ให้ตรวจที่มาของชื่อหัวข้อ และไม่รับรองว่าคอร์สสอนทุกส่วนของคำอธิบายนี้