340 likes | 653 Views
Chapter 9 : ระบบปฏิบัติการ Windows. Computer Operating System ระบบปฏิบัติการคอมพิวเตอร์. ประวัติ ของ Windows. ระบบปฏิบัติการของ Microsoft สำหรับเครื่องเดสก์ทอปและแลปทอป สามารถแบ่งเป็น 3 ตระกูลคือ MS-DOS Windows ( รวมทั้ง Windows 3.1/95/98/ME) Windows NT ( รวมทั้ง Windows 2000).
E N D
Chapter 9 : ระบบปฏิบัติการ Windows Computer Operating System ระบบปฏิบัติการคอมพิวเตอร์
ประวัติของ Windows • ระบบปฏิบัติการของ Microsoft สำหรับเครื่องเดสก์ทอปและแลปทอป สามารถแบ่งเป็น 3 ตระกูลคือ • MS-DOS • Windows (รวมทั้ง Windows 3.1/95/98/ME) • Windows NT (รวมทั้ง Windows 2000)
MS-DOS • ในปี ค.ศ.1981 IBM ซึ่งเป็นยักษ์ใหญ่ในวงการคอมพิวเตอร์ในขณะนั้นได้ผลิตเครื่องคอมพิวเตอร์ส่วนบุคคล หรือ PC (Personal Computer) • ระบบปฏิบัติการเป็นคำสั่งบรรทัดเดียวที่ชื่อ MS-DOS 1.0 • ระบบปฏิบัติการนี้สร้างโดยบริษัท Microsoft ใช้ตัวแปลภาษา BASIC สำหรับใช้บน 8088 และ Z-80 • ระบบปฏิบัติการประกอบด้วย หน่วยความจำ 8 กิโลไบต์ใกล้เคียงกับโมเดล CP/M ในช่วงเวลา 2 ปีต่อมาระบบปฏิบัติการมีประสิทธิภาพสูงขึ้นเป็น 24 กิโลไบต์ โดยใช้ MS-DOS 2.0 ที่ยังคงเป็นบรรทัดคำสั่งที่ขอยืมมาจาก UNIX อยู่
MS-DOS • Intel ได้ผลิตซีพียู 80286 ขึ้นมา ทาง IBM จึงได้สร้าง PC/AT ในปี 1986 • โดยที่ AT มาจากคำว่า Advance Technology เนื่องจาก 80286 สามารถรันได้ที่ความถี่ 8 เมกะเฮิร์ต (MHz) โดยใช้หน่วยความจำได้ถึง 16 เมกะไบต์ • เครื่องคอมพิวเตอร์ทั่วไปจะมีหน่วยความจำเพียง 1-2 เมกะไบต์เนื่องจากในขณะนั้นหน่วยความจำมีราคาแพงนั่นเอง • ในช่วงนี้จะใช้ MS-DOS 3.0 ที่ได้รับการพัฒนาเพิ่มฟีเจอร์ต่าง ๆ มากมาย แต่ยังคงเป็นบรรทัดคำสั่งอยู่
Windows 3.1 • ในขณะที่ MS-DOS 3.0 เป็นระบบปฏิบัติการของ PC ในช่วงนั้น ผู้ใช้ให้ความสนใจและหลงไหลยูเซอร์อินเทอร์เฟซของ Apple Lisa ซึ่งทำงานบน Apple Macintosh • ทาง Microsoft จึงตัดสินใจที่จะเพิ่มเซลล์ของ MS-DOS สามารถทำงานในลักษณะกราฟิกยูเซอร์อินเทอร์เฟซ โดยตั้งชื่อว่า Windows • เริ่มวางจำหน่าย Windows 1.0 ในปี 1985 แต่ไม่ประสบความสำเร็จ • ปี 1987 Windows 2.0 ที่ออกแบบสำหรับ PC/AT ก็ออกวางตลาด แต่ไม่ประสบความสำเร็จมากนัก • ปี 1980 ถึงเวลาของ Windows 3.0 ที่รันกับ 80386 • จนมีเวอร์ชัน 3.1 และ 3.11 ออกมา
Windows 95 / 98 / ME • Windows 95 ที่วางจำหน่ายในปี 1995 ก็ยังคงแยกตัวออกจาก MS-DOS ไม่สมบูรณ์ (ถึงแม้จะถ่ายโอนมาจาก MS-DOS จนเข้าใกล้ Windows แล้วก็ตาม) • ถึงแม้ Windows 95 จะเป็นระบบปฏิบัติการที่ได้รับการพัฒนาอย่างมากแล้วก็ตามไม่ว่าจะเป็นด้านความจำเสมือน, การจัดการหน่วยความจำ และมัลติโปรแกรมมิ่ง • Windows 95 ยังไม่ได้เป็นระบบปฏิบัติการเต็มรูปแบบ มันยังคงมีโค้ดแบบ 16 บิตภาษาแอสเซ็มบลีอยู่ และยังคงใช้ระบบไฟล์แบบ MS-DOS อยู่ • สิ่งหลักที่เห็นได้ชัดในการเปลี่ยนแปลงก็คือชื่อไฟล์ที่มีความยาวได้มากกว่าระบบ 8+3 ตามระบบของ MS-DOS
Windows 95 / 98 / ME • Windows 98 ออกจำหน่าย MS-DOS (เวอร์ชัน 7.1) ยังคงรวมตัวอยู่ในโค้ดถึงแม้จะมีการแยกฟังก์ชันออกมาจาก MS-DOS • มีการกำหนดเลย์เอาต์ของดิสก์ (จากเดิม FAT-16 เป็น FAT-32) ให้รองรับดิสก์ขนาดใหญ่แล้วก็ตาม (จากเดิมไม่เกิน 2 กิกะไบต์ เป็นไม่เกิน 2 เทอร์ราไบต์) • สำคัญก็คือ Windows 98 ไม่ได้มีอะไรที่แตกต่างจาก Windows 95 มากนัก • สิ่งที่แตกต่างหลัก ๆ อยู่ที่ยูเซอร์อินเทอร์เฟซที่รวมเดสก์ทอปและอินเทอร์เน็ตให้ใกล้ชิดกันมากยิ่งขึ้น
Windows 95 / 98 / ME • ปัญหาการใช้งาน Windows 98 ยังคงมีอยู่ เนื่องมาจากการที่ไม่แยกตัวออกจาก MS-DOS อย่างเด็ดขาดนั่นเอง • ในปี 2000 Microsoft ทำให้ผู้ใช้เกิดข้อสงสัยและสับสน เนื่องจากก่อนหน้านั้น Microsoft ออกข่าวว่าจะไม่มีพัฒนา Windows 9x อีกแล้ว • แต่ก็มี Windows ME (Millennium Edition) ซึ่งเป็นเหมือนฝาแฝดของ Windows 98 ออกมาหลังจาก Windows 2000 ไม่นาน • ซึ่งใช้ชื่อ Millennium ซึ่งแปลว่า 2000 เหมือนกันทำให้สับสน (ME ออกมาเพื่อรักษาตลาดเดิมของ Windows 9x ไว้) • ซึ่งส่วนมากเป็นแก้ไขบักที่มีใน Windows 98 และเพิ่มประสิทธิภาพด้านกราฟิก, มัลติมีเดีย และเน็ตเวิร์ค
Windows NT • ปี 1985 Microsoft และ IBM ร่วมกันพัฒนาระบบปฏิบัติการ OS/2 ที่เขียนด้วยภาษาแอสเซ็มบลีสำหรับที่ใช้โปรเซสเซอร์เดียวบนซีพียู 80286 • ปี 1988 Microsoft ตัดสินใจที่จะเริ่มต้นใหม่ในการพัฒนา “ระบบใหม่” หรือ NT (New Technology) ที่สนับสนุน Application-Programming Interface (API) ทั้ง OS/2 และ POSIX • เดือนตุลาคม 1988 Microsoft จ้าง Dave Cutler สถาปนิกระบบปฏิบัติการ DEC VAX/VMS เข้ามาดูและระบบปฏิบัติการใหม่ที่ว่านี้ • ตามความโด่งดังของ Windows 3.0 เวอร์ชันแรกของ NT คือ Windows NT 3.1 และ Windows NT 3.1 Advanced Server ซึ่งวางจำหน่ายในปี 1993
Windows NT • ลักษณะเด่นก็คือระบบไฟล์แบบ NTFS (New Technology File System) • ปี 1996 ทาง Microsoft ได้พัฒนา Windows NT จนมาถึงเวอร์ชัน 4.0 ซึ่งระบบปฏิบัติการนี้มีประสิทธิภาพสูงขึ้น • Windows NT 4.0 นี้มีรูปแบบยูเซอร์อินเทอร์เฟซคล้ายกับ Windows 95 • ผนวกโปรแกรมเว็บบราวเซอร์เพื่อการใช้งานอินเทอร์เน็ตมาให้ด้วยทำให้ผู้ใช้ตัดสินใจเปลี่ยนไปใช้ได้ง่ายขึ้น
ข้อแตกต่างระหว่าง Windows 95/98 กับ Windows NT 4.0
Windows 2000 • เดิมโค้ดในการพัฒนาเวอร์ชันต่อไปของ Windows NT 4.0 ใช้ชื่อว่า Windows NT 5.0 • ต่อมา Microsoft เปลี่ยนชื่อเป็น Windows 2000 เพื่อต้องการใช้เป็นชื่อกลางสำหรับผู้ใช้ Windows 98 และ Windows NT • Windows 2000 เป็นระบบปฏิบัติการแบบมัลติยูเซอร์ (multiuser) แบบ 32 บิตที่แท้จริง • ใช้สถาปัตยกรรม microkernel (เช่นเดียวกับ Mach) โดยแต่ละส่วนเป็นส่วนหนึ่งของระบบปฏิบัติการ และไม่เกิดผลกระทบกับส่วนอื่น แต่ละโปรเซสมีแอ็ดเดรสเสมือนแบบ 32 บิตเป็นของตนเอง
Windows 2000 • ในขณะที่ระบบปฏิบัติการใช้โหมด Kernel โปรเซสของผู้ใช้เป็นโหมดยูเซอร์ที่ได้รับการป้องกันอย่างสมบูรณ์ แต่ละโปรเซสจะมี thread เท่าไรก็ได้ • ด้านเน็ตเวิร์ค Windows 2000 ได้เพิ่ม X.500-based directory สนับสนุนด้านเน็ตเวิร์คดีขึ้น, สนับสนุนดีไวซ์ Plug-and-play, ระบบไฟล์แบบใหม่ที่สนับสนุน hierarchical storage, และระบบไฟล์แบบกระจาย • Windows 2000 มี 4 เวอร์ชันให้เลือกใช้งานตามความเหมาะสม • เวอร์ชันแรกเป็น Professional ที่เหมาะสำหรับผู้ใช้งานทั่วไป • Server • Advanced Server • Datacenter Server
Windows 2000 • ทั้ง 3 เวอร์ชันต่างกันที่จำนวนซีพียูและหน่วยความจำที่สนับสนุน • แต่เวอร์ชัน Server และ Advanced Server สามารถปรับแต่งสำหรับไคลเอ็นต์-เซิร์ฟเวอร์แอปพลิเคชัน • และทำหน้าที่เป็นแอปพลิเคชันเซิร์ฟเวอร์สำหรับ NetWare และ Microsoft LANs • สำหรับ Windows 2000 Datacenter Server สนับสนุนโปรเซสเซอร์ถึง 32 ตัว หน่วยความจำถึง 64 กิกะไบต์
Windows 2000 Windows 2000 Datacenter Server สนับสนุนโปรเซสเซอร์ถึง 32 ตัว หน่วยความจำถึง 64 กิกะไบต์
Windows 2000 • ความสามารถในการออกแบบ • ความสามารถในการขยายระบบ • สามารถเคลื่อนย้ายได้ • เชื่อถือได้ • คอมแพติเบิล • ประสิทธิภาพ • การสนับสนุนหลายภาษา
Windows 2000 • โครงสร้างระบบ • สถาปัตยกรรมของ Windows 2000 เป็นเลเยอร์ของโมดูล • เลเยอร์หลัก ๆ คือ HAL, Kernel และ Executive • ทุกเลเยอร์จะรันใน protected mode และกลุ่มของระบบย่อยที่รันใน user mode • ระบบย่อยใน user model แบ่งออกเป็น 2 กลุ่ม ใหญ่คือ • environmental subsystem (จำลองเป็นระบบปฏิบัติการที่แตกต่างกัน) • protection subsystem (ที่มีฟังก์ชันสำหรับการรักษาความปลอดภัย)
Windows 2000 บล็อกไดอะแกรมของ Windows 2000
Windows 2000 • การจัดการโปรเซส และ thread • Windows 2000 โปรเซสก็คือแอปพลิเคชันที่กำลังเอ็กซิคิวต์ และ thread เป็นหน่วยหนึ่งของโค้ดที่จัดเวลาโดยระบบปฏิบัติการ • โปรเซสประกอบด้วย thread 1 thread หรือมากกว่าก็ได้ • โปรเซสจะเริ่มต้นเมื่อโปรเซสอื่นเรียกรูทีน Create Process รูทีนนี้จะโหลด Dynamic Link Libraries (DLL) ที่โปรเซสต้องการใช้งาน • และสร้าง primary thread นอกจากนี้ thread ยังสามารถสร้างจากฟังก์ชัน CreateThread • thread จะสร้างด้วยสแต็กของตัวเอง ซึ่งสแต็กนี้จะมีขนาดมาตรฐานเป็น 1 เมกะไบต์
Windows 2000 • การจัดการหน่วยความจำ • การใช้หน่วยความจำเสมือน : แอปพลิเคชันจะใช้ฟังก์ชัน VirtualAllocในการสงวนหรือใช้หน่วยความจำเสมือน ส่วนคำสั่งตรงข้ามคือ VirtualFreeเพื่อเลิกใช้หน่วยความจำ • แมพหน่วยความจำเป็นไฟล์ : วิธีนี้เป็นอีกวิธีหนึ่งที่แอปพลิเคชันใช้หน่วยความจำโดยแมพเนื้อที่หน่วยความจำเป็นไฟล์ การแมพหน่วยความจำนี้เป็นประโยชน์เมื่อโปรเซส 2 โปรเซสมีการแชร์หน่วยความจำ • Heap : เมื่อโปรเซสใน Win32 เริ่มต้นขึ้น จะสร้าง default heap ขนาด 1 เมกะไบต์ เนื่องจากฟังก์ชันของ Win32 หลายฟังก์ชันใช้ default heap การแอ็กเซส heap เป็นการซินโครไนซ์เพื่อป้องกันโครงสร้างข้อมูลของ heap จากอันตรายเมื่ออัปเดทพร้อมกันจาก thread หลาย thread
Windows 2000 • การจัดการอุปกรณ์อินพุต/เอาต์พุต • เป้าหมายหลักของระบบอินพุต/เอาต์พุตของ Windows 2000 ก็คือสร้างเฟรมเวิร์คสำหรับดูแลอุปกรณ์อินพุต/เอาต์พุตที่มีอยู่หลากหลาย • อุปกรณ์ที่เป็นอินพุตในปัจจุบันมีทั้งคีย์บอร์ด, เมาส์, จอยสติ๊ก, สแกนเนอร์, กล้องดิจิตอล, เครื่องอ่านบาร์โค้ด และไมโครโฟน • อุปกรณ์ที่เป็นเอาต์พุตมีทั้งมอนิเตอร์, เครื่องพิมพ์, พล็อตเตอร์, เครื่องบันทึกซีดี และการ์ดเสียง นอกจากนี้ยังมีสื่อที่ใช้ในการจัดเก็บข้อมูล เช่น ฟล็อปปีดิสก์, ฮาร์ดดิสก์, ซีดีรอม, ดีวีดี และเทป • Windows 2000 ได้ถูกออกแบบด้วยเฟรมเวิร์คธรรมดาที่ทำให้อุปกรณ์สามารถเชื่อมต่อระบบได้อย่างง่ายดาย
Windows 2000 กลุ่มของ Win32 API
ระบบไฟล์ใน Windows 2000 • Windows 2000 สนับสนุนระบบไฟล์หลายรูปแบบที่สำคัญคือ FAT-16 (File Allocation Table), FAT-32, NTFS (New Technology File System) และ OS/2 HPFS โดยที่ FAT-16 • นอกจากนี้ Windows 2000 ยังสนับสนุนระบบไฟล์แบบอ่านอย่างเดียว (read-only) สำหรับ CD-ROM และ DVD และมีความเป็นไปได้ด้วยที่ระบบที่กำลังทำงานอยู่ในระบบหนึ่งสามารถแอ็กเซสระบบไฟล์ได้หลายระบบในเวลาเดียวกัน • ชื่อไฟล์เดี่ยว ๆ ในระบบไฟล์ NTFS มีขนาดไม่เกิน 255 ตัวอักษร แต่ถ้ารวมพาธจะมีขนาดได้มากถึง 32,767 ตัวอักษร ชื่อไฟล์เป็นยูนิโค้ด (Unicode)
ระบบไฟล์ใน Windows 2000 • โครงสร้างข้อมูลหลักในแต่ละ volume คือ MFT (Master File Table) ซึ่งเป็นเรกคอร์ดขนาด 1 กิโลไบต์ของไบต์ที่เรียงต่อกันไป • แต่ละเรกคอร์ดของ MFT จะแสดงไฟล์ 1 ไฟล์ หรือไดเรกทอรี 1 ไดเรกทอรีที่มีแอตตริบิวต์ เช่น ชื่อของไฟล์ หรือเวลาที่จัดเก็บ รวมทั้งลิสต์ของเนื้อที่ดิสก์ที่แบ่งช่วงไว้ • ในระบบไฟล์ NTFS ไม่ได้แยกดิสก์ออกเป็นเซ็กเตอร์ (sector) แต่จะใช้คลัสเตอร์ (cluster) ในการกำหนดหน่วยของดิสก์ • NTFS ใช้ Logical Cluster Number (LCN) เป็นแอ็ดเดรสของดิสก์ โดยกำหนดเป็นหมายเลขคลัสเตอร์จากจุดเริ่มต้นของดิสก์ไปจนถึงจุดสุดท้ายของดิสก์
Windows 2000 ฟังก์ชันของ Win32 API เมื่อเปรียบเทียบกับคำสั่งของ UNIX
การรักษาความปลอดภัย Windows 2000 • Windows 2000 ได้รับขั้นการรักษาความปลอดภัยของระบบระดับ C2 จากกระทรวงกลาโหมสหรัฐฯ • Windows 2000 มีการรักษาความปลอดภัยในระดับที่ระบบปฏิบัติการพึงมีอยู่แล้ว นอกจากการใช้ชื่อล็อกอินและรหัสผ่านสำหรับการเข้าสู่ระบบซึ่งเป็นสิ่งพื้นฐาน • ใน Windows 2000 ผู้ใช้ทุกคนจะถูกกำหนดด้วย SID (Security ID) ซึ่ง SID เป็นเลขฐานสองที่มีสองส่วนคือส่วนหัวสั้นๆ แล้วตามด้วยตัวเลขสุ่มหลายตัว แต่ละ SID