ระบบปฏิบัติการ

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

ระบบปฏิบัติการ ( OS ) เป็นซอฟต์แวร์ระบบที่จัดการคอมพิวเตอร์ฮาร์ดแวร์ , ซอฟต์แวร์ทรัพยากรและให้ร่วมกันให้บริการสำหรับโปรแกรมคอมพิวเตอร์

เวลาร่วมกันระบบปฏิบัติการกำหนดการงานสำหรับการใช้งานที่มีประสิทธิภาพของระบบและยังอาจรวมถึงซอฟต์แวร์บัญชีสำหรับการจัดสรรค่าใช้จ่ายของเวลาประมวลผล , การเก็บรักษามวล , การพิมพ์และทรัพยากรอื่น ๆ

สำหรับฟังก์ชันฮาร์ดแวร์ เช่นอินพุตและเอาต์พุตและการจัดสรรหน่วยความจำระบบปฏิบัติการทำหน้าที่เป็นตัวกลางระหว่างโปรแกรมและฮาร์ดแวร์ของคอมพิวเตอร์[1] [2]แม้ว่าโดยปกติแล้วโค้ดของแอปพลิเคชันจะถูกเรียกใช้โดยฮาร์ดแวร์โดยตรงและมักเรียกระบบไปยัง OS ทำงานหรือถูกขัดจังหวะโดยมัน ระบบปฏิบัติการที่พบในอุปกรณ์หลายชนิดที่มีคอมพิวเตอร์ - จากโทรศัพท์มือถือและเครื่องเล่นวิดีโอเกมเว็บเซิร์ฟเวอร์และซูเปอร์คอมพิวเตอร์

ระบบปฏิบัติการเดสก์ท็อปอเนกประสงค์ที่โดดเด่น[3]คือMicrosoft Windowsโดยมีส่วนแบ่งตลาดประมาณ 76.45% macOSโดยApple Inc.อยู่ในอันดับที่สอง (17.72%) และLinux ที่หลากหลายอยู่ในอันดับที่สาม (1.73%) [4]ในภาคอุปกรณ์พกพา (รวมถึงสมาร์ทโฟนและแท็บเล็ต ) ส่วนแบ่งของ Androidสูงถึง 72% ในปี 2020 [5]จากข้อมูลไตรมาสที่สามปี 2559 ส่วนแบ่งของ Android บนสมาร์ทโฟนมีความโดดเด่นที่ 87.5% โดยมีอัตราการเติบโตเช่นกัน ร้อยละ 10.3 ต่อปี รองลงมาคือiOS .ของ Appleโดยมีส่วนแบ่งตลาดลดลงร้อยละ 12.1 ต่อปีที่ร้อยละ 5.2 ในขณะที่ระบบปฏิบัติการอื่น ๆ มีจำนวนเพียงร้อยละ 0.3 [6] ลีนุกซ์ดิสทริบิวชั่นมีความโดดเด่นในเซิร์ฟเวอร์และเซกเตอร์ซูเปอร์คอมพิวติ้ง คลาสพิเศษอื่นๆ ของระบบปฏิบัติการ (ระบบปฏิบัติการสำหรับวัตถุประสงค์พิเศษ), [3] [7]เช่นระบบฝังตัวและเรียลไทม์ มีอยู่สำหรับการใช้งานจำนวนมากระบบปฏิบัติการที่เน้นการรักษาความปลอดภัยก็มีอยู่เช่นกัน ระบบปฏิบัติการบางระบบมีความต้องการของระบบต่ำ (เช่นการกระจาย Linux น้ำหนักเบา ) อื่นๆ อาจมีข้อกำหนดของระบบที่สูงกว่า

ระบบปฏิบัติการบางระบบต้องมีการติดตั้งหรืออาจติดตั้งมาพร้อมกับคอมพิวเตอร์ที่ซื้อมา (การติดตั้งแบบOEM ) ในขณะที่บางระบบปฏิบัติการอาจเรียกใช้โดยตรงจากสื่อ (เช่นซีดีสด ) หรือหน่วยความจำแฟลช (เช่น แท่ง USB)

ประเภทของระบบปฏิบัติการ

งานเดียวและหลายงาน

ระบบงานเดียวสามารถเรียกใช้โปรแกรมได้ครั้งละหนึ่งโปรแกรมเท่านั้น ในขณะที่ระบบปฏิบัติการแบบมัลติทาสกิ้งช่วยให้โปรแกรมทำงานพร้อมกันได้มากกว่าหนึ่งโปรแกรมสิ่งนี้ทำได้โดยการแบ่งเวลาโดยที่เวลาของตัวประมวลผลที่ใช้ได้จะถูกแบ่งระหว่างหลายกระบวนการ กระบวนการเหล่านี้แต่ละอย่างถูกขัดจังหวะซ้ำแล้วซ้ำอีกในการแบ่งเวลาโดยระบบย่อยการจัดกำหนดการงานของระบบปฏิบัติการ การทำงานหลายอย่างพร้อมกันอาจมีลักษณะเฉพาะในประเภทยึดเอาเสียก่อนและแบบร่วมมือ ในการทำงานมัลติทาสกิ้งแบบยึดเอาเสียก่อนระบบปฏิบัติการจะแบ่งเวลาของCPUและจัดสรรสล็อตให้กับแต่ละโปรแกรมระบบปฏิบัติการที่คล้ายกับยูนิกซ์เช่นSolarisและLinux — เช่นเดียวกับที่ไม่ใช่ Unix เช่นAmigaOS —รองรับการทำงานหลายอย่างพร้อมกัน การทำมัลติทาสกิ้งแบบร่วมมือทำได้โดยอาศัยแต่ละกระบวนการเพื่อให้เวลาแก่กระบวนการอื่นในลักษณะที่กำหนดไว้ Microsoft Windows รุ่น16 บิตใช้มัลติทาสกิ้งแบบร่วมมือกัน ทั้ง Windows NT และ Win9x รุ่น32 บิตใช้มัลติทาสกิ้งแบบยึดเอาเสียก่อน

ผู้ใช้คนเดียวและหลายคน

ระบบปฏิบัติการแบบผู้ใช้คนเดียวไม่มีสิ่งอำนวยความสะดวกในการแยกแยะผู้ใช้ แต่อาจอนุญาตให้หลายโปรแกรมทำงานควบคู่กัน [8]ผู้ใช้หลายระบบปฏิบัติการขยายแนวคิดพื้นฐานของแบบมัลติทาสกิ้กับสิ่งอำนวยความสะดวกที่สามารถระบุกระบวนการและทรัพยากรเช่นพื้นที่ดิสก์ที่อยู่ผู้ใช้หลายคนและระบบจะอนุญาตให้ผู้ใช้หลายคนในการโต้ตอบกับระบบในเวลาเดียวกัน . ระบบปฏิบัติการแบบแบ่งเวลาจะจัดกำหนดการงานเพื่อการใช้งานระบบอย่างมีประสิทธิภาพ และอาจรวมถึงซอฟต์แวร์การบัญชีสำหรับการจัดสรรเวลาของตัวประมวลผล พื้นที่เก็บข้อมูลขนาดใหญ่ การพิมพ์ และทรัพยากรอื่นๆ ให้กับผู้ใช้หลายราย

จำหน่าย

ระบบปฏิบัติการกระจายการบริหารจัดการกลุ่มที่แตกต่างกันเป็นเครือข่ายคอมพิวเตอร์และทำให้พวกเขาดูเหมือนจะเป็นคอมพิวเตอร์เครื่องเดียวเช่นการคำนวณทั้งหมดจะถูกกระจาย (แบ่งระหว่างคอมพิวเตอร์ส่วนประกอบ) [9]

แม่แบบ

ในบริบทแบบกระจายและการประมวลผลแบบคลาวด์ของ OS การทำเทมเพลตหมายถึงการสร้างอิมเมจเครื่องเสมือนเดียวเป็นระบบปฏิบัติการของแขก จากนั้นบันทึกเป็นเครื่องมือสำหรับเครื่องเสมือนที่ทำงานอยู่หลายเครื่อง เทคนิคนี้ใช้ทั้งในการจัดการเวอร์ชวลไลเซชันและคลาวด์คอมพิวติ้ง และเป็นเรื่องปกติในโกดังเซิร์ฟเวอร์ขนาดใหญ่ [10]

ฝังตัว

ฝังตัวระบบปฏิบัติการถูกออกแบบมาให้ใช้ในระบบคอมพิวเตอร์ฝังตัว ออกแบบมาเพื่อใช้งานกับเครื่องจักรขนาดเล็กที่มีความเป็นอิสระน้อยกว่า (เช่น PDA) มีขนาดกะทัดรัดและมีประสิทธิภาพอย่างมากจากการออกแบบ และสามารถดำเนินการได้ด้วยทรัพยากรที่จำกัด Windows CEและMinix 3เป็นตัวอย่างของระบบปฏิบัติการฝังตัว

เรียลไทม์

ระบบปฏิบัติการแบบ real-timeเป็นระบบปฏิบัติการที่ค้ำประกันกับกระบวนการเหตุการณ์หรือข้อมูลโดยช่วงเวลาที่เฉพาะเจาะจงในเวลา ระบบปฏิบัติการแบบเรียลไทม์อาจเป็นแบบเดี่ยวหรือแบบมัลติทาสกิ้ง แต่เมื่อทำหลายอย่างพร้อมกัน ระบบปฏิบัติการจะใช้อัลกอริธึมการจัดกำหนดการเฉพาะเพื่อให้บรรลุถึงลักษณะการทำงานที่กำหนดขึ้นเอง ระบบดังกล่าวเหตุการณ์ที่ขับเคลื่อนด้วยสวิทช์ระหว่างงานขึ้นอยู่กับการจัดลำดับความสำคัญหรือเหตุการณ์ภายนอกของพวกเขาในขณะที่เวลาใช้งานร่วมกันระบบปฏิบัติการสลับงานบนพื้นฐานของนาฬิกาขัดจังหวะ

ห้องสมุด

ระบบปฏิบัติการไลบรารีเป็นบริการที่ระบบปฏิบัติการทั่วไปมีให้ เช่น ระบบเครือข่าย ถูกจัดเตรียมในรูปแบบของไลบรารีและประกอบด้วยแอปพลิเคชันและรหัสการกำหนดค่าเพื่อสร้างunikernel : พื้นที่ที่อยู่เดียวเฉพาะอิมเมจเครื่อง ที่สามารถปรับใช้กับระบบคลาวด์หรือสภาพแวดล้อมแบบฝังตัวได้

ประวัติศาสตร์

คอมพิวเตอร์ยุคแรกๆ ถูกสร้างขึ้นเพื่อทำงานชิ้นเดียว เช่น เครื่องคิดเลข ฟีเจอร์ของระบบปฏิบัติการพื้นฐานได้รับการพัฒนาในปี 1950 เช่นฟังก์ชันมอนิเตอร์ประจำที่ซึ่งสามารถเรียกใช้โปรแกรมต่างๆ โดยอัตโนมัติตามลำดับเพื่อเพิ่มความเร็วในการประมวลผล ระบบปฏิบัติการไม่มีอยู่ในรูปแบบที่ทันสมัยและซับซ้อนมากขึ้นจนถึงต้นทศวรรษ 1960 [11] คุณลักษณะของอุปกรณ์เสริมที่ทำให้การใช้งานของห้องสมุดรันไทม์ , ขัดจังหวะและประมวลผลแบบขนานเมื่อคอมพิวเตอร์ส่วนบุคคลได้รับความนิยมในทศวรรษ 1980 ระบบปฏิบัติการถูกสร้างขึ้นสำหรับพวกเขาโดยมีแนวคิดคล้ายกับที่ใช้ในคอมพิวเตอร์ขนาดใหญ่

ในทศวรรษที่ 1940 ระบบดิจิตอลอิเล็กทรอนิกส์แบบแรกสุดไม่มีระบบปฏิบัติการ ระบบอิเล็กทรอนิกส์ในเวลานี้มีโปรแกรมในแถวของสวิทช์กลหรือโดยสายจัมเปอร์บนplugboardsระบบเหล่านี้เป็นระบบวัตถุประสงค์พิเศษ เช่น สร้างตารางขีปนาวุธสำหรับกองทัพหรือควบคุมการพิมพ์เช็คเงินเดือนจากข้อมูลบนบัตรกระดาษที่เจาะ หลังจากคิดค้นคอมพิวเตอร์เอนกประสงค์ที่ตั้งโปรแกรมได้ภาษาเครื่อง (ประกอบด้วยสตริงของเลขฐานสอง 0 และ 1 บนเทปกระดาษที่เจาะรู) ได้ถูกนำมาใช้ซึ่งเร่งกระบวนการเขียนโปรแกรม (Stern, 1981) [ ต้องการการอ้างอิงแบบเต็ม ]

OS / 360ถูกนำมาใช้ในส่วนคอมพิวเตอร์เมนเฟรมของไอบีเอ็มเริ่มต้นในปี 1966 รวมทั้งเครื่องคอมพิวเตอร์ที่ใช้โดยโปรแกรมอพอลโล

ในช่วงต้นทศวรรษ 1950 คอมพิวเตอร์สามารถรันโปรแกรมได้ครั้งละหนึ่งโปรแกรมเท่านั้น ผู้ใช้แต่ละคนมีการใช้ประโยชน์เพียงอย่างเดียวของคอมพิวเตอร์สำหรับระยะเวลาที่ จำกัด และจะมาถึงในเวลาที่กำหนดไว้กับโปรแกรมและข้อมูลของพวกเขาในบัตรกระดาษเจาะหรือเทปเจาะโปรแกรมจะถูกโหลดลงเครื่องและเครื่องที่จะได้รับการตั้งค่าให้ทำงานจนกว่าโปรแกรมเสร็จหรือล้มเหลวโดยทั่วไปโปรแกรมสามารถแก้ไขข้อบกพร่องผ่านแผงด้านหน้าได้โดยใช้สวิตช์สลับและไฟที่แผง ว่ากันว่าAlan Turingเป็นผู้เชี่ยวชาญเรื่องนี้ในเครื่องจักรManchester Mark 1 รุ่นแรกๆ และเขาได้รับแนวคิดดั้งเดิมของระบบปฏิบัติการจากหลักการของเครื่อง Turing สากลแล้ว(11)

เครื่องต่อมามาพร้อมกับไลบรารีของโปรแกรม ซึ่งจะเชื่อมโยงกับโปรแกรมของผู้ใช้เพื่อช่วยในการดำเนินการ เช่น อินพุตและเอาต์พุต และการคอมไพล์ (การสร้างรหัสเครื่องจากรหัสสัญลักษณ์ที่มนุษย์อ่านได้) นี่คือที่มาของระบบปฏิบัติการสมัยใหม่ อย่างไรก็ตาม เครื่องจักรยังคงทำงานทีละงาน ที่มหาวิทยาลัยเคมบริดจ์ในอังกฤษ ครั้งหนึ่งคิวงานอยู่ที่ราวตากผ้า (ราวตากผ้า) ซึ่งติดเทปด้วยหมุดเสื้อผ้าสีต่างๆ เพื่อระบุลำดับความสำคัญของงาน[ ต้องการการอ้างอิง ]

การปรับปรุงเป็นAtlas หัวหน้างาน นำมาใช้กับ Manchester Atlasในปีพ. ศ. 2505 หลาย ๆ คนถือเป็นระบบปฏิบัติการสมัยใหม่ที่เป็นที่รู้จักเป็นครั้งแรก [12] บ รินช์ แฮนเซนอธิบายว่ามันเป็น "ความก้าวหน้าครั้งสำคัญที่สุดในประวัติศาสตร์ของระบบปฏิบัติการ" [13]

เมนเฟรม

ผ่านปี 1950 คุณสมบัติที่สำคัญหลายคนเป็นผู้บุกเบิกในด้านของระบบปฏิบัติการบนคอมพิวเตอร์เมนเฟรมรวมทั้งการประมวลผลชุด , อินพุต / เอาต์พุตขัดจังหวะ , บัฟเฟอร์ , มัลติทาสกิ้ง , spooling , ห้องสมุดรันไทม์ , การเชื่อมโยงในการโหลดและโปรแกรมสำหรับการเรียงลำดับระเบียนในแฟ้ม ฟีเจอร์เหล่านี้รวมหรือไม่รวมอยู่ในแอพพลิเคชั่นซอฟต์แวร์ตามตัวเลือกของโปรแกรมเมอร์แอพพลิเคชั่น มากกว่าที่จะรวมอยู่ในระบบปฏิบัติการแยกต่างหากที่ใช้โดยแอพพลิเคชั่นทั้งหมด ในปี 1959 ระบบปฏิบัติการ SHAREได้เปิดตัวในฐานะยูทิลิตี้รวมสำหรับIBM 704และต่อมาในเมนเฟรม709และ7090แม้ว่าIBSYS /IBJOB จะถูกแทนที่อย่างรวดเร็วใน 709, 7090 และ 7094

ในช่วงทศวรรษที่ 1960 OS/360ของ IBM ได้นำเสนอแนวคิดของระบบปฏิบัติการเดียวที่ครอบคลุมสายผลิตภัณฑ์ทั้งหมด ซึ่งมีความสำคัญต่อความสำเร็จของเครื่อง System/360 ของไอบีเอ็มในปัจจุบันระบบปฏิบัติการเมนเฟรมมีลูกหลานที่ห่างไกลของระบบเดิมนี้และเครื่องจักรที่ทันสมัยอยู่ข้างหลังที่เข้ากันได้กับการใช้งานที่เขียนขึ้นสำหรับ OS / 360 [ ต้องการการอ้างอิง ]

OS/360 ยังเป็นผู้บุกเบิกแนวคิดที่ว่าระบบปฏิบัติการติดตามทรัพยากรระบบทั้งหมดที่ใช้ รวมถึงการจัดสรรโปรแกรมและพื้นที่ข้อมูลในหน่วยความจำหลักและพื้นที่ไฟล์ในที่เก็บข้อมูลสำรอง และการล็อกไฟล์ระหว่างการอัปเดต เมื่อกระบวนการยุติลงด้วยเหตุผลใดก็ตาม ทรัพยากรเหล่านี้ทั้งหมดจะถูกอ้างสิทธิ์อีกครั้งโดยระบบปฏิบัติการ

ทางเลือกCP-67ระบบสำหรับS / 360-67เริ่มสายทั้งระบบปฏิบัติการไอบีเอ็มมุ่งเน้นไปที่แนวคิดของเครื่องเสมือน ระบบปฏิบัติการอื่นๆ ที่ใช้บนเมนเฟรม IBM S/360 series รวมถึงระบบที่พัฒนาโดย IBM: DOS/360 [a] (ระบบปฏิบัติการดิสก์), TSS/360 (ระบบแบ่งเวลา), TOS/360 (ระบบปฏิบัติการเทป), BOS/360 (ระบบปฏิบัติการพื้นฐาน) และACP (โปรแกรมควบคุมสายการบิน) รวมถึงระบบที่ไม่ใช่ของ IBM บางระบบ: MTS (ระบบเทอร์มินัลมิชิแกน), MUSIC (ระบบผู้ใช้หลายคนสำหรับคอมพิวเตอร์เชิงโต้ตอบ) และORVYL (ระบบการแบ่งปันเวลาของสแตนฟอร์ด).

ควบคุม Data Corporationพัฒนาขอบเขตระบบปฏิบัติการในปี 1960 สำหรับการประมวลผลชุดในความร่วมมือกับมหาวิทยาลัยมินนิโซตา โครนอสและระบบปฏิบัติการNOSต่อมาได้รับการพัฒนาในช่วงทศวรรษ 1970 ซึ่งสนับสนุนการใช้แบทช์และการแชร์เวลาพร้อมกัน เช่นเดียวกับระบบการแชร์เวลาเชิงพาณิชย์อื่นๆ อินเทอร์เฟซของมันคือส่วนขยายของระบบปฏิบัติการDartmouth BASICซึ่งเป็นหนึ่งในความพยายามบุกเบิกในการแบ่งปันเวลาและภาษาโปรแกรม ในช่วงปลายทศวรรษ 1970 Control Data และมหาวิทยาลัยอิลลินอยส์ได้พัฒนาPLATOระบบปฏิบัติการซึ่งใช้จอพลาสม่าและเครือข่ายแบ่งปันเวลาทางไกล เพลโตเป็นนวัตกรรมที่น่าทึ่งสำหรับยุคนั้น โดยมีการแชทแบบเรียลไทม์และเกมกราฟิกสำหรับผู้ใช้หลายคน

ในปี 1961 Burroughs Corporation ได้เปิดตัวB5000พร้อมระบบปฏิบัติการMCP (Master Control Program) B5000 เป็นเครื่องสแต็กที่ออกแบบมาเพื่อรองรับภาษาระดับสูงโดยเฉพาะโดยไม่มีแอสเซมเบลอร์[b]แน่นอน MCP เป็นระบบปฏิบัติการแรกที่เขียนขึ้นเฉพาะในภาษาระดับสูงเท่านั้น ( ESPOLภาษาถิ่นของALGOL ) MCP ยังแนะนำหลายนวัตกรรมพื้นทำลายอื่น ๆ เช่นการเป็นผู้ดำเนินการเชิงพาณิชย์แห่งแรกของหน่วยความจำเสมือนระหว่างการพัฒนาAS/400, IBM ได้เข้าถึง Burroughs เพื่ออนุญาตให้ MCP ทำงานบนฮาร์ดแวร์ AS/400 ข้อเสนอนี้ถูกปฏิเสธโดยฝ่ายบริหารของ Burroughs เพื่อปกป้องการผลิตฮาร์ดแวร์ที่มีอยู่ MCP ยังคงใช้งานอยู่ในกลุ่มผลิตภัณฑ์คอมพิวเตอร์ MCP/ClearPathของบริษัทUnisys

ยูนิแวก , ผู้ผลิตคอมพิวเตอร์ในเชิงพาณิชย์ครั้งแรกที่ผลิตชุดของระบบปฏิบัติการ EXEC [ ต้องการอ้างอิง ] เช่นเดียวกับระบบเมนเฟรมในยุคแรกๆ ระบบที่เน้นกลุ่มนี้จัดการดรัมแม่เหล็ก ดิสก์ เครื่องอ่านการ์ด และเครื่องพิมพ์ในบรรทัด ในปี 1970 UNIVAC ได้ผลิตระบบ Real-Time Basic (RTB) เพื่อรองรับการแบ่งปันเวลาในวงกว้าง ซึ่งมีรูปแบบตามระบบ Dartmouth BC ด้วย

General ElectricและMIT ได้พัฒนา General Electric Comprehensive Operation Supervisor (GECOS) ซึ่งนำเสนอแนวคิดเรื่องระดับสิทธิ์การรักษาความปลอดภัยแบบวงแหวน หลังจากที่Honeywellเข้าซื้อกิจการแล้ว ก็ได้เปลี่ยนชื่อเป็นGeneral Comprehensive Operating System (GCOS)

Digital Equipment Corporation ได้พัฒนาระบบปฏิบัติการจำนวนมากสำหรับสายคอมพิวเตอร์ต่างๆ รวมถึงระบบแบ่งปันเวลาTOPS-10และTOPS-20สำหรับระบบคลาส PDP-10 แบบ 36 บิต ก่อนการใช้งาน UNIX อย่างแพร่หลาย TOPS-10 เป็นระบบที่ได้รับความนิยมเป็นพิเศษในมหาวิทยาลัย และในชุมชนARPANETยุคแรกRT-11เป็นระบบปฏิบัติการแบบเรียลไทม์สำหรับผู้ใช้คนเดียวสำหรับมินิคอมพิวเตอร์คลาสPDP-11และRSX-11เป็นระบบปฏิบัติการแบบผู้ใช้หลายคนที่สอดคล้องกัน

ตั้งแต่ช่วงปลายทศวรรษ 1960 ถึงปลายทศวรรษ 1970 ความสามารถของฮาร์ดแวร์หลายอย่างได้พัฒนาขึ้นซึ่งทำให้ซอฟต์แวร์ที่คล้ายคลึงกันหรือถูกพอร์ตทำงานบนระบบได้มากกว่าหนึ่งระบบ ระบบในยุคแรกๆ ได้ใช้ไมโครโปรแกรมมิงเพื่อปรับใช้คุณลักษณะต่างๆ ในระบบของตน เพื่ออนุญาตให้สถาปัตยกรรมคอมพิวเตอร์พื้นฐานที่แตกต่างกันดูเหมือนจะเหมือนกับระบบอื่นๆ ในซีรีส์ อันที่จริง 360 ส่วนใหญ่หลังจาก 360/40 (ยกเว้น 360/44, 360/75, 360/91, 360/95 และ 360/195) เป็นการใช้งานไมโครโปรแกรม

การลงทุนมหาศาลในซอฟต์แวร์สำหรับระบบเหล่านี้เกิดขึ้นตั้งแต่ช่วงทศวรรษ 1960 ทำให้ผู้ผลิตคอมพิวเตอร์ส่วนใหญ่ยังคงพัฒนาระบบปฏิบัติการที่เข้ากันได้พร้อมกับฮาร์ดแวร์ต่อไป ระบบปฏิบัติการเมนเฟรมที่รองรับที่โดดเด่น ได้แก่ :

ไมโครคอมพิวเตอร์

PC DOS เป็นระบบปฏิบัติการคอมพิวเตอร์ส่วนบุคคลรุ่นแรกที่มีอินเทอร์เฟซบรรทัดคำสั่ง
Mac OS โดยแอปเปิ้ลคอมพิวเตอร์กลายเป็นระบบปฏิบัติการที่แพร่หลายแรกที่จะมีอินเตอร์เฟซผู้ใช้แบบกราฟิกคุณลักษณะหลายอย่างเช่นหน้าต่างและไอคอนจะกลายเป็นเรื่องธรรมดาใน GUI ในภายหลัง

ไมโครคอมพิวเตอร์รุ่นแรกไม่มีความสามารถหรือต้องการระบบปฏิบัติการที่ซับซ้อนซึ่งได้รับการพัฒนาสำหรับเมนเฟรมและมินิ ระบบปฏิบัติการที่ได้รับการพัฒนา minimalistic มักจะโหลดจากรอมและเป็นที่รู้จักในฐานะจอภาพต้นที่โดดเด่นหนึ่งในระบบปฏิบัติการดิสก์เป็นCP / Mซึ่งได้รับการสนับสนุนบนไมโครคอมพิวเตอร์หลายต้นและถูกเลียนแบบใกล้ชิดโดยไมโครซอฟท์ 's MS-DOSซึ่งกลายเป็นที่นิยมอย่างกว้างขวางว่าเป็นระบบปฏิบัติการทางเลือกสำหรับไอบีเอ็มพีซี (รุ่นของไอบีเอ็มมันถูกเรียกว่า IBM DOS หรือPC DOS ) ในปี 1980 Apple Computer Inc. (ปัจจุบันคือApple Inc. ) เลิกได้รับความนิยมแอปเปิ้ลที่สองชุดของไมโครคอมพิวเตอร์ที่จะแนะนำApple Macintoshเครื่องคอมพิวเตอร์ที่มีนวัตกรรมอินเตอร์เฟซผู้ใช้แบบกราฟิก (GUI) กับระบบปฏิบัติการ Mac OS

การเปิดตัวชิปซีพียูIntel 80386ในเดือนตุลาคม พ.ศ. 2528 [14]พร้อมด้วยสถาปัตยกรรมแบบ32 บิตและความสามารถในการเพจทำให้คอมพิวเตอร์ส่วนบุคคลสามารถเรียกใช้ระบบปฏิบัติการแบบมัลติทาสก์ได้เหมือนกับมินิคอมพิวเตอร์และเมนเฟรมรุ่นก่อนๆ ไมโครซอฟท์ตอบสนองต่อความคืบหน้านี้โดยการจ้างงานเดฟมีดที่ได้พัฒนาVMSระบบปฏิบัติการสำหรับอุปกรณ์ดิจิตอลคอร์ปอเรชั่นเขาจะเป็นผู้นำในการพัฒนาระบบปฏิบัติการWindows NTซึ่งยังคงเป็นพื้นฐานสำหรับระบบปฏิบัติการของ Microsoft สตีฟจ็อบส์ผู้ร่วมก่อตั้งของApple Inc.ได้ก่อตั้งNeXT Computer Inc. ซึ่งพัฒนาระบบปฏิบัติการNEXTSTEPภายหลัง NEXTSTEP จะถูกซื้อกิจการโดยApple Inc.และใช้ควบคู่ไปกับรหัสจากFreeBSDเป็นแกนหลักของMac OS X (macOS หลังจากเปลี่ยนชื่อล่าสุด)

โครงการ GNUเริ่มต้นจากกิจกรรมและโปรแกรมเมอร์ริชาร์ดสตอลแมนที่มีเป้าหมายในการสร้างที่สมบูรณ์ซอฟต์แวร์ฟรีแทนกรรมสิทธิ์UNIXระบบปฏิบัติการ แม้ว่าโครงการจะประสบความสำเร็จอย่างสูงในการทำซ้ำการทำงานของส่วนต่างๆ ของ UNIX แต่การพัฒนาเคอร์เนลGNU Hurd ก็พิสูจน์แล้วว่าไม่เกิดผล ในปี 1991 ฟินแลนด์นักศึกษาวิทยาการคอมพิวเตอร์Linus Torvaldsด้วยความร่วมมือจากอาสาสมัครที่ทำงานร่วมกันผ่านทางอินเทอร์เน็ตเปิดตัวรุ่นแรกของลินุกซ์ในไม่ช้ามันก็ถูกรวมเข้ากับส่วนประกอบพื้นที่ผู้ใช้ GNU และซอฟต์แวร์ระบบเพื่อสร้างระบบปฏิบัติการที่สมบูรณ์ ตั้งแต่นั้นมา อุตสาหกรรมซอฟต์แวร์มักเรียกการรวมกันขององค์ประกอบหลักสองอย่างง่ายๆ ว่า "Linux" ซึ่งเป็นรูปแบบการตั้งชื่อที่ Stallman และFree Software Foundationยังคงไม่เห็นด้วยกับชื่อ GNU/Linux Berkeley Software Distribution หรือที่รู้จักในชื่อBSDเป็นอนุพันธ์ของ UNIX ที่จัดจำหน่ายโดย University of California, Berkeley ซึ่งเริ่มต้นในปี 1970 กระจายได้อย่างอิสระและรังเพลิงเพื่อ minicomputers จำนวนมากที่สุดก็ยังได้รับความต่อไปนี้สำหรับการใช้งานบนเครื่องพีซี, ส่วนใหญ่เป็นFreeBSD , NetBSDและOpenBSD

ตัวอย่าง

ระบบปฏิบัติการที่คล้าย Unix และ Unix

วิวัฒนาการของระบบปฏิบัติการยูนิกซ์ระบบ

Unix ถูกเขียนเดิมในภาษาประกอบ [15] เคน ทอมป์สันเขียนส่วนใหญ่อิงจากBCPLจากประสบการณ์ของเขาในโครงการMULTICS B ถูกแทนที่ด้วยCและ Unix ซึ่งเขียนใหม่ใน C พัฒนาเป็นระบบปฏิบัติการที่เกี่ยวข้องกันขนาดใหญ่และซับซ้อนซึ่งมีอิทธิพลในระบบปฏิบัติการสมัยใหม่ทุกระบบ (ดูประวัติ )

Unix เหมือนครอบครัวเป็นกลุ่มที่มีความหลากหลายของระบบปฏิบัติการที่มีความสำคัญหลายหมวดย่อยรวมทั้งระบบวี , BSDและลินุกซ์ชื่อ " UNIX " เป็นเครื่องหมายการค้าของThe Open Groupซึ่งอนุญาตให้ใช้กับระบบปฏิบัติการใด ๆ ที่แสดงเพื่อให้สอดคล้องกับคำจำกัดความของพวกเขา โดยทั่วไปแล้ว "คล้าย UNIX" ใช้เพื่ออ้างถึงระบบปฏิบัติการชุดใหญ่ซึ่งคล้ายกับ UNIX ดั้งเดิม

Unix เหมือนระบบการทำงานบนความหลากหลายของสถาปัตยกรรมคอมพิวเตอร์มีการใช้อย่างหนักสำหรับเซิร์ฟเวอร์ในธุรกิจ เช่นเดียวกับเวิร์กสเตชันในสภาพแวดล้อมทางวิชาการและวิศวกรรมตัวแปร UNIX ฟรีเช่นLinuxและBSDเป็นที่นิยมในพื้นที่เหล่านี้

ระบบปฏิบัติการสี่ระบบได้รับการรับรองโดยThe Open Group (เจ้าของเครื่องหมายการค้า Unix) เป็น Unix HP -UXของHPและAIXของ IBM เป็นทั้งลูกหลานของ System V Unix ดั้งเดิมและได้รับการออกแบบมาให้ทำงานบนฮาร์ดแวร์ของผู้จำหน่ายแต่ละรายเท่านั้น ในทางตรงกันข้ามSolarisของSun Microsystemsสามารถทำงานบนฮาร์ดแวร์หลายประเภท รวมถึงเซิร์ฟเวอร์x86และSparcและพีซี แอปเปิ้ลMacOS , เปลี่ยนสำหรับแอปเปิ้ลก่อนหน้านี้ (ไม่ใช่ Unix) Mac OS เป็นไฮบริดเคอร์เนลชั่ BSD ตัวแปรที่ได้มาจากNeXTSTEP , MachและFreeBSD

การทำงานร่วมกันของ Unix ได้รับการแสวงหาโดยการสร้างมาตรฐานPOSIX มาตรฐาน POSIX สามารถใช้ได้กับระบบปฏิบัติการใดๆ แม้ว่าเดิมจะถูกสร้างขึ้นสำหรับตัวแปร Unix ต่างๆ

BSD และทายาท

เซิร์ฟเวอร์ตัวแรกสำหรับเวิลด์ไวด์เว็บวิ่งบน NeXTSTEP บนพื้นฐานของ BSD

กลุ่มย่อยของตระกูลยูนิกซ์คือการจัดจำหน่ายซอฟแวร์เบิร์กลีย์ในครอบครัวซึ่งรวมถึงFreeBSD , NetBSDและOpenBSDระบบปฏิบัติการเหล่านี้มักพบในเว็บเซิร์ฟเวอร์แม้ว่าจะสามารถใช้เป็นระบบปฏิบัติการคอมพิวเตอร์ส่วนบุคคลได้ก็ตาม อินเทอร์เน็ตเป็นหนี้ BSD ส่วนใหญ่ เนื่องจากปัจจุบันโปรโตคอลจำนวนมากที่ใช้กันทั่วไปโดยคอมพิวเตอร์ในการเชื่อมต่อ ส่ง และรับข้อมูลผ่านเครือข่ายมีการใช้งานและปรับแต่งอย่างกว้างขวางใน BSD เวิลด์ไวด์เว็บยังได้แสดงให้เห็นเป็นครั้งแรกกับจำนวนของคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการบนพื้นฐานของ BSD เรียกNeXTSTEP

ในปี 1974 University of California, Berkeley ได้ติดตั้งระบบ Unix เครื่องแรก เมื่อเวลาผ่านไป นักศึกษาและเจ้าหน้าที่ในแผนกวิทยาการคอมพิวเตอร์เริ่มเพิ่มโปรแกรมใหม่เพื่อทำให้สิ่งต่างๆ ง่ายขึ้น เช่น โปรแกรมแก้ไขข้อความ เมื่อ Berkeley ได้รับคอมพิวเตอร์VAXเครื่องใหม่ในปี 1978 ที่ติดตั้ง Unix นักศึกษาระดับปริญญาตรีของโรงเรียนได้ปรับเปลี่ยน Unix ให้มากยิ่งขึ้นเพื่อใช้ประโยชน์จากความเป็นไปได้ของฮาร์ดแวร์ของคอมพิวเตอร์กลาโหมโครงการวิจัยขั้นสูงของหน่วยงานของสหรัฐกระทรวงกลาโหมได้รับความสนใจและตัดสินใจที่จะให้เงินทุนโครงการ โรงเรียน บริษัท และหน่วยงานภาครัฐหลายแห่งสังเกตเห็นและเริ่มใช้ Unix เวอร์ชัน Berkeley แทนเวอร์ชันทางการที่เผยแพร่โดย AT&T

สตีฟ จ็อบส์ออกจาก Apple Inc. ในปี 1985 ได้ก่อตั้งNeXT Inc.ซึ่งเป็นบริษัทที่ผลิตคอมพิวเตอร์ระดับไฮเอนด์ที่ทำงานบน BSD เวอร์ชันต่างๆ ที่เรียกว่าNeXTSTEP Tim Berners-Leeใช้คอมพิวเตอร์เครื่องหนึ่งเหล่านี้เป็นเว็บเซิร์ฟเวอร์เครื่องแรกในการสร้างเวิลด์ไวด์เว็บ

นักพัฒนาอย่างKeith Bosticสนับสนุนให้โปรเจ็กต์แทนที่โค้ดที่ไม่แจกฟรีที่มาจาก Bell Labs เมื่อทำสิ่งนี้เสร็จแล้ว AT&T ก็ฟ้อง หลังจากข้อพิพาททางกฎหมายสองปี โปรเจ็กต์ BSD ได้ก่อให้เกิดอนุพันธ์อิสระจำนวนหนึ่ง เช่นNetBSDและFreeBSD (ทั้งในปี 1993) และOpenBSD (จาก NetBSD ในปี 1995)

macOS

macOS (เดิมคือ "Mac OS X" และใหม่กว่า "OS X") เป็นระบบปฏิบัติการแบบกราฟิกแบบโอเพนคอร์ที่พัฒนา ทำการตลาด และจำหน่ายโดยApple Inc.ซึ่งเป็นระบบปฏิบัติการล่าสุดที่โหลดไว้ล่วงหน้าในคอมพิวเตอร์Macintosh ที่จำหน่ายในปัจจุบันทุกเครื่อง macOS เป็นผู้สืบทอดต่อจากMac OS แบบคลาสสิกดั้งเดิมซึ่งเป็นระบบปฏิบัติการหลักของ Apple มาตั้งแต่ปี 1984 macOS เป็นระบบปฏิบัติการUNIX ที่สร้างจากเทคโนโลยีที่NeXTพัฒนาขึ้นในช่วงครึ่งหลังของทศวรรษ 1980 จนถึงช่วงครึ่งหลังของทศวรรษ 1980 เป็นต้นไป Apple ซื้อบริษัทนี้เมื่อต้นปี 1997 ระบบปฏิบัติการเปิดตัวครั้งแรกในปี 1999 ในชื่อMac OS X Server 1.0ตามด้วยรุ่นไคลเอ็นต์ในเดือนมีนาคม 2544 ( Mac OS X v10.0 "Cheetah" ) ตั้งแต่นั้นมาหกแตกต่างกันมาก "ลูกค้า" และ " เซิร์ฟเวอร์ " ฉบับ MacOS ได้รับการปล่อยตัวออกมาจนกระทั่งทั้งสองได้รับการรวมอยู่ในOS X 10.7 "สิงโต"

ก่อนที่จะรวมเข้ากับ macOS รุ่นเซิร์ฟเวอร์ - macOS Server  - มีสถาปัตยกรรมเหมือนกันกับเดสก์ท็อปและมักจะทำงานบนฮาร์ดแวร์เซิร์ฟเวอร์ Macintosh ของ Apple MacOS เซิร์ฟเวอร์รวมกลุ่มงานการบริหารจัดการและการบริหารซอฟต์แวร์เครื่องมือที่ให้ง่ายเข้าถึงคีย์บริการเครือข่ายรวมทั้งตัวแทนโอนจดหมายเป็นเซิร์ฟเวอร์แซมบ้าเป็นLDAPเซิร์ฟเวอร์เป็นเซิร์ฟเวอร์ชื่อโดเมนและอื่น ๆ ด้วยMac OS X v10.7 Lionทุกแง่มุมของเซิร์ฟเวอร์ของ Mac OS X Server ได้ถูกรวมเข้ากับเวอร์ชันไคลเอนต์และผลิตภัณฑ์ได้รับการรีแบรนด์เป็น "OS X" (ตัดชื่อ "Mac" ออกจากชื่อ) ขณะนี้มีการนำเสนอเครื่องมือเซิร์ฟเวอร์เป็นแอปพลิเคชัน [16]

ลินุกซ์

Ubuntu , การกระจาย Linuxบนเดสก์ท็อป
ลินุกซ์เป็นUNIX เหมือนระบบปฏิบัติการเป็นครั้งแรกที่ปล่อยออกมาวันที่ 17 กันยายน 1991 โดยLinus Torvalds [17] [18] [19]รูปภาพของTux the Penguinมาสคอตของ Linux (20)

เคอร์เนล Linux เกิดขึ้นในปี 1991 เป็นโครงการของLinus Torvaldsในขณะที่นักศึกษามหาวิทยาลัยในฟินแลนด์ เขาโพสต์ข้อมูลเกี่ยวกับโครงการของเขาในกลุ่มข่าวสำหรับนักศึกษาคอมพิวเตอร์และโปรแกรมเมอร์ และได้รับการสนับสนุนและความช่วยเหลือจากอาสาสมัครที่ประสบความสำเร็จในการสร้างเคอร์เนลที่สมบูรณ์และใช้งานได้

Linuxเป็นแบบUnixแต่ได้รับการพัฒนาโดยไม่มีรหัส Unix ใด ๆ ซึ่งแตกต่างจาก BSD และตัวแปรต่างๆ เนื่องจากรูปแบบใบอนุญาตแบบเปิดรหัสเคอร์เนลของ Linuxจึงพร้อมสำหรับการศึกษาและแก้ไข ซึ่งส่งผลให้มีการใช้งานในเครื่องจักรคอมพิวเตอร์หลากหลายประเภทตั้งแต่ซูเปอร์คอมพิวเตอร์ไปจนถึงสมาร์ทวอทช์ แม้ว่าการประมาณการแนะนำว่าลีนุกซ์ใช้งานบนพีซี "เดสก์ท็อป" (หรือแล็ปท็อป) เพียง 1.82% เท่านั้น[21]มันถูกนำมาใช้กันอย่างแพร่หลายสำหรับใช้ในเซิร์ฟเวอร์[22]และระบบฝังตัว[23]เช่น โทรศัพท์มือถือ Linux ได้แทนที่ Unix ในหลายแพลตฟอร์มและใช้กับซูเปอร์คอมพิวเตอร์ส่วนใหญ่รวมถึง 385 อันดับแรก[24]คอมพิวเตอร์เดียวกันจำนวนมากอยู่ในGreen500 ด้วย( แต่ในการสั่งซื้อที่แตกต่างกัน) และลินุกซ์ทำงานบนลินุกซ์ 10 นอกจากนี้ยังเป็นที่นิยมใช้ในการประหยัดพลังงานของคอมพิวเตอร์ขนาดเล็กอื่น ๆ เช่นมาร์ทโฟนและsmartwatches เคอร์เนลลินุกซ์ถูกนำมาใช้ในบางแจกแจงยอดนิยมเช่นRed Hat , Debian , Ubuntu , ลินุกซ์มิ้นท์และGoogle 's Android , Chrome OSและChromium OS

Microsoft Windows

Microsoft Windows เป็นตระกูลของระบบปฏิบัติการที่เป็นกรรมสิทธิ์ซึ่งออกแบบโดยMicrosoft Corporationและมุ่งเป้าไปที่คอมพิวเตอร์ที่ใช้สถาปัตยกรรม Intel เป็นหลัก โดยมีส่วนแบ่งการใช้งานทั้งหมดประมาณ 88.9 เปอร์เซ็นต์บนคอมพิวเตอร์ที่เชื่อมต่อกับเว็บ [21] [25] [26] [27]รุ่นล่าสุดคือวินโดวส์ 10

ในปี 2011 Windows 7 แซงหน้า Windows XP เป็นเวอร์ชันที่ใช้กันทั่วไปมากที่สุด [28] [29] [30]

Microsoft Windows เปิดตัวครั้งแรกในปี 1985 โดยเป็นระบบปฏิบัติการที่ทำงานบนMS-DOSซึ่งเป็นระบบปฏิบัติการมาตรฐานที่จัดส่งมาในคอมพิวเตอร์ส่วนบุคคลที่มีสถาปัตยกรรม Intel ส่วนใหญ่ในขณะนั้น ในปี 1995 เปิดตัวWindows 95ซึ่งใช้ MS-DOS เป็นบูตสแตรปเท่านั้น สำหรับความเข้ากันได้แบบย้อนหลัง Win9x สามารถเรียกใช้ไดรเวอร์ MS-DOS ในโหมดจริง[31] [32]และWindows 3.x [33]แบบ 16 บิตได้Windows MEซึ่งเปิดตัวในปี 2000 เป็นเวอร์ชันสุดท้ายในตระกูล Win9x รุ่นต่อมาได้รับการทั้งหมดขึ้นอยู่กับWindows NT เคอร์เนล Windows รุ่นไคลเอนต์ปัจจุบันทำงานบนIA-32 , x86-64และ 32 บิตARM ไมโครโปรเซสเซอร์ [34]นอกจากItaniumได้รับการสนับสนุนยังคงอยู่ในเซิร์ฟเวอร์รุ่นเก่าWindows Server 2008 R2 ในอดีต Windows NT รองรับสถาปัตยกรรมเพิ่มเติม

Windows รุ่นเซิร์ฟเวอร์ใช้กันอย่างแพร่หลาย ในปีที่ผ่านมาไมโครซอฟท์ได้ใช้จ่ายเงินทุนที่สำคัญในความพยายามที่จะส่งเสริมการใช้ของ Windows เป็นที่ระบบปฏิบัติการเซิร์ฟเวอร์ อย่างไรก็ตาม การใช้งาน Windows บนเซิร์ฟเวอร์นั้นไม่แพร่หลายเท่าบนคอมพิวเตอร์ส่วนบุคคล เนื่องจาก Windows แข่งขันกับ Linux และ BSD สำหรับส่วนแบ่งตลาดเซิร์ฟเวอร์ [35] [36]

ReactOSเป็นระบบปฏิบัติการทางเลือกของ Windows ซึ่งได้รับการพัฒนาบนหลักการของ Windows โดยไม่ต้องใช้โค้ดใดๆ ของ Microsoft

อื่น

มีระบบปฏิบัติการมากมายที่มีความสำคัญในสมัยนั้นแต่ไม่เป็นเช่นนั้นอีกต่อไป เช่นAmigaOS ; OS/2จาก IBM และ Microsoft; classic Mac OSสารตั้งต้นที่ไม่ใช่ Unix สำหรับ macOS ของ Apple; บีโอเอส ; XTS-300 ; ระบบปฏิบัติการ RISC ; มอร์ฟอส ; ไฮกุ ; BareMetalและFreeMiNT บางส่วนยังคงใช้ในตลาดเฉพาะและยังคงได้รับการพัฒนาต่อไปเป็นแพลตฟอร์มส่วนน้อยสำหรับชุมชนผู้ที่ชื่นชอบและแอปพลิเคชันเฉพาะทาง OpenVMSซึ่งเดิมคือDECยังอยู่ระหว่างการพัฒนาโดยVMS Software Inc. ทว่าระบบปฏิบัติการอื่น ๆ มักถูกใช้ในสถาบันการศึกษาโดยเฉพาะเพื่อการศึกษาระบบปฏิบัติการหรือเพื่อทำวิจัยเกี่ยวกับแนวคิดของระบบปฏิบัติการ ตัวอย่างทั่วไปของระบบที่ตอบสนองทั้งสองบทบาทคือMINIXในขณะที่Singularityใช้สำหรับการวิจัยเท่านั้น อีกตัวอย่างหนึ่งคือระบบ Oberon ที่ออกแบบที่ETH ZürichโดยNiklaus Wirth , Jürg Gutknechtและกลุ่มนักศึกษาที่อดีต Computer Systems Institute ในทศวรรษ 1980 ใช้เป็นหลักในการวิจัย การสอน และงานประจำวันในกลุ่มของ Wirth

ระบบปฏิบัติการอื่น ๆ ได้ล้มเหลวที่จะชนะส่วนแบ่งการตลาดอย่างมีนัยสำคัญ แต่ได้นำนวัตกรรมที่มีอิทธิพลต่อระบบปฏิบัติการหลักไม่น้อยเบลล์แล็บแผน 9

ส่วนประกอบ

ส่วนประกอบของระบบปฏิบัติการทั้งหมดมีอยู่เพื่อทำให้ส่วนต่างๆ ของคอมพิวเตอร์ทำงานร่วมกันได้ ซอฟต์แวร์ผู้ใช้ทั้งหมดต้องผ่านระบบปฏิบัติการเพื่อใช้ฮาร์ดแวร์ ไม่ว่าจะเป็นแบบง่ายๆ อย่างเมาส์หรือคีย์บอร์ด หรือซับซ้อนเท่าส่วนประกอบอินเทอร์เน็ต

เคอร์เนล

เคอร์เนลเชื่อมต่อแอพพลิเคชั่นซอฟต์แวร์กับฮาร์ดแวร์ของคอมพิวเตอร์

ด้วยความช่วยเหลือของเฟิร์มแวร์และไดรเวอร์อุปกรณ์เคอร์เนลจะให้ระดับการควบคุมอุปกรณ์ฮาร์ดแวร์ทั้งหมดของคอมพิวเตอร์ในระดับพื้นฐานที่สุด มันจัดการการเข้าถึงหน่วยความจำสำหรับโปรแกรมในRAMกำหนดว่าโปรแกรมใดเข้าถึงทรัพยากรฮาร์ดแวร์ใด มันตั้งค่าหรือรีเซ็ตสถานะการทำงานของ CPU เพื่อการทำงานที่ดีที่สุดตลอดเวลา และจัดระเบียบข้อมูลสำหรับการจัดเก็บระยะยาวที่ไม่ลบเลือนกับระบบไฟล์บนสื่อต่างๆ เช่น ดิสก์ เทป หน่วยความจำแฟลช เป็นต้น

การทำงานของโปรแกรม

ระบบปฏิบัติการมีส่วนติดต่อระหว่างโปรแกรมแอปพลิเคชันและฮาร์ดแวร์คอมพิวเตอร์ เพื่อให้โปรแกรมแอปพลิเคชันสามารถโต้ตอบกับฮาร์ดแวร์ได้โดยปฏิบัติตามกฎและขั้นตอนที่โปรแกรมไว้ในระบบปฏิบัติการเท่านั้น ระบบปฏิบัติการยังเป็นชุดของบริการที่ทำให้การพัฒนาและการใช้งานโปรแกรมแอปพลิเคชันง่ายขึ้น การดำเนินการโปรแกรมแอปพลิเคชันเกี่ยวข้องกับการสร้างกระบวนการโดยเคอร์เนลของระบบปฏิบัติการซึ่งกำหนดพื้นที่หน่วยความจำและทรัพยากรอื่น ๆ กำหนดลำดับความสำคัญสำหรับกระบวนการในระบบมัลติทาสกิ้ง โหลดรหัสไบนารีของโปรแกรมลงในหน่วยความจำ และเริ่มดำเนินการโปรแกรมแอปพลิเคชันซึ่ง แล้วโต้ตอบกับผู้ใช้และอุปกรณ์ฮาร์ดแวร์

อินเตอร์รัปต์

การขัดจังหวะเป็นศูนย์กลางของระบบปฏิบัติการ เนื่องจากเป็นวิธีที่มีประสิทธิภาพสำหรับระบบปฏิบัติการในการโต้ตอบและตอบสนองต่อสภาพแวดล้อม ทางเลือกอื่น - ให้ระบบปฏิบัติการ "เฝ้าดู" แหล่งข้อมูลต่างๆ ของอินพุตสำหรับเหตุการณ์ (โพล) ที่ต้องมีการดำเนินการ - สามารถพบได้ในระบบเก่าที่มีสแต็กขนาดเล็กมาก(50 หรือ 60 ไบต์) แต่เป็นเรื่องปกติในระบบสมัยใหม่ที่มีสแต็กขนาดใหญ่การเขียนโปรแกรมแบบอินเตอร์รัปต์ได้รับการสนับสนุนโดยตรงจากซีพียูที่ทันสมัยส่วนใหญ่ การขัดจังหวะช่วยให้คอมพิวเตอร์มีวิธีบันทึกบริบทการลงทะเบียนในเครื่องโดยอัตโนมัติ และเรียกใช้โค้ดเฉพาะเพื่อตอบสนองต่อเหตุการณ์ แม้แต่คอมพิวเตอร์ขั้นพื้นฐานก็ยังสนับสนุนการขัดจังหวะของฮาร์ดแวร์ และอนุญาตให้โปรแกรมเมอร์ระบุรหัสที่อาจทำงานเมื่อเกิดเหตุการณ์นั้นขึ้น

เมื่อได้รับอินเตอร์รัปต์ ฮาร์ดแวร์ของคอมพิวเตอร์จะระงับโปรแกรมใดก็ตามที่กำลังทำงานอยู่โดยอัตโนมัติ บันทึกสถานะ และรันรหัสคอมพิวเตอร์ที่เกี่ยวข้องกับการขัดจังหวะก่อนหน้านี้ ซึ่งคล้ายกับการวางบุ๊กมาร์กในหนังสือเพื่อตอบสนองต่อการโทร ในระบบปฏิบัติการที่ทันสมัย, การขัดจังหวะจะถูกจัดการโดยระบบปฏิบัติการเคอร์เนลการขัดจังหวะอาจมาจากฮาร์ดแวร์ของคอมพิวเตอร์หรือโปรแกรมที่ทำงานอยู่

เมื่ออุปกรณ์ฮาร์ดแวร์ทริกเกอร์การขัดจังหวะ เคอร์เนลของระบบปฏิบัติการจะตัดสินใจว่าจะจัดการกับเหตุการณ์นี้อย่างไร โดยทั่วไปแล้วจะเรียกใช้โค้ดประมวลผลบางอย่าง จำนวนรหัสที่รันขึ้นอยู่กับลำดับความสำคัญของการขัดจังหวะ (เช่น: บุคคลมักจะตอบสนองต่อสัญญาณเตือนเครื่องตรวจจับควันก่อนที่จะรับโทรศัพท์) การประมวลผลการขัดจังหวะของฮาร์ดแวร์เป็นงานที่มักจะมอบหมายให้กับซอฟต์แวร์ที่เรียกว่าไดรเวอร์อุปกรณ์ซึ่งอาจเป็นส่วนหนึ่งของเคอร์เนลของระบบปฏิบัติการ ส่วนหนึ่งของโปรแกรมอื่น หรือทั้งสองอย่าง ไดรเวอร์อุปกรณ์อาจถ่ายทอดข้อมูลไปยังโปรแกรมที่ทำงานอยู่ด้วยวิธีการต่างๆ

โปรแกรมอาจทริกเกอร์การขัดจังหวะไปยังระบบปฏิบัติการ หากโปรแกรมต้องการเข้าถึงฮาร์ดแวร์ เช่น โปรแกรมอาจขัดจังหวะเคอร์เนลของระบบปฏิบัติการ ซึ่งทำให้การควบคุมถูกส่งกลับไปยังเคอร์เนล เคอร์เนลจะประมวลผลคำขอ หากโปรแกรมต้องการทรัพยากรเพิ่มเติม (หรือต้องการกำจัดทรัพยากร) เช่น หน่วยความจำ โปรแกรมจะทริกเกอร์การขัดจังหวะเพื่อเรียกความสนใจของเคอร์เนล

โหมด

แหวน Privilege สำหรับx86สถาปัตยกรรมไมโครโปรเซสเซอร์ที่มีอยู่ในโหมดการป้องกัน ระบบปฏิบัติการกำหนดว่ากระบวนการใดทำงานในแต่ละโหมด

คอมพิวเตอร์สมัยใหม่รองรับโหมดการทำงานที่หลากหลาย ซีพียูที่มีความสามารถในข้อเสนอนี้อย่างน้อยสองโหมด: โหมดผู้ใช้และโหมดผู้บังคับบัญชาโดยทั่วไป การทำงานของโหมดผู้ควบคุมจะอนุญาตให้เข้าถึงทรัพยากรเครื่องทั้งหมดได้ไม่จำกัด รวมถึงคำสั่ง MPU ทั้งหมด การทำงานของโหมดผู้ใช้จะกำหนดขีดจำกัดการใช้คำสั่งและโดยทั่วไปจะไม่อนุญาตให้เข้าถึงทรัพยากรเครื่องโดยตรง ซีพียูอาจจะมีโหมดอื่น ๆ ที่คล้ายกับโหมดผู้ใช้เป็นอย่างดีเช่นโหมดเสมือนในการสั่งซื้อที่จะเลียนแบบการประมวลผลที่มีอายุมากกว่าเช่นการประมวลผล 16 บิตบน 32 บิตอย่างใดอย่างหนึ่งหรือหน่วยประมวลผล 32 บิตบน64 บิตหนึ่ง

เมื่อเปิดเครื่องหรือรีเซ็ต ระบบจะเริ่มทำงานในโหมดผู้ควบคุม เมื่อโหลดและเริ่มเคอร์เนลของระบบปฏิบัติการแล้ว ขอบเขตระหว่างโหมดผู้ใช้และโหมดผู้ควบคุม (หรือที่เรียกว่าโหมดเคอร์เนล) จะถูกสร้างขึ้นได้

เคอร์เนลใช้โหมดหัวหน้างานสำหรับงานระดับต่ำที่ต้องการการเข้าถึงฮาร์ดแวร์อย่างไม่จำกัด เช่น การควบคุมวิธีการเข้าถึงหน่วยความจำ และการสื่อสารกับอุปกรณ์ เช่น ดิสก์ไดรฟ์และอุปกรณ์แสดงผลวิดีโอ ในทางกลับกัน โหมดผู้ใช้ใช้สำหรับเกือบทุกอย่าง โปรแกรมแอปพลิเคชัน เช่น โปรแกรมประมวลผลคำและตัวจัดการฐานข้อมูล ทำงานภายในโหมดผู้ใช้ และสามารถเข้าถึงเฉพาะทรัพยากรของเครื่องโดยเปลี่ยนการควบคุมไปที่เคอร์เนล ซึ่งเป็นกระบวนการที่ทำให้เกิดการเปลี่ยนไปใช้โหมดผู้ควบคุม โดยทั่วไป การถ่ายโอนการควบคุมไปยังเคอร์เนลทำได้โดยดำเนินการคำสั่งขัดจังหวะซอฟต์แวร์เช่น Motorola 68000TRAPการเรียนการสอน. ซอฟต์แวร์ขัดจังหวะทำให้โปรเซสเซอร์เปลี่ยนจากโหมดผู้ใช้เป็นโหมดผู้ควบคุม และเริ่มรันโค้ดที่อนุญาตให้เคอร์เนลเข้าควบคุม

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

คำว่า "ทรัพยากรโหมดผู้ใช้" โดยทั่วไปหมายถึงการลงทะเบียน CPU อย่างน้อยหนึ่งรายการซึ่งมีข้อมูลที่โปรแกรมที่ทำงานอยู่ไม่ได้รับอนุญาตให้แก้ไข ความพยายามที่จะเปลี่ยนแปลงทรัพยากรเหล่านี้โดยทั่วไปทำให้เกิดการเปลี่ยนไปใช้โหมดผู้ควบคุม ซึ่งระบบปฏิบัติการสามารถจัดการกับการดำเนินการที่ผิดกฎหมายที่โปรแกรมพยายามได้ ตัวอย่างเช่น โดยการบังคับยุติ ("ฆ่า") โปรแกรม

การจัดการหน่วยความจำ

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

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

การป้องกันหน่วยความจำช่วยให้เคอร์เนลสามารถจำกัดการเข้าถึงหน่วยความจำของโปรเซสได้ วิธีการต่างๆของที่มีอยู่การป้องกันหน่วยความจำรวมทั้งการแบ่งส่วนหน่วยความจำและเพจวิธีการทั้งหมดต้องการการสนับสนุนฮาร์ดแวร์ในระดับหนึ่ง (เช่น80286 MMU) ซึ่งไม่มีอยู่ในคอมพิวเตอร์ทุกเครื่อง

ในการแบ่งเซ็กเมนต์และเพจจิ้งรีจิสเตอร์โหมดที่ได้รับการป้องกันบางอย่างจะระบุให้ CPU ทราบว่าแอดเดรสหน่วยความจำใดที่ควรอนุญาตให้โปรแกรมที่ทำงานอยู่สามารถเข้าถึงได้ ความพยายามที่จะเข้าถึงที่อยู่อื่น ๆ เรียกขัดจังหวะซึ่งเป็นสาเหตุของ CPU เพื่อกลับเข้าโหมดผู้บังคับบัญชาวางเคอร์เนลในค่าใช้จ่าย สิ่งนี้เรียกว่าการละเมิดการแบ่งส่วนหรือเรียกสั้น ๆว่าSeg-V และเนื่องจากเป็นการยากที่จะกำหนดผลลัพธ์ที่มีความหมายให้กับการดำเนินการดังกล่าว และเนื่องจากโดยปกติแล้วจะเป็นสัญญาณของโปรแกรมที่ทำงานผิดปกติเคอร์เนลจึงใช้วิธียุติโปรแกรมที่ละเมิด และรายงานข้อผิดพลาด

Windows เวอร์ชัน 3.1 ถึง ME มีการป้องกันหน่วยความจำในระดับหนึ่ง แต่โปรแกรมสามารถหลีกเลี่ยงความจำเป็นในการใช้งานได้อย่างง่ายดาย ป้องกันความผิดทั่วไปจะผลิตแสดงให้เห็นว่ามีการละเมิดการแบ่งส่วนได้เกิดขึ้น; อย่างไรก็ตามระบบมักจะล้มเหลวอยู่ดี

หน่วยความจำเสมือน

ระบบปฏิบัติการจำนวนมากสามารถ "หลอก" โปรแกรมให้ใช้หน่วยความจำที่กระจัดกระจายอยู่รอบๆ ฮาร์ดดิสก์และ RAM ได้ ราวกับว่าเป็นหน่วยความจำแบบต่อเนื่องชิ้นเดียว เรียกว่าหน่วยความจำเสมือน

การใช้การกำหนดแอดเดรสหน่วยความจำเสมือน (เช่น การเพจหรือการแบ่งเซ็กเมนต์) หมายความว่าเคอร์เนลสามารถเลือกหน่วยความจำที่แต่ละโปรแกรมอาจใช้ในเวลาใดก็ตาม ทำให้ระบบปฏิบัติการสามารถใช้ตำแหน่งหน่วยความจำเดียวกันสำหรับงานหลายงาน

หากโปรแกรมพยายามเข้าถึงหน่วยความจำที่ไม่อยู่ในช่วงหน่วยความจำที่เข้าถึงได้ในปัจจุบัน แต่ยังคงได้รับการจัดสรรไว้ เคอร์เนลจะถูกขัดจังหวะในลักษณะเดียวกับที่โปรแกรมมีหน่วยความจำเกินที่จัดสรรไว้ (ส่วนที่เห็นบนจัดการหน่วยความจำ.) ภายใต้ระบบปฏิบัติการยูนิกซ์ชนิดของการขัดจังหวะนี้เรียกว่าเป็นความบกพร่องของเพจ

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

ในระบบปฏิบัติการสมัยใหม่ หน่วยความจำที่เข้าถึงได้ไม่บ่อยสามารถจัดเก็บไว้ชั่วคราวบนดิสก์หรือสื่ออื่นๆ เพื่อให้พื้นที่ว่างนั้นพร้อมใช้งานโดยโปรแกรมอื่น สิ่งนี้เรียกว่าswappingเนื่องจากหลายโปรแกรมสามารถใช้พื้นที่หน่วยความจำได้ และสิ่งที่อยู่ในหน่วยความจำนั้นสามารถสลับหรือแลกเปลี่ยนได้ตามต้องการ

"หน่วยความจำเสมือน" ช่วยให้โปรแกรมเมอร์หรือผู้ใช้เข้าใจว่า RAM ในคอมพิวเตอร์มีจำนวนมากกว่าที่เป็นจริง [37]

มัลติทาสกิ้ง

มัลติทาสกิ้งหมายถึงการรันโปรแกรมคอมพิวเตอร์อิสระหลายโปรแกรมบนคอมพิวเตอร์เครื่องเดียวกัน ให้ปรากฏว่าปฏิบัติหน้าที่ไปพร้อม ๆ กัน เนื่องจากคอมพิวเตอร์ส่วนใหญ่สามารถทำได้อย่างมากที่สุดหนึ่งหรือสองอย่างในคราวเดียว ซึ่งโดยทั่วไปแล้วจะทำผ่านการแบ่งปันเวลา ซึ่งหมายความว่าแต่ละโปรแกรมจะใช้เวลาร่วมกันของคอมพิวเตอร์ในการดำเนินการ

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

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

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

ปรัชญาที่ควบคุมการทำงานมัลติทาสกิ้งแบบยึดเอาเสียก่อนคือเพื่อให้แน่ใจว่าโปรแกรมทั้งหมดจะได้รับเวลาปกติบน CPU นี่หมายความว่าโปรแกรมทั้งหมดจะต้องถูกจำกัดเวลาที่พวกเขาได้รับอนุญาตให้ใช้กับ CPU โดยไม่ถูกขัดจังหวะ เพื่อให้บรรลุสิ่งนี้ เคอร์เนลของระบบปฏิบัติการสมัยใหม่ใช้ประโยชน์จากการขัดจังหวะแบบหมดเวลาป้องกันโหมดจับเวลาถูกกำหนดโดยเคอร์เนลซึ่งก่อให้เกิดผลตอบแทนให้กับผู้บังคับบัญชาโหมดหลังจากเวลาที่กำหนดไว้แล้ว (ดูหัวข้อด้านบนเกี่ยวกับการขัดจังหวะและการทำงานของโหมดคู่)

สำหรับระบบปฏิบัติการแบบผู้ใช้คนเดียวจำนวนมาก การทำงานร่วมกันแบบมัลติทาสก์นั้นเพียงพอแล้ว เนื่องจากคอมพิวเตอร์ที่บ้านมักเรียกใช้โปรแกรมที่ผ่านการทดสอบอย่างดีจำนวนเล็กน้อย AmigaOSเป็นข้อยกเว้นที่มีการทำงานแบบ multitasking ชิงจากรุ่นแรก Windows NTเป็นMicrosoft Windowsเวอร์ชันแรกซึ่งบังคับใช้การทำงานหลายอย่างพร้อมกันแบบยึดเอาเสียก่อน แต่ไม่สามารถเข้าถึงตลาดผู้ใช้ตามบ้านได้จนกว่าWindows XP (เนื่องจากWindows NTมุ่งเป้าไปที่ผู้เชี่ยวชาญ)

การเข้าถึงดิสก์และระบบไฟล์

ระบบไฟล์อนุญาตให้ผู้ใช้และโปรแกรมจัดระเบียบและจัดเรียงไฟล์ในคอมพิวเตอร์ ซึ่งมักจะใช้ไดเร็กทอรี (หรือ "โฟลเดอร์")

การเข้าถึงข้อมูลที่จัดเก็บไว้ในดิสก์เป็นคุณลักษณะสำคัญของระบบปฏิบัติการทั้งหมด คอมพิวเตอร์จัดเก็บข้อมูลบนดิสก์โดยใช้ไฟล์ซึ่งจัดโครงสร้างในลักษณะเฉพาะเพื่อให้เข้าถึงได้เร็วขึ้น ความน่าเชื่อถือสูงขึ้น และใช้พื้นที่ว่างของไดรฟ์ได้ดียิ่งขึ้น วิธีเฉพาะในการจัดเก็บไฟล์บนดิสก์เรียกว่าfile systemและทำให้ไฟล์มีชื่อและแอตทริบิวต์ได้ นอกจากนี้ยังช่วยให้พวกเขาที่จะเก็บไว้ในลำดับชั้นของไดเรกทอรีหรือโฟลเดอร์ที่จัดในต้นไม้ไดเรกทอรี

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

แม้ว่าระบบปฏิบัติการที่ง่ายกว่าจำนวนมากจะรองรับตัวเลือกในการเข้าถึงระบบสตอเรจที่จำกัด แต่ระบบปฏิบัติการอย่างUNIXและLinuxรองรับเทคโนโลยีที่เรียกว่าระบบไฟล์เสมือนหรือ VFS ระบบปฏิบัติการ เช่น UNIX รองรับอุปกรณ์จัดเก็บข้อมูลที่หลากหลาย โดยไม่คำนึงถึงการออกแบบหรือระบบไฟล์ทำให้สามารถเข้าถึงได้ผ่านอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันทั่วไป(API) ทำให้โปรแกรมไม่จำเป็นต้องมีความรู้เกี่ยวกับอุปกรณ์ที่กำลังเข้าถึง VFS อนุญาตให้ระบบปฏิบัติการจัดเตรียมโปรแกรมที่สามารถเข้าถึงอุปกรณ์ได้ไม่จำกัดจำนวน พร้อมติดตั้งระบบไฟล์ที่หลากหลายอย่างไม่จำกัด โดยใช้อุปกรณ์เฉพาะไดรเวอร์อุปกรณ์และไดรเวอร์ระบบไฟล์

ที่เชื่อมต่ออุปกรณ์จัดเก็บข้อมูลเช่นฮาร์ดไดรฟ์จะเข้าถึงได้ผ่านทางโปรแกรมควบคุมอุปกรณ์ ไดรเวอร์อุปกรณ์เข้าใจภาษาเฉพาะของไดรฟ์และสามารถแปลภาษานั้นเป็นภาษามาตรฐานที่ระบบปฏิบัติการใช้เพื่อเข้าถึงดิสก์ไดรฟ์ทั้งหมด บน UNIX นี้เป็นภาษาของอุปกรณ์ป้องกัน

เมื่อเคอร์เนลมีไดรเวอร์อุปกรณ์ที่เหมาะสม เคอร์เนลจะสามารถเข้าถึงเนื้อหาของดิสก์ไดรฟ์ในรูปแบบดิบ ซึ่งอาจมีระบบไฟล์ตั้งแต่หนึ่งระบบขึ้นไป ไดรเวอร์ระบบไฟล์ใช้เพื่อแปลคำสั่งที่ใช้ในการเข้าถึงระบบไฟล์แต่ละระบบให้เป็นชุดคำสั่งมาตรฐานที่ระบบปฏิบัติการสามารถใช้พูดคุยกับระบบไฟล์ทั้งหมดได้ โปรแกรมสามารถจัดการกับระบบไฟล์เหล่านี้ได้โดยใช้ชื่อไฟล์ และไดเร็กทอรี/โฟลเดอร์ที่อยู่ภายในโครงสร้างแบบลำดับชั้น พวกเขาสามารถสร้าง ลบ เปิด และปิดไฟล์ ตลอดจนรวบรวมข้อมูลต่างๆ เกี่ยวกับไฟล์เหล่านั้น รวมถึงการอนุญาตการเข้าถึง ขนาด พื้นที่ว่าง และวันที่สร้างและแก้ไข

ความแตกต่างต่างๆ ระหว่างระบบไฟล์ทำให้การรองรับระบบไฟล์ทั้งหมดทำได้ยาก อักขระที่อนุญาตในชื่อไฟล์ความละเอียดอ่อนของตัวพิมพ์และการมีอยู่ของแอตทริบิวต์ไฟล์ประเภทต่างๆทำให้การใช้งานอินเทอร์เฟซเดียวสำหรับทุกระบบไฟล์เป็นงานที่น่ากลัว ระบบปฏิบัติการมักจะแนะนำให้ใช้ (และสนับสนุนโดยกำเนิด) ระบบไฟล์ที่ออกแบบมาโดยเฉพาะสำหรับพวกเขา ตัวอย่างเช่นNTFSใน Windows และext3และReiserFSใน Linux อย่างไรก็ตาม ในทางปฏิบัติ โดยปกติแล้วไดรเวอร์ของบริษัทอื่นจะพร้อมให้การสนับสนุนสำหรับระบบไฟล์ที่ใช้กันอย่างแพร่หลายมากที่สุดในระบบปฏิบัติการทั่วไปส่วนใหญ่ (เช่น NTFS มีให้ใน Linux ผ่านNTFS-3gและ ext2/3 และ ReiserFS มีอยู่ใน Windows ผ่านซอฟต์แวร์ของบริษัทอื่น)

การสนับสนุนระบบไฟล์มีความหลากหลายอย่างมากในระบบปฏิบัติการสมัยใหม่ แม้ว่าจะมีระบบไฟล์ทั่วไปหลายระบบซึ่งระบบปฏิบัติการเกือบทั้งหมดมีการสนับสนุนและไดรเวอร์สำหรับ ระบบปฏิบัติการแตกต่างกันไปตามการสนับสนุนระบบไฟล์และรูปแบบดิสก์ที่อาจติดตั้งได้ ภายใต้ Windows ระบบไฟล์แต่ละระบบมักถูกจำกัดในแอปพลิเคชันสำหรับสื่อบางประเภท ตัวอย่างเช่น ซีดีต้องใช้ISO 9660หรือUDFและสำหรับWindows Vista, NTFS เป็นระบบไฟล์เดียวที่สามารถติดตั้งระบบปฏิบัติการได้ สามารถติดตั้ง Linux ลงบนระบบไฟล์ได้หลายประเภท Linux และ UNIX ต่างจากระบบปฏิบัติการอื่นๆ ตรงที่อนุญาตให้ใช้ระบบไฟล์ใดๆ โดยไม่คำนึงถึงสื่อที่จัดเก็บ ไม่ว่าจะเป็นฮาร์ดไดรฟ์ ดิสก์ (CD, DVD...) แฟลชไดรฟ์ USB หรือแม้แต่มี ภายในไฟล์ที่อยู่บนระบบไฟล์อื่น

ไดรเวอร์อุปกรณ์

โปรแกรมควบคุมอุปกรณ์เป็นซอฟต์แวร์คอมพิวเตอร์ประเภทหนึ่งที่พัฒนาขึ้นเพื่อให้สามารถโต้ตอบกับอุปกรณ์ฮาร์ดแวร์ได้ โดยทั่วไปแล้วจะเป็นอินเทอร์เฟซสำหรับการสื่อสารกับอุปกรณ์ ผ่านบัสคอมพิวเตอร์หรือระบบย่อยการสื่อสารที่ฮาร์ดแวร์เชื่อมต่ออยู่ ให้คำสั่งและ/หรือรับข้อมูลจากอุปกรณ์ และอีกด้านหนึ่ง อินเทอร์เฟซที่จำเป็นสำหรับการปฏิบัติงาน แอพพลิเคชั่นระบบและซอฟต์แวร์ เป็นโปรแกรมคอมพิวเตอร์ที่ขึ้นกับฮาร์ดแวร์เฉพาะซึ่งเป็นระบบปฏิบัติการเฉพาะที่ช่วยให้โปรแกรมอื่นซึ่งโดยทั่วไปคือระบบปฏิบัติการหรือแอพพลิเคชั่นซอฟต์แวร์แพ็คเกจหรือโปรแกรมคอมพิวเตอร์ที่ทำงานภายใต้เคอร์เนลของระบบปฏิบัติการเพื่อโต้ตอบกับอุปกรณ์ฮาร์ดแวร์อย่างโปร่งใสและมักจะมีการจัดการอินเตอร์รัปต์ที่จำเป็นสำหรับความต้องการในการเชื่อมต่อฮาร์ดแวร์ที่ขึ้นกับเวลาแบบอะซิงโครนัสที่จำเป็น

เป้าหมายการออกแบบหลักของไดรเวอร์อุปกรณ์คือนามธรรม. ฮาร์ดแวร์ทุกรุ่น (แม้จะอยู่ในอุปกรณ์ประเภทเดียวกัน) ก็แตกต่างกัน รุ่นที่ใหม่กว่ายังได้รับการเผยแพร่โดยผู้ผลิตที่ให้ประสิทธิภาพที่เชื่อถือได้หรือดีกว่า และรุ่นที่ใหม่กว่าเหล่านี้มักถูกควบคุมต่างกัน คอมพิวเตอร์และระบบปฏิบัติการไม่สามารถคาดหวังให้รู้วิธีควบคุมอุปกรณ์ทุกเครื่องทั้งในปัจจุบันและอนาคต ในการแก้ปัญหานี้ ระบบปฏิบัติการจะกำหนดวิธีการควบคุมอุปกรณ์ทุกประเภท หน้าที่ของไดรเวอร์อุปกรณ์คือการแปลการเรียกใช้ฟังก์ชันที่ได้รับคำสั่งจากระบบปฏิบัติการเหล่านี้เป็นการเรียกเฉพาะอุปกรณ์ ตามทฤษฎีแล้ว อุปกรณ์ใหม่ซึ่งถูกควบคุมในลักษณะใหม่ ควรทำงานอย่างถูกต้องหากมีไดรเวอร์ที่เหมาะสม ไดรเวอร์ใหม่นี้ช่วยให้แน่ใจว่าอุปกรณ์ทำงานตามปกติจากมุมมองของระบบปฏิบัติการ

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

ระบบเครือข่าย

ปัจจุบันระบบปฏิบัติการส่วนใหญ่รองรับโปรโตคอลเครือข่าย ฮาร์ดแวร์ และแอพพลิเคชั่นที่หลากหลายสำหรับการใช้งาน ซึ่งหมายความว่าคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการที่แตกต่างกันสามารถมีส่วนร่วมในเครือข่ายร่วมกันเพื่อแบ่งปันทรัพยากรต่างๆ เช่นคอมพิวเตอร์ไฟล์ เครื่องพิมพ์ และสแกนเนอร์โดยใช้การเชื่อมต่อแบบมีสายหรือไร้สาย โดยพื้นฐานแล้วเครือข่ายสามารถอนุญาตให้ระบบปฏิบัติการของคอมพิวเตอร์เข้าถึงทรัพยากรของคอมพิวเตอร์ระยะไกลเพื่อรองรับฟังก์ชันเดียวกันได้หากทรัพยากรเหล่านั้นเชื่อมต่อโดยตรงกับคอมพิวเตอร์ในพื้นที่ ซึ่งรวมถึงทุกอย่างตั้งแต่การสื่อสารอย่างง่าย ไปจนถึงการใช้ระบบไฟล์บนเครือข่าย หรือแม้แต่การแชร์กราฟิกของคอมพิวเตอร์เครื่องอื่นหรือฮาร์ดแวร์เสียง บริการเครือข่ายบางอย่างอนุญาตให้เข้าถึงทรัพยากรของคอมพิวเตอร์อย่างโปร่งใส เช่นSSHซึ่งอนุญาตให้ผู้ใช้เครือข่ายเข้าถึงอินเทอร์เฟซบรรทัดคำสั่งของคอมพิวเตอร์ได้โดยตรง

เครือข่ายไคลเอนต์/เซิร์ฟเวอร์อนุญาตให้โปรแกรมบนคอมพิวเตอร์ เรียกว่าไคลเอนต์ เพื่อเชื่อมต่อผ่านเครือข่ายไปยังคอมพิวเตอร์เครื่องอื่นที่เรียกว่าเซิร์ฟเวอร์ เซิร์ฟเวอร์เสนอ (หรือโฮสต์) บริการต่างๆ ให้กับคอมพิวเตอร์เครือข่ายและผู้ใช้อื่นๆ บริการเหล่านี้มักจะให้ผ่านทางพอร์ตหรือจุดเชื่อมต่อหมายเลขเกินของเซิร์ฟเวอร์ที่อยู่ IP โดยปกติหมายเลขพอร์ตแต่ละหมายเลขจะเชื่อมโยงกับโปรแกรมที่รันอยู่สูงสุดหนึ่งโปรแกรม ซึ่งรับผิดชอบในการจัดการคำขอไปยังพอร์ตนั้น daemon ซึ่งเป็นโปรแกรมสำหรับผู้ใช้ สามารถเข้าถึงทรัพยากรฮาร์ดแวร์ในเครื่องของคอมพิวเตอร์เครื่องนั้นได้โดยส่งคำขอไปยังเคอร์เนลของระบบปฏิบัติการ

ระบบปฏิบัติการจำนวนมากสนับสนุนโปรโตคอลเครือข่ายแบบเปิดหรือเฉพาะผู้จำหน่ายตั้งแต่หนึ่งรายการขึ้นไป เช่นSNAบนระบบIBM , DECnetบนระบบจากDigital Equipment Corporationและโปรโตคอลเฉพาะของ Microsoft ( SMB ) บน Windows โปรโตคอลเฉพาะสำหรับงานเฉพาะอาจได้รับการสนับสนุน เช่นNFSสำหรับการเข้าถึงไฟล์ โปรโตคอลเช่นESoundหรือ esd สามารถขยายได้อย่างง่ายดายผ่านเครือข่ายเพื่อให้เสียงจากแอปพลิเคชันภายในเครื่อง บนฮาร์ดแวร์เสียงของระบบระยะไกล

ความปลอดภัย

คอมพิวเตอร์ที่ปลอดภัยขึ้นอยู่กับเทคโนโลยีจำนวนหนึ่งที่ทำงานอย่างถูกต้อง ระบบปฏิบัติการที่ทันสมัยให้การเข้าถึงทรัพยากรจำนวนมาก ซึ่งมีให้สำหรับซอฟต์แวร์ที่ทำงานบนระบบ และอุปกรณ์ภายนอก เช่น เครือข่ายผ่านเคอร์เนล[38]

ระบบปฏิบัติการจะต้องสามารถแยกแยะระหว่างคำขอที่ควรได้รับอนุญาตให้ดำเนินการกับคำขออื่น ๆ ที่ไม่ควรดำเนินการ ในขณะที่บางระบบอาจแยกความแตกต่างระหว่าง "ผู้มีสิทธิพิเศษ" และ "ไม่ได้รับสิทธิพิเศษ" แต่ระบบมักมีรูปแบบของข้อมูลประจำตัวของผู้ขอเช่น ชื่อผู้ใช้ เพื่อสร้างเอกลักษณ์อาจจะมีขั้นตอนของการตรวจสอบบ่อยครั้งต้องระบุชื่อผู้ใช้ และชื่อผู้ใช้แต่ละรายอาจมีรหัสผ่าน อาจใช้วิธีอื่นในการรับรองความถูกต้อง เช่น บัตรแม่เหล็กหรือข้อมูลไบโอเมตริกแทน ในบางกรณี โดยเฉพาะอย่างยิ่งการเชื่อมต่อจากเครือข่าย อาจเข้าถึงทรัพยากรได้โดยไม่ต้องมีการตรวจสอบสิทธิ์เลย (เช่น การอ่านไฟล์ผ่านการแชร์เครือข่าย) ยังครอบคลุมถึงแนวคิดของตัวตนผู้ขอคือการอนุญาต ; บริการและทรัพยากรเฉพาะที่ผู้ขอเข้าถึงได้เมื่อเข้าสู่ระบบแล้วจะเชื่อมโยงกับบัญชีผู้ใช้ของผู้ขอหรือกลุ่มผู้ใช้ที่กำหนดค่าไว้อย่างหลากหลายซึ่งผู้ขอเป็นสมาชิกอยู่[ ต้องการการอ้างอิง ]

นอกจากรูปแบบการรักษาความปลอดภัยที่อนุญาตหรือไม่อนุญาตแล้ว ระบบที่มีการรักษาความปลอดภัยระดับสูงยังมีตัวเลือกการตรวจสอบอีกด้วย สิ่งเหล่านี้จะอนุญาตให้ติดตามการร้องขอการเข้าถึงทรัพยากร (เช่น "ใครกำลังอ่านไฟล์นี้?") การรักษาความปลอดภัยภายใน หรือการรักษาความปลอดภัยจากโปรแกรมที่รันอยู่แล้วจะทำได้ก็ต่อเมื่อคำขอที่อาจเป็นอันตรายทั้งหมดต้องดำเนินการผ่านการขัดจังหวะไปยังเคอร์เนลของระบบปฏิบัติการ หากโปรแกรมสามารถเข้าถึงฮาร์ดแวร์และทรัพยากรได้โดยตรง จะไม่สามารถรักษาความปลอดภัยได้[ ต้องการการอ้างอิง ]

การรักษาความปลอดภัยภายนอกเกี่ยวข้องกับคำขอจากภายนอกคอมพิวเตอร์ เช่น การเข้าสู่ระบบที่คอนโซลที่เชื่อมต่อหรือการเชื่อมต่อเครือข่ายบางประเภท คำขอภายนอกมักจะส่งผ่านไดรเวอร์อุปกรณ์ไปยังเคอร์เนลของระบบปฏิบัติการ ซึ่งสามารถส่งผ่านไปยังแอปพลิเคชันหรือดำเนินการได้โดยตรง ความปลอดภัยของระบบปฏิบัติการเป็นเรื่องที่ต้องกังวลมานานแล้ว เนื่องจากมีข้อมูลที่มีความละเอียดอ่อนสูงที่เก็บไว้ในคอมพิวเตอร์ ทั้งในลักษณะทางการค้าและการทหารกระทรวงกลาโหมของรัฐบาล สหรัฐอเมริกา(DoD) ได้สร้างเกณฑ์การประเมินระบบคอมพิวเตอร์ที่เชื่อถือได้ (TCSEC) ซึ่งเป็นมาตรฐานที่กำหนดข้อกำหนดพื้นฐานสำหรับการประเมินประสิทธิผลของการรักษาความปลอดภัย สิ่งนี้มีความสำคัญอย่างยิ่งต่อผู้ผลิตระบบปฏิบัติการ เนื่องจาก TCSEC ถูกใช้เพื่อประเมิน จำแนก และเลือกเชื่อถือได้ระบบปฏิบัติการได้รับการพิจารณาสำหรับการประมวลผลการจัดเก็บและการดึงที่สำคัญหรือข้อมูลลับ

บริการเครือข่ายรวมถึงข้อเสนอต่างๆ เช่น การแชร์ไฟล์ บริการพิมพ์ อีเมล เว็บไซต์ และโปรโตคอลการถ่ายโอนไฟล์ (FTP) ซึ่งส่วนใหญ่อาจมีความปลอดภัย ที่แนวหน้าของการรักษาความปลอดภัยคืออุปกรณ์ฮาร์ดแวร์ที่เรียกว่าไฟร์วอลล์หรือระบบตรวจจับ/ป้องกันการบุกรุก ที่ระดับระบบปฏิบัติการ มีซอฟต์แวร์ไฟร์วอลล์จำนวนหนึ่งพร้อมใช้งาน เช่นเดียวกับระบบตรวจจับ/ป้องกันการบุกรุก ระบบปฏิบัติการที่ทันสมัยส่วนใหญ่มีซอฟต์แวร์ไฟร์วอลล์ ซึ่งเปิดใช้งานตามค่าเริ่มต้น ซอฟต์แวร์ไฟร์วอลล์สามารถกำหนดค่าให้อนุญาตหรือปฏิเสธการรับส่งข้อมูลเครือข่ายไปยังหรือจากบริการหรือแอปพลิเคชันที่ทำงานบนระบบปฏิบัติการ ดังนั้น สามารถติดตั้งและเรียกใช้บริการที่ไม่ปลอดภัย เช่น Telnet หรือ FTP และไม่ต้องถูกคุกคามจากการละเมิดความปลอดภัย เนื่องจากไฟร์วอลล์จะปฏิเสธการรับส่งข้อมูลทั้งหมดที่พยายามเชื่อมต่อกับบริการบนพอร์ตนั้น

กลยุทธ์ทางเลือกและกลยุทธ์แซนด์บ็อกซ์เดียวที่มีอยู่ในระบบที่ไม่ตรงตามข้อกำหนดการจำลองเสมือนของ Popek และ Goldbergคือที่ที่ระบบปฏิบัติการไม่ได้เรียกใช้โปรแกรมผู้ใช้เป็นโค้ดเนทีฟ แต่จะจำลองตัวประมวลผลหรือจัดเตรียมโฮสต์สำหรับp -ระบบที่ใช้รหัสเช่น Java

การรักษาความปลอดภัยภายในมีความเกี่ยวข้องเป็นพิเศษกับระบบที่มีผู้ใช้หลายคน อนุญาตให้ผู้ใช้ระบบแต่ละคนมีไฟล์ส่วนตัวที่ผู้ใช้รายอื่นไม่สามารถแก้ไขหรืออ่านได้ การรักษาความปลอดภัยภายในก็มีความสำคัญเช่นกัน หากการตรวจสอบนั้นมีประโยชน์ เนื่องจากโปรแกรมสามารถเลี่ยงระบบปฏิบัติการได้ รวมถึงการเลี่ยงการตรวจสอบด้วย

หน้าจอผู้ใช้

สกรีนช็อตของบรรทัดคำสั่งBashแต่ละคำสั่งจะถูกพิมพ์ตามหลัง 'พรอมต์' จากนั้นเอาต์พุตของคำสั่งนั้นจะปรากฏขึ้นที่ด้านล่าง โดยเลื่อนลงมาที่หน้าจอ พรอมต์คำสั่งปัจจุบันอยู่ที่ด้านล่าง

คอมพิวเตอร์ที่เป็นที่จะดำเนินการโดยบุคคลที่ทุกคนต้องมีส่วนติดต่อผู้ใช้อินเทอร์เฟซผู้ใช้มักจะเรียกว่าเชลล์และจำเป็นหากต้องรองรับการโต้ตอบของมนุษย์ ส่วนติดต่อผู้ใช้มุมมองโครงสร้างไดเรกทอรีและการร้องขอบริการจากระบบปฏิบัติการที่จะได้รับข้อมูลจากอุปกรณ์ฮาร์ดแวร์การป้อนข้อมูลเช่นแป้นพิมพ์ , เมาส์หรือเครื่องอ่านบัตรเครดิตและขอการดำเนินงานการให้บริการระบบการแสดงผลแจ้ง , ข้อความสถานะและเช่นบนฮาร์ดแวร์เอาท์พุท อุปกรณ์เช่นจอภาพวิดีโอหรือเครื่องพิมพ์. สองรูปแบบที่พบบ่อยที่สุดของอินเทอร์เฟซผู้ใช้ในอดีตคืออินเทอร์เฟซบรรทัดคำสั่งโดยที่คำสั่งคอมพิวเตอร์จะถูกพิมพ์ทีละบรรทัด และอินเทอร์เฟซผู้ใช้แบบกราฟิกซึ่งมีสภาพแวดล้อมที่มองเห็นได้ (โดยปกติคือWIMP )

ส่วนต่อประสานกราฟิกกับผู้ใช้

สกรีนช็อตของอินเทอร์เฟซผู้ใช้แบบกราฟิกKDE Plasma 5 โปรแกรมจะอยู่ในรูปของรูปภาพบนหน้าจอ และไฟล์ โฟลเดอร์ (ไดเรกทอรี) และแอปพลิเคชันจะอยู่ในรูปของไอคอนและสัญลักษณ์ ใช้เมาส์เพื่อนำทางคอมพิวเตอร์

ระบบคอมพิวเตอร์สมัยใหม่ส่วนใหญ่รองรับส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) และมักรวมไว้ด้วย ในระบบคอมพิวเตอร์บางอย่างเช่นการดำเนินงานเดิมของคลาสสิก Mac OS , GUI จะรวมอยู่ในเคอร์เนล

แม้ว่าในทางเทคนิคแล้วอินเทอร์เฟซผู้ใช้แบบกราฟิกจะไม่ใช่บริการของระบบปฏิบัติการ แต่การรวมการรองรับเข้ากับเคอร์เนลของระบบปฏิบัติการจะช่วยให้ GUI ตอบสนองได้ดีขึ้นโดยการลดจำนวนสวิตช์บริบทที่จำเป็นสำหรับ GUI เพื่อทำหน้าที่ส่งออก ระบบปฏิบัติการอื่นเป็นแบบโมดูลาร์โดยแยกระบบย่อยกราฟิกออกจากเคอร์เนลและระบบปฏิบัติการ ในทศวรรษที่ 1980 UNIX, VMS และอื่นๆ อีกมากมีระบบปฏิบัติการที่สร้างขึ้นในลักษณะนี้ Linux และ macOS ถูกสร้างด้วยวิธีนี้เช่นกัน Microsoft Windows รุ่นปัจจุบัน เช่นWindows Vistaใช้ระบบย่อยกราฟิกซึ่งส่วนใหญ่อยู่ในพื้นที่ผู้ใช้ อย่างไรก็ตามกราฟิกวาดรูทีนของเวอร์ชันระหว่างWindows NT 4.0และWindows Server 2003ส่วนใหญ่อยู่ในพื้นที่เคอร์เนล Windows 9xมีความแตกต่างเพียงเล็กน้อยระหว่างอินเทอร์เฟซและเคอร์เนล

ระบบปฏิบัติการคอมพิวเตอร์จำนวนมากอนุญาตให้ผู้ใช้ติดตั้งหรือสร้างส่วนต่อประสานผู้ใช้ที่ต้องการ ระบบX Windowร่วมกับGNOMEหรือKDE Plasma 5คือการตั้งค่าที่พบได้ทั่วไปบนระบบ Unix และUnix-like (BSD, Linux, Solaris) ส่วนใหญ่ มีการเปิดตัวการแทนที่เชลล์ของWindowsจำนวนหนึ่งสำหรับ Microsoft Windows ซึ่งเสนอทางเลือกอื่นให้กับเชลล์ Windows ที่รวมอยู่แต่ตัวเชลล์เองไม่สามารถแยกออกจาก Windows ได้

GUI ที่ใช้ Unix จำนวนมากมีอยู่เมื่อเวลาผ่านไป ส่วนใหญ่มาจาก X11 การแข่งขันระหว่างผู้จำหน่าย Unix (HP, IBM, Sun) ทำให้เกิดการกระจายตัวอย่างมาก แม้ว่าความพยายามที่จะสร้างมาตรฐานให้กับCOSEและCDEในปี 1990 ล้มเหลวด้วยเหตุผลหลายประการ และในที่สุดก็ถูกบดบังด้วยการนำ GNOME และK Desktop Environmentไปใช้อย่างแพร่หลาย. ก่อนหน้าที่จะมีชุดเครื่องมือและสภาพแวดล้อมเดสก์ท็อปที่ใช้ซอฟต์แวร์ฟรี Motif คือชุดเครื่องมือ/เดสก์ท็อปที่แพร่หลาย (และเป็นพื้นฐานที่ CDE พัฒนาขึ้น)

ส่วนต่อประสานกราฟิกกับผู้ใช้มีวิวัฒนาการตลอดเวลา ตัวอย่างเช่น Windows ได้ปรับเปลี่ยนอินเทอร์เฟซผู้ใช้เกือบทุกครั้งที่มีการเปิดตัว Windows เวอร์ชันหลักใหม่ และ GUI ของ Mac OS เปลี่ยนไปอย่างมากด้วยการเปิดตัว Mac OS X ในปี 1999 [39]

ระบบปฏิบัติการแบบเรียลไทม์

ระบบปฏิบัติการตามเวลาจริง (RTOS) เป็นระบบปฏิบัติการที่มีไว้สำหรับแอปพลิเคชันที่มีกำหนดเวลาที่แน่นอน ( การคำนวณตามเวลาจริง ) การใช้งานดังกล่าวรวมถึงระบบฝังตัวขนาดเล็กตัวควบคุมเครื่องยนต์รถยนต์ หุ่นยนต์อุตสาหกรรม ยานอวกาศ การควบคุมอุตสาหกรรม และระบบคอมพิวเตอร์ขนาดใหญ่บางระบบ

ตัวอย่างแรกของขนาดใหญ่ระบบปฏิบัติการเวลาจริงเป็นสิ่งอำนวยความสะดวกการประมวลผลธุรกรรมการพัฒนาโดยอเมริกันแอร์ไลน์และไอบีเอ็มสำหรับการจองสายการบินกระบี่ระบบ

ระบบสมองกลฝังตัวที่มีการแก้ไขกำหนดเวลาที่ใช้ระบบปฏิบัติการแบบ real-timeเช่นVxWorks , PikeOS , Ecos , QNX , MontaVista ลินุกซ์และRTLinux Windows CEเป็นระบบปฏิบัติการแบบเรียลไทม์ที่แชร์ API ที่คล้ายคลึงกันกับ Windows บนเดสก์ท็อป แต่ไม่มีการใช้ codebase ของ Windows บนเดสก์ท็อปร่วมกัน [40] Symbian OSยังมีเคอร์เนล RTOS (EKA2) ที่เริ่มต้นด้วยเวอร์ชัน 8.0b

ระบบฝังตัวบางระบบใช้ระบบปฏิบัติการ เช่นPalm OS , BSDและLinuxแม้ว่าระบบปฏิบัติการดังกล่าวจะไม่สนับสนุนการคำนวณแบบเรียลไทม์

การพัฒนาระบบปฏิบัติการเป็นงานอดิเรก

ระบบปฏิบัติการอดิเรกอาจจัดเป็นระบบปฏิบัติการที่โค้ดไม่ได้มาจากระบบปฏิบัติการที่มีอยู่โดยตรง และมีผู้ใช้และนักพัฒนาที่แอ็คทีฟเพียงไม่กี่ราย [ ต้องการการอ้างอิง ]

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

ตัวอย่างของระบบปฏิบัติการงานอดิเรก ได้แก่พยางค์และTempleOS

ความหลากหลายของระบบปฏิบัติการและการพกพา

ซอฟต์แวร์แอปพลิเคชันโดยทั่วไปเขียนขึ้นเพื่อใช้กับระบบปฏิบัติการเฉพาะ และบางครั้งแม้แต่กับฮาร์ดแวร์เฉพาะ [ ต้องการการอ้างอิง ]เมื่อย้ายแอปพลิเคชันเพื่อทำงานบนระบบปฏิบัติการอื่น ฟังก์ชันการทำงานที่แอปพลิเคชันนั้นจำเป็นต้องใช้อาจแตกต่างไปตามระบบปฏิบัติการนั้น (ชื่อของฟังก์ชัน ความหมายของอาร์กิวเมนต์ ฯลฯ) ที่กำหนดให้แอปพลิเคชันต้องถูกดัดแปลง เปลี่ยนแปลง หรือ มิฉะนั้นการบำรุงรักษา

Unix เป็นระบบปฏิบัติการตัวแรกที่ไม่ได้เขียนด้วยภาษาแอสเซมบลี ทำให้สามารถพกพาไปใช้กับระบบที่แตกต่างจากPDP-11ดั้งเดิมได้ [41]

ค่าใช้จ่ายในการสนับสนุนความหลากหลายของระบบปฏิบัติการนี้สามารถหลีกเลี่ยงได้โดยการเขียนแอปพลิเคชันกับแพลตฟอร์มซอฟต์แวร์เช่นJavaหรือQtแทน นามธรรมเหล่านี้ได้แบกรับค่าใช้จ่ายในการปรับตัวให้เข้ากับระบบปฏิบัติการเฉพาะและไลบรารีระบบของพวกเขาแล้ว

อีกแนวทางหนึ่งคือให้ผู้จำหน่ายระบบปฏิบัติการนำมาตรฐานมาใช้ ตัวอย่างเช่นเลเยอร์POSIXและOS ที่เป็นนามธรรมทำให้เกิดความคล้ายคลึงกันซึ่งช่วยลดต้นทุนการย้ายพอร์ต

ส่วนแบ่งการตลาด

ดูสิ่งนี้ด้วย

หมายเหตุ

  1. ^ การรวมกันของ DOS/360 และซอฟต์แวร์จำลองเรียกว่าระบบปฏิบัติการที่เข้ากันได้ (COS)
  2. ^ อย่างไรก็ตาม ESPOL ได้อนุญาตให้โปรแกรมต้นทางระบุการดำเนินการทั้งหมดของรายการเพลงคำสั่ง

อ้างอิง

  1. ^ สตอลลิงส์ (2005). ระบบปฏิบัติการ, Internals และหลักการออกแบบ เพียร์สัน: Prentice Hall NS. 6.
  2. ^ Dhotre, ไอโอวา (2009) ระบบปฏิบัติการ . สิ่งพิมพ์ทางเทคนิค NS. 1.
  3. a b "VII. Special-Purpose Systems - Operating System Concepts, Seventh Edition [Book]" . www.oreilly.com .
  4. ^ "ตลาดระบบปฏิบัติการสก์ท็อปแบ่งปันทั่วโลก" StatCounter ทั่วโลกสถิติ สืบค้นเมื่อ31 ตุลาคม 2020 .
  5. ^ "ตลาดระบบมือถือและแท็บเล็ตในการใช้งานแบ่งปันทั่วโลก" StatCounter ทั่วโลกสถิติ สืบค้นเมื่อ31 ตุลาคม 2020 .
  6. ^ "Analytics กลยุทธ์: Android จับบันทึกร้อยละ 88 ส่วนแบ่งการจัดส่งมาร์ทโฟนทั่วโลกในไตรมาส 3 ปี 2016" 2 พฤศจิกายน 2559 เก็บถาวรจากต้นฉบับเมื่อวันที่ 5 พฤศจิกายน 2559
  7. ^ "วัตถุประสงค์พิเศษระบบปฏิบัติการ - มหาวิทยาลัย RWTH Aachen สถาบันสำหรับการทำงานอัตโนมัติของระบบพาวเวอร์คอมเพล็กซ์ - อังกฤษ" www.acs.eonerc.rwth-aachen.de
  8. ^ Lorch จาค็อบอาร์และอลันสมิ ธ เจ "การลดการใช้พลังงานของโปรเซสเซอร์โดยการปรับปรุงการจัดการเวลาของโปรเซสเซอร์ในระบบปฏิบัติการแบบผู้ใช้คนเดียว" การประชุมวิชาการระดับนานาชาติประจำปีครั้งที่ 2 ด้านคอมพิวเตอร์มือถือและเครือข่าย เอซีเอ็ม, 2539.
  9. ^ มิชรา บี.; ซิงห์, น.; ซิงห์, อาร์ (2014). "แบบจำลองตามกลุ่มมาสเตอร์-ทาสสำหรับการคัดเลือกผู้ประสานงาน การปรับปรุงอัลกอริธึมอันธพาล" การประชุมนานาชาติเกี่ยวขนานกระจายและกริดคอมพิว (PDGC) หน้า 457–460. ดอย : 10.1109/PDGC.2014.7030789 . ISBN 978-1-4799-7682-9. S2CID  13887160 .
  10. ^ Gagne, Silberschatz Galvin (2012). แนวคิดระบบปฏิบัติการ . นิวยอร์ก: ไวลีย์ NS. 716. ISBN 978-1118063330.
  11. อรรถเป็น แฮนเซน ต่อบรินช์ เอ็ด (2001). คลาสสิกระบบปฏิบัติการ สปริงเกอร์. หน้า 4–7. ISBN 0-387-95113-X.
  12. ^ ลา วิงตัน, ไซม่อน (1998). ประวัติของคอมพิวเตอร์แมนเชสเตอร์ (ฉบับที่ 2) สวินดอน: สมาคมคอมพิวเตอร์อังกฤษ น. 50–52. ISBN 978-1-902505-01-5.
  13. ^ Brinch แฮนเซนต่อ (2000) คลาสสิกระบบปฏิบัติการ: ระบบจากการประมวลผลชุดเพื่อแจกจ่าย สปริงเกอร์-แวร์แล็ก.
  14. ^ "คู่มืออ้างอิงฉบับย่อของไมโครโปรเซสเซอร์ Intel® - ปี" . www.intel.comครับ เก็บถาวรจากต้นฉบับเมื่อ 25 เมษายน 2559 . สืบค้นเมื่อ24 เมษายน 2559 .
  15. ริตชี่, เดนนิส. "คู่มือยูนิกซ์ ฉบับพิมพ์ครั้งแรก" . ลูเซนต์ เทคโนโลยีส์ เก็บถาวรจากต้นฉบับเมื่อ 18 พฤษภาคม 2551 . สืบค้นเมื่อ22 พฤศจิกายน 2555 .
  16. ^ "OS X Mountain Lion – ขับเคลื่อน Mac ของคุณให้ดียิ่งขึ้นไปอีก" . แอปเปิ้ล. เก็บถาวรจากต้นฉบับเมื่อ 23 พฤษภาคม 2554 . สืบค้นเมื่อ7 สิงหาคม 2555 .
  17. ^ "ยี่สิบปีแห่งลินุกซ์ตาม Linus Torvalds" . ซีดีเน็ต. 13 เมษายน 2554 เก็บถาวรจากต้นฉบับเมื่อ 19 กันยายน 2559 . สืบค้นเมื่อ19 กันยายน 2559 .
  18. ^ Linus Torvalds เบเนดิกต์ (5 ตุลาคม 1991) "ฟรีมินิกซ์เหมือนแหล่งเคอร์เนลสำหรับ 386-AT" กลุ่มข่าวcomp.os.minix . สืบค้นเมื่อ30 กันยายน 2011 .
  19. ^ "ลินุกซ์คืออะไร: ภาพรวมของระบบปฏิบัติการลินุกซ์" . ปานกลาง. สืบค้นเมื่อ21 ธันวาคม 2019 .
  20. ^ ลินุกซ์ออนไลน์ (2008) "โลโก้และมาสคอตลินุกซ์" . เก็บถาวรจากต้นฉบับเมื่อ 15 สิงหาคม 2010 . สืบค้นเมื่อ11 สิงหาคม 2552 .
  21. ^ a b "ระบบปฏิบัติการ 5 อันดับแรกตั้งแต่มกราคมถึงเมษายน 2554" . StatCounter. ตุลาคม 2552. เก็บถาวรจากต้นฉบับเมื่อ 26 พฤษภาคม 2555 . สืบค้นเมื่อ5 พฤศจิกายน 2552 .
  22. ^ "IDC รายงานส่วนแบ่งตลาดเซิร์ฟเวอร์" . ไอดีซี.คอม เก็บถาวรจากต้นฉบับเมื่อ 27 กันยายน 2555 . สืบค้นเมื่อ7 สิงหาคม 2555 .
  23. ^ เจ้าหน้าที่ LinuxDevices (23 เมษายน 2551) "Linux OS ยังคงฝังอยู่ด้านบน" LinuxGizmos.com . เก็บถาวรจากต้นฉบับเมื่อ 19 เมษายน 2559 . สืบค้นเมื่อ5 เมษายน 2559 .
  24. ^ "ตัวสร้างรายการย่อย" . Top500.org . สืบค้นเมื่อ6 กุมภาพันธ์ 2560 .
  25. ^ "สถิติเว็บทั่วโลก" . ส่วนแบ่งตลาดสุทธิ แอปพลิเคชั่นเน็ต พฤษภาคม 2011. เก็บถาวรจากต้นฉบับเมื่อ 25 มกราคม 2010 . สืบค้นเมื่อ7 พฤษภาคม 2011 .
  26. ^ "สถิติเว็บทั่วโลก" . W3Counter, บริการเว็บ Awio กันยายน 2552 เก็บถาวรจากต้นฉบับเมื่อ 28 มิถุนายน 2555 . สืบค้นเมื่อ24 ตุลาคม 2552 .
  27. ^ "ส่วนแบ่งการตลาดของระบบปฏิบัติการ" . แอพพลิเคชั่นเน็ต ตุลาคม 2552. เก็บถาวรจากต้นฉบับเมื่อ 25 มกราคม 2553 . สืบค้นเมื่อ5 พฤศจิกายน 2552 .
  28. ^ "สถิติแพลตฟอร์มระบบปฏิบัติการ w3schools.com" . เก็บถาวรจากต้นฉบับเมื่อ 5 สิงหาคม 2011 . สืบค้นเมื่อ30 ตุลาคม 2011 .
  29. ^ "สถิตินับสถิติโลกระบบ Top Five การใช้งาน" เก็บถาวรจากต้นฉบับเมื่อ 26 พฤษภาคม 2555 . สืบค้นเมื่อ30 ตุลาคม 2011 .
  30. ^ "สถิติทั่วโลกที่ w3counter.com" . เก็บถาวรจากต้นฉบับเมื่อ 28 มิถุนายน 2555 . สืบค้นเมื่อ23 มกราคม 2555 .
  31. ^ "โหมดความเข้ากันได้การแก้ไขปัญหาของ MS-DOS บนฮาร์ดดิสก์" สนับสนุน.microsoft.com เก็บถาวรจากต้นฉบับเมื่อ 10 สิงหาคม 2555 . สืบค้นเมื่อ7 สิงหาคม 2555 .
  32. ^ "การใช้ไดรเวอร์ NDIS 2 PCMCIA การ์ดเครือข่ายใน Windows 95" สนับสนุน.microsoft.com เก็บถาวรจากต้นฉบับเมื่อ 17 กุมภาพันธ์ 2556 . สืบค้นเมื่อ7 สิงหาคม 2555 .
  33. ^ "ข้อมูล: Windows 95 มัลติมีเดียคลื่นไดรเวอร์ของอุปกรณ์จะต้องเป็น 16 บิต" สนับสนุน.microsoft.com เก็บถาวรจากต้นฉบับเมื่อ 17 กุมภาพันธ์ 2556 . สืบค้นเมื่อ7 สิงหาคม 2555 .
  34. ^ อาเธอร์, ชาร์ลส์. "Windows 8 จะทำงานบนชิป ARM - แต่ปพลิเคชันของบุคคลที่สามจะต้องเขียน" เดอะการ์เดียน . เก็บจากต้นฉบับเมื่อ 12 ตุลาคม 2559
  35. ^ "ระบบปฏิบัติการแบ่งปันโดยกลุ่มสำหรับไซต์ในทุกสถานที่ มกราคม 2552" . เก็บถาวรจากต้นฉบับเมื่อ 6 กรกฎาคม 2552 . สืบค้นเมื่อ3 พฤษภาคม 2010 .
  36. ^ "หลังข้อมูลของไอดีซี: Windows ยังคงอันดับ 1 ในระบบปฏิบัติการเซิร์ฟเวอร์" ซีดีเน็ต . 26 กุมภาพันธ์ 2553 เก็บถาวรจากต้นฉบับเมื่อ 1 มีนาคม 2553
  37. ^ ลิ่ง, วิลเลียม (2008) องค์การคอมพิวเตอร์และสถาปัตยกรรม . นิวเดลี: Prentice-Hall of India Private Limited NS. 267. ISBN 978-81-203-2962-1.
  38. ^ "ระบบปฏิบัติการ: ความปลอดภัย" . www.cs.uic.edu สืบค้นเมื่อ27 พฤศจิกายน 2020 .
  39. ^ ปัวซอง, เคน. "เหตุการณ์ของซอฟแวร์คอมพิวเตอร์ส่วนบุคคล" ที่จัดเก็บ 14 พฤษภาคม 2008 ที่เครื่อง Wayback สืบค้นเมื่อ 2008-05-07. ตรวจสอบล่าสุดเมื่อ 2009-03-30
  40. ^ "การอ่าน: ระบบปฏิบัติการ" . Lumen สืบค้นเมื่อ5 มกราคม 2019 .
  41. ^ "ประวัติของยูนิกซ์" . BYTE สิงหาคม 2526 น. 188 . สืบค้นเมื่อ31 มกราคม 2558 .

อ่านเพิ่มเติม

  • ออสแลนเดอร์, มาร์ค เอ.; ลาร์กิน, เดวิด ซี.; เชอร์, อัลลัน แอล. (1981). "วิวัฒนาการของระบบปฏิบัติการ MVS" (PDF) . IBM J. การวิจัยและพัฒนา. อ้างอิงวารสารต้องการ|journal=( ความช่วยเหลือ )
  • ไดเทล, ฮาร์วีย์ เอ็ม.; ไดเทล, พอล; ชอฟเนส, เดวิด (25 ธันวาคม 2558). ระบบปฏิบัติการ . เพียร์สัน/เพรนทิซ ฮอลล์ ISBN 978-0-13-092641-8.
  • Bic, Lubomur F.; ชอว์, อลัน ซี. (2003). ระบบปฏิบัติการ . เพียร์สัน: Prentice Hall
  • Silberschatz, อาวี; กัลวิน, ปีเตอร์; แก๊ก, เกร็ก (2551). แนวคิดระบบปฏิบัติการ . จอห์น ไวลีย์ แอนด์ ซันส์ . ISBN 978-0-170-12872-5.
  • โอไบรอัน เจเอ และมาราคัส จีเอ็ม (2011) ระบบสารสนเทศเพื่อการจัดการ . 10อี แมคกรอว์-ฮิลล์ เออร์วิน
  • เลวา อัลเบร์โต; แม็กจิโอ, มาร์ตินา; ปาปาโดปูลอส, อเลสซานโดร วิตโตริโอ; Terraneo, Federico (2013). การควบคุมตามการออกแบบระบบปฏิบัติการ ไออีที . ISBN 978-1-84919-609-3.
  • Arpaci-Dusseau, เรมซี; Arpaci-Dusseau, อันเดรีย (2015). ระบบปฏิบัติการ: สามชิ้นง่าย

ลิงค์ภายนอก