วันอังคารที่ 27 มกราคม พ.ศ. 2552

การเข้ารหัส

1.Erq
Plaintext Erq
HEX 45 43 42
binary 01000101 01000011 01000010
Dec 17 20 13 2
table R U N C
2.Dkp
Plaintext Dkp
HEX 44 36 41
binary 01000100 00110110 01000001
Dec 17 3 25 1
table R D Z B
3.BOY
Plaintext BOY
HEX 42 4F 59
binary 01000010 01001111 01011001
Dec 16 36 61 25
table O k 9 Z
4.COK
Plaintext COK
HEX 43 4F 4B
binary 01000010 01001111 01011001
Dec 16 52 61 11
table O 0 9 L

การถอดรหัส

1. Uyew
ciphtertext Uyew
dec 20 50 30 48
binary 010100 110010 011110 110000
HEX 53 27 B0
2. Xb2x
ciphtertext Xb2x
dec 23 27 C 49
binary 010111 011011 101011 110001
HEX 5D BA F1
3. dTR4
ciphtertext dTR4
dec 29 19 17 E
binary 011101 010011 010001 101101
HEX 75 34 6D
4. KwRP
ciphtertext KwRP
dec 10 48 17 15
binary 001010 110000 010001
HEX 2B 04 4F

วันอาทิตย์ที่ 25 มกราคม พ.ศ. 2552

สรุปและข้อสอบบทที่15

15 ประวัติของระบบปฏิบัติการ Window 2000
Microsoft Windows 2000 เป็นระบบปฏิบัติการ 32 บิตแบบ preemptive multitasking ได้รับการพัฒนาต่อเนื่องมาจาก Windows NT แต่เดิมมีโค้ดเนมในการพัฒนาเป็น Windows 5.0 เป้าหมายหลักในการพัฒนาระบบคือ ความสามารถในการเคลื่อนย้าย, ระบบรักษาความปลอดภัย, เข้าได้กับระบบ Portable Operating System Interface (POSIX หรือ IEEE ste. 1003.1), สนับสนุนมัลติโปรเซสเซอร์, ขยายระบบได้ง่าย และคอมแพติเบิลกับ แอปพลิเคชันของ MS-DOS และ Microsoft Windows ในบทนี้จะกล่าวถึงประวัติความเป็นมาของระบบ, หลักการออกแบบ, โครงสร้างระบบ, การจัดการโปรเซสและ thread, การจัดการหน่วยความจำ, การจัดการอุปกรณ์อินพุต/เอาต์พุต, ระบบไฟล์, เน็ตเวิร์ค, แคช และการรักษาความปลอดภัยของ Windows 2000
ระบบปฏิบัติการของ Microsoft สำหรับเครื่องเดสก์ทอปและแลปทอปสามารถแบ่งเป็น 3 ตระกูลคือ MS-DOS, Windows (รวมทั้ง Windows 3.1/95/98/ME) และ Windows NT (รวมทั้ง Windows 2000) ต่อไปนี้เป็นประวัติพอสังเขปของระบบปฏิบัติการแต่ละตระกูลดังนี้1.1 MS-DOSในปี ค.ศ. 1981 IBM ซึ่งเป็นยักษ์ใหญ่ในวงการคอมพิวเตอร์ในขณะนั้นได้ผลิตเครื่องคอมพิวเตอร์ส่วนบุคคล หรือ PC (Personal Computer) โดยใช้ซีพียู 8088 จนกลายเป็นชื่อของ IBM PC 8088 ซึ่งเป็นคอมพิวเตอร์แบบเรียลโหมดแบบ 16 บิตที่ใช้งานได้คนเดียว ระบบปฎิบัติการเป็นคำสั่งบรรทัดเดียวที่ชื่อ MS-DOS 1.0 ระบบปฏิบัติการนี้สร้างโดยบริษัท Microdoft ใช้ตัวแปลภาษา BASIC สำหรับใช้บน 8088 และ Z-80 ระบบปฎิบัติการประกอบด้วย หน่วยความจำ 8 กิโลไบต์ใกล้เคียงกับโมเดล CP/M ในช่วงเวลา 2 ปีต่อมาระบบปฏิบัติการมีประสิทธิภาพสูงขึ้นเป็น 24 กิโลไบต์ โดยใช้ MS-DOS 2.0 ที่ยังคงเป็ฯบรรทัดคำสั่งที่ขอยืมมาจาก UNIX อยู่จนเมื่อ Intel ได้ผลิตซีพียู 80286 ขึ้นมา ทาง IBM จึงได้สร้าง PC/AT ในปี 1986 โดยที่ AT มาจากคำว่า Advance Technology เนื่องจาก 80286 สามารถรันได้ที่ความถี่ 8 เมกะเฮิร์ต (MHz) โดยใช้หน่วยความจำได้ถึง 16 เมกะไบต์ แต่เครื่องคอมพิวเตอร์ทั่วไปจะมีหน่วยความจำเพียง 1-2 เมกะไบต์เนื่องจากในขณะนั้นหน่วยความจำมีราคาแพงนั่นเอง ในช่วงนี้จะใช้ MS-DOS 3.0 ที่ได้รับการพัฒนาเพิ่มฟีเจอร์ต่าง ๆ มากมาย แต่ยังคงเป็ฯบรรทัดคำสั่งอยู่นั่นเอง
1.2 Windows 3.1ในขณะที่ MS-DOS 3.0 เป็นระบบปฏิบัติการของพีซีในช่วงนั้น ผู้ใช้ให้ความสนใจและหลงไหลยูเซอรือินเทอร์เฟซของ Apple Lisa ซึ่งทำงานบน Apple Mcintosh อย่างม่ากมายทาง Microsof จึงตัดสินใจที่จะเพิ่มเซลล์ของ MS-DOS สามารถทำงานในลักษณะกราฟิกยูเซอร์อินเทอร์เฟซ โดยตั้งชื่อว่า Windows และเริ่มวางจำหน่าย Windows 1.0 ในปี 1985 แต่ไม่ประสบความสำเร็จ จนปี 1987 Windows 2.0 ที่ออกแบบสำหรับ PC/AT ก็ออกวางตลาด แต่ไม่ประสบความสำเร็จมากนัก จนปี 1980 ถึงเวลาของ Windows 3.0 ที่รันกับ 80386 จนมีเวอร์ชั่น 3.1 และ 3.11 ออกมาทำให้ประสบความสำเร็จในวงการธุรกิจอย่างมากมาย แต่ Windows ที่กล่าวมายังไม่ใช่ระบบปฏิบัติการที่แท้จริง เป็นแค่เพียงกราฟิกยูเซอร์อินเทอร์เฟซของ MS-DOS อยู่ดี ซึ่ง MS-DOS ยังคงควบคุมการทำงานของเครื่องและระบบไฟล์อยู่โปรแกรมทั้งหมดยังคงทำงานบนเอ็ดเดรสเดียวกัน ยังมีบักที่ทำให้เครื่องแฮงค์หรือดาวน์อยู่เสมอ
1.3 Windows 95 /98/ MEWindows 95 ที่วางจำหน่ายในปี 1995 ก็ยังคงแยกตัวออกจาก MS-DOS ไม่สมบูรณ์ ( ถึงแม้จะถ่ายโอนมาจาก MS-DOS จนเข้าใกล้ Windows แล้วก็ตาม ) ถึงแม้ Windows 95 จะเป็นระบบปฏิบัติการที่ได้รับการพัฒนาอย่างมากแล้วก็ตามไม่ว่าจะเป็นด้านหน่วยความจำเสมือน , การจัดการหน่วยความจำ และมัลติโปรแกรมมิ่ง Windows 95 ยังไม่ได้เป็นระบบปฏิบัติการเต็มรูปแบบ มันยังมีโค้ดแบบ 16 บิตภาษาแอสเซ็มบลีอยู่ และยังคงใช้ระบบไฟล์แบบ MS-DoS อยู่ สิ่งหลักที่เห็นได้ชัดในการเปลี่ยนแปลงก็คือชื่อไฟล์ที่มีความยาวได้มากกว่าระบบ 8+3 ตามระบบของ MS-DOS ( ชื่อไฟล์ 8 ตัวอักษร รวมกับนามสกุลอีก 3 ตัวอักษร ) โดยใช้ได้ถึง 255 ตัวอักษรจนเมื่อ Windows 98 ออกจำหน่าย MS-DOS ( เวอร์ชั่น 7.1 ) ยังคงคงรวมตัวอยู่ในโค้ดถึงแม้จะมีการแยกฟังก์ชันอกมาจาก MS-DOS และมีการกำหนดเลย์เอาต์ของดิสก์ ( จากเดิม FAT – 16 เป็น FAT-32 ) ให้รองรับดิสก์ขนาดใหญ่แล้วก็ตาม ( จากเดิมม่เกิน 2 กิกะไบต์ เป็นไม่เกิน 2 เทอร์ราไบต์ ) ที่สำคัญก็คือ Windows 98 ไม่ได้มีอะไรที่แตกต่างจาก Windows 95 มากนัก สิ่งที่แตกต่างหลัก ๆ อยู่ที่ยูเซอร์อินเตอร์เฟซที่รวมเดสก์ทอปและอินเตอร์เน็ตให้ใกล้ชิดกันยิ่งขึ้น ( จนเป็นเรื่องกับกระทรวงยุติธรรมสหรัฐ ฯ ในเวลาต่อมา ) ปัญหาการใช้งาน Windows 98 ยังคงมีอยู่เนื่องมาจากการที่ไม่แยกตัวออกจาก MS-DOS อย่างเด็ดขาดนั่นเอง ( เพราะต้องการให้สามารถรับแอปพลิเคชันเดิมของ MS-DOS ได้ )ในปี 2000 Microsoft ทำให้ผู้ใช้เกิดข้อสงสัยและสับสน เนื่องจากก่อนหน้านั้น Microsoft ออกข่าวว่าจะไม่มีพัฒนา Windows 9 x อีกแล้ว แต่แผนการพัฒนาจะอยู่ที่ Windows 2000 ซึ่งวางตลาดให้ได้ใช้งานกัน แต่มี Windows ME ( Millennium Edition ) ซึ่งเป็นเหมือนฝาแฝดของ Windows 98 ออกมาหลังจาก Windows 2000 ไม่นาน ซึ่งใช้ชื่อ Millennium ซึ่งแปลว่า 2000 เหมือนกันทำให้สับสน ( ME ออกมาเพื่อรักษาตลาดเดิมของ Windows 2000 ไม่นาน ซึ่งใช้ชื่อ Millennium ซึ่งแปลว่า 2000 เหมือนกันทำให้สับสน (ME ออกมาเพื่อรักษาตลาดเดิมของ Windows 9x ไว้) เพิ่มเติมเข้ามาและเป็นที่น่าสนใจก็คือการรีสตอร์ระบบก่อนที่จะมีการปรับแต่ง เช่น ถ้าคุณเปลี่ยนขนาดความละเอียดจอภาพจาก 640x480 ไปเป็น 1024x768 และระบบไม่รับค่านี้ (อาจจะเนื่องจากมอนิเตอร์ไม่สนับสนุน หรืออื่นๆ ก็ตาม) และจะคืนค่าก่อนการปรับ นั่นคือจะกลับไปใช้ค่า 640x480 เหมือนเดิม
1.5 Windows 2000แต่เดิมโค้ดในการพัฒนาเวอร์ชันต่อไปของ Windows NT 4.0 ใช้ชื่อว่า Windows NT 5.0 ต่อมาเปลี่ยนชื่อเป็น Windows 2000 เพื่อต้องการใช้เป็นชื่อกลางสำหรับผู้ใช้ Windows 98 และ Windows NT เนื่องจาก Microsoft ต้องการให้มีระบบปฏิบัติการเพียงระบบเดียวในตลาดโดยมุ่งให้เป็นระบบปฏิบัติการ 32 บิตที่เชื่อถือได้ แต่อยู่ในเซอร์อินเตอร์เฟซที่เลื่องลือของ Windows 98 Windows 2000 เป็นระบบปฏิบัติการแบบมัลติยูเซอร์ ( mutiuser ) แบบ 32 บิตที่แท้จริง ใช้สถาปัตยกรรม microkernel ( เช่นเดียวกับ Mach ) โดยแต่ละส่นเป็นส่วนหนึ่งของระบบปกิบัติการ และไม่เกิดผลกระทบกับส่วนอื่น แต่ละโปรเซสมีแอ็ดเดรสเสมือนแบบ 32 บิตเป็นของตนเอง ในขระที่ระบบปฏิบัติการใช้โหมด Kemel โปรเซสของผู้ใช้เป็น user mode ที่ได้รับการป้องกันอย่างสมบูรณ์ แต่ละโปรเซสจะมี thread เท่าไรก็ได้ thread เหล่านี้ ระบบปฏิบัติการจะมองเห็นและจัดเวลาการทำงานให้ในด้านการรักษาความปลอดภัย Windows 2000 อญู่ในระดับ c2 ของกระทรวงกลาโหมสหรัฐ ฯ ทั้งในส่วนไฟล์, ไดเกเทอร์รี,โปรเซสและออปเจ็กต์ที่แชร์ต่าง ๆ นอกจากนี้ Windows 2000 สนับสนุนการรันมัลติโปรเซสเซอร์แบบสมมาตรได้ถึง 32 ตัวในด้านเน็ตเวิร์ค Windows 2000 ได้เพิ่ม x.500-based directory สนับสนุนด้านเน็ตเวิร์คขึ้น , สนับสนุนดีไวซ์ Plug-and-play,ระบบไฟล์แบบใหม่ที่สนับสนุน hierarchical storage , และระบบไฟล์แบบกระจาย รวมทั้งสนับสนุนโปรเซซอร์และหน่วยความจำมากขึ้นWindows 2000 มี 4 เวอร์ชันให้เลือกใช้งานตามความเหมาะสม เวอร์ชันแรกเป็น Professional ทีเหมาะสำหรับผู้ใช้งานทั่วไป ส่วนอีก 3 เวอร์ชันเป็นเซิร์ฟฟเวอร์คือ Server และ Datacenter Server ทั้ง 3 เวอร์ชันต่างกันที่จำนวนซีพียูและหน่วยความจำที่สนับสนุน ทั้งหมดใช้ kermel เดียวกัน แต่เวอร์ชัน Server และ Advanced Server สามารถปรับแต่งสำหรับไคลเอ็นต์-เซิร์ฟเวอร์สำหรับ NetWare และ Microsoft LANs สำหรับ Windows 2000 Datacenter Server สนับสนุนโปรเซสเซอร์ถึง 32 ตัว หน่วยความจำถึง 64 กิกะไบต์


Windows NT Windows NT เป็นระบบปฏิบัติการแบบ Microsoft Windows บนเครื่องคอมพิวเตอร์ส่วนบุคคล ที่ได้รับการออกแบบสำหรับผู้ใช้และธุรกิจของระบบ ที่มีความสามารถระดับสูง Windows NT แบ่งได้ 2 ระดับ คือ Windows NT Workstation และ Windows NT Server Workstation ได้รับการออกแบบให้ใช้กับผู้ใช้ โดยเฉพาะอย่างยิ่งในหน่วยธุรกิจ ซึ่งต้องการมีความเร็วและระบบที่เสียหายน้อย และ Windows 98 Server มีความสามารถในการประยุกต์กับ Internet Server เช่น Microsoft Internet information Server (IIS) สำหรับระบบ Windows ที่วางแผนที่จะใช้ เว็บเพจ Windows NT Workstation เป็นระบบปฏิบัติการ 32 บิต ที่มีความเร็วมากกว่า Windows95 20% ตั้งแต่ระบบ 16 บิต การจัดพื้นที่การทำงานจะให้โปรแกรมใช้พื้นที่ที่แยกจากกัน เมื่อมีโปรแกรมหนึ่งเสียหาย จะไม่มีผลต่อโปรแกรมอื่นหรือระบบปฏิบัติการ ในส่วนระบบความปลอดภัยและการบริหารการอินเตอร์เฟซ ของ Work Station เหมือนกับ Windows 95Windows NT Server NT Server เป็นระบบที่ได้รับความนิยมมากในระบบเครือข่าย Microsoft กล่าวว่า NT Server เริ่มที่จะเข้าไปแทนที่ Netware และระบบ Unix ต่าง ๆ เช่น Sun Microsystems และ Hewlet-Packard สำหรับ NT server 5.0 จะใช้ชื่อใหม่ว่า Windows2000 ส่วนสำคัญของ Windows 2000 คือ1. การเจาะจงการบริหารอย่างเดิม ตามประเภทงาน นอกเหนือจากไฟล์ โปรแกรม และ Users 2. วิธีการใหม่ของ file directory เรียกว่า Active Directory ที่ให้ผู้บริหารระบบและผู้ใช้งาน สามารถดูไฟล์และโปรแกรมในระบบเครือข่าย ผ่านการดูที่จุดเดียว 3. Dynamic Domain Name Server (DNS) จะทำการ replicate การเปลี่ยนแปลงในระบบเครือข่าย โดยใช้ Active Directory Service, Dynamic Host Configuration Protocol (DHCP) และ Windows Internet Naming Service (DVINS) ถ้าลูกข่ายต้องการการคอนฟิกใหม่ 4. สามารถสร้าง ขยาย และ Mirror ขนาดของดิสก์ โดยไม่ต้องปิดระบบและทำการสำรองข้อมูล ด้วยอุปกรณ์การเก็บได้หลายประเภท เช่น Magnetic หรือ Optical Storage media 5. Distributed File System (DFS) ให้ผู้ใช้มองเห็นกลุ่มการกระจายของไฟล์ในโครงสร้างไฟล์เดียว ข้ามแผนก ฝ่าย และหน่วยธุรกิจ 6. สนับสนุนและร่วมกับ Microsoft's Message Queue Server, Transaction Server, และ Internet information Server (IIS)
หลักการออกแบบ

เป้าหมายการออกแบบของ Windows 2000 Microsoft ต้องการมี 6 ประการ
1 ความสามารถในการขยายระบบ2.2 สามารถเคลื่อนย้ายได้2.3 เชื่อถือได้2.4 คอมแพติเบิล2.5 ประสิทธิภาพ 2.6 การสนับสนุนหลายภาษา




โครงสร้างของระบบ
Hardwer – Abstraction Layer (HAL)HAL เป็นเลเยอร์ของซอฟต์แวร์ที่ซ่อนฮาร์ดแวร์ที่แตกต่างจากเลเยอร์ด้านบนของระบบปฏิบัติการ เพื่อให้ Windows 2000 สามารถเคลื่อนย้ายได้ HAL จะเอ็กพอร์ตอินเทอร์เฟซแบบ virtual-machine ที่ใช้โดย Kernel,Executive และดีไวซ์ไดร์เวอร์ ข้อได้เปรียบของการมีเลเยอร์แบบนี้ก็คือระบบต้องการดีไวซ์ไดร์เวอร์เพียง 1 เดียวก็พอที่ทำให้รันได้ทุกแพตฟอร์มของฮาร์ดแวร์ HAL ยังให้การสนับสนุนมัลติโปรเซสซิ่งแบบสมมาตร สำหรับเหตุผลด้านประสิทธิภาพแล้ว อินพุต/เอาต์พุตไดร์เวอร์ (รวมทั้งกราฟิกไดร์เวอร์บน Windows 2000) สามารถเอ็กเซสฮาร์ดแวร์ได้โดยตรง3.2 KernelKernel ของ Windows 2000 สร้าง Executive และระบบย่อย kernel จะไม่ทำงานจนหน่วยความจำหมดและการเอ็กซิคิวต์ก็จะไม่ได้รับสิทธิพิเศษก่อนเลย kernel รับผิดชอบ 4 ด้านคือ การจัดเวลาของ thread, การแก้อินเทอร์รัพต์,การชินโครไนซ์ของโปรเซสเซอร์ระดับล่าง และการแก้คืนเมื่อระบบเล่มKernel เป็ฯ object oriented ใน object type ของ Windows 2000 เป็นระบบที่กำหนดประเภทข้อมูลที่เป็นชุดของแอ็ตตริบิวต์ (หรือค่าข้อมูล) และชุดของเมธอด (ฟังก์ชันหรือโอเปอเรชัน) object เป็นเพียงตัวอย่างของ object type เฉพาะแบบ kernel จะทำงานของตนเองโดยใช้ชุดของ kernel object ที่มีแอ็ตตริบิวต์เก็บค่าของ kernel และเมธอดที่ทำกิจกรรมของ kernel จะใช้ object 2 ชุด ชุดแรกประกอบด้วย dispatcher object ที่ควบคุมการ dispatch และการซินโครไนซ์ในระบบ
3.2.2 ข้อยกเว้นและการอินเทอร์รัพต์นอกจากนี้ kernel ยังมีวิธีการแก้ไขข้อยกเว้นหรืออินเทอร์รัพต์ที่สร้างมาจากฮาร์ดแวร์หรือซอฟต์แวร์ได้อีกด้วย Windows 2000 กำหนดสถาปัตยกรรมที่เป็นข้อยกเว้นแบบอิสระไว้ รวมถึงการใช้หน่วยความจำผิดวิธีเกิด inteter overflow, floating-point overflow or underflow, integer divide by zero, floating-point divide by paging file quota exceeded, debugger breakpoint, และ debugger single step โดยที่การแก้ไขสามารถแก้ไขข้อยกเว้นพื้นฐาน ส่วนการแก้ไขแบบอื่นจะใช้ exception dispatcher ของ kernel ซึ่ง exception dispatcher จะสร้างเรกคอร์ดของข้อยกเว้นที่ประกอบด้วยเหตุผลสำหรับข้อยกเว้นและหาวิธีการแก้ไขข้อยกเว้นนั้น เมื่อข้อยกเว้นเกิดขึ้นใน kernel mode แล้ว exception dispatcher จะเรียกรูทีนเพื่อกำหนดวิธีแก้ไขข้อยกเว้น ถ้าไม่พบข้อแก้ไข จะเกิดปัญหาร้ายแรงกับระบบในลักษณะจอสีฟ้าที่เรียกว่า “blue screen of death” ซึ่งเป็นผลให้ระบบล่มได้3.2.3 การซินโครไนซ์โปรเซสเซอร์ระดับล่างความรับผิดชอบส่วนที่สามของ kernel คือมีการซินโครไนซ์โปรเซสเซอร์ระดับล่าง ปกติกลไกของ Asynchronous Procedure call (APC) จะคล้ายกับกลไกของ DPC แต่ใช้งานธรรมดามากกว่า กลไกของ APC ทำให้ thread สร้าง procedure call ไว้ใช้ในอนาคต เช่น มี system services มากมายที่ยอมรับรูทีนของ user thread เป็นพารามิเตอร์ แทนที่จะเรียก synchronors sytem call เพื่อบล็อก thread จนกว่า system call จะทำงานเสร็จ user thread สามารถเรียก asynchronous system call และเก็บไว้ใน APC ทำให้ user thread ยังคงรันต่อไป เมื่อ system services เสร็จสิ้นลง user thread จะถูกอินเทอร์รัพต์เพื่อรัน APC ต่อเนื่องไปเลยAPC ถูกจัดเข้าคิวได้ทั้งใน system thread หรือ user thread ถึงแม้ว่า user-mode APC จะถูกเอ็กซิคิวต์เฉพาะเมื่อ thread ประกาศตัวเองเป็น alertable ปกติแล้ว APC มีประสิทธิภาพสูงกว่า DPC ตรงที่ APC สามารถครอบครองและคอยออปเจ็กต์,ทำให้เกิด page fault และเรียก system service ได้ เนื่องจาก APC เอ็กซิคิวต์ในพื้นที่ของ target thread ทำให้ executive ของ Windews 2000 ใช้ APC สำหรับการโปรเซสอินพุต/เอาต์พุต เนื่องจาก Windows 2000 สามารถรันเครื่องที่เป็นมัลติโปรเซสเซอร์แบบสมมาตร ดังนั้น dernel ต้องป้องกัน thread ทั้งสองจากการเปลี่ยนของข้อมูลที่อยู่ในหน่วยความจำเพื่อให้เกิด mutual exclusion ของมัลติโปรเซสเซอร์ เพราะว่ากิจกรรมทั้งหมดในโปรเซสเซอร์จะหยุดเมื่อ thread พยายาม mutual exclusion ของมัลติโปรเซสเซอร์ เพราะว่ากิจกรรมทั้งหมดในโปรเซสเซอร์จะหยุดเมื่อ thread พยายามเข้าครอบครอบ spinlocks เนื่องจาก thread ที่ครอบครอง spinlocks ไม่ได้ถาวรตายตัว ดังนั้นมันสามารถจบ และปล่อยล็อกได้อย่างรวดเร็ว
3.2.4 การกู้กลับเมื่อไฟตกความรับผิดชอบข้อสุดท้ายของ kernel คือ การแก้ไขปัญหาไฟตก อินเทอร์รัพต์ที่เกิดจากไฟตกเป็น priority สูงสุดอันดับสองที่แจ้งระบบปฏิบัติการเมื่อไฟตก โดย power-notify object มีวิธีการทำให้ดีไวซ์ไดร์เวอร์ลงทะเบียนรูทีนไว้ก่อน เมื่อเกิดปัญหาก็จะเรียกรูทีนนี้เพื่อนำค่าเดิมมาใช้เพื่อมั่นใจได้ว่า ดีไวซ์รับค่าสถานะที่ถูกต้องในการคืนค่ากลับ สำหรับระบบแบ็คอัพแบ็ตเตอรี่ power-status object มีประโยชน์มาก ก่อนเข้าขั้นวิกฤต ไดร์เวอร์จะพิจารณา power-status object ที่ตรวจสอบว่าเกิดไฟตกหรือไม่ ถ้าไดร์เวอร์ตรวจสอบแล้วว่าไฟไม่ตก มันจะเพิ่มค่า IRQL ของโปรเซสเซอร์เพื่อบล็อก powerfail interrupt จนกว่าวิกฤตนั้นจะหมดไป
3.3 Executiveด้านบนของ kernel และดีไวซ์ไดร์เวอร์เป็นส่วนบนของระบบปฏิบัติการที่เรียกว่า Executive ซึ่งเขียนด้วยภาษา C เป็นสถาปัตยกรรมอิสระประกอบด้วย 10 คอมโพเนนต์ แต่ละคอมโพเนนต์เป็นชุดของโปรซีเตอร์ที่ทำงานคล้ายกันและทำงานร่วมกันเพื่อให้งานสำเร็จ คอมดพเนนต์เหล่านี้ไม่มีขอบเขตที่แน่นอน ความแตกต่างที่ผู้เขียนกล่าวถึงเป้นเพียงการแบ่งกลุ่มหน้าที่ของโปรซีเดอร์ลงในคอมโพเนนต์เท่านั้น คอมโพเนนต์ในระดับเดียวกันสามามารถเรียกใช้งานได้ คอมโพเนนต์ทั้ง 10 มี ดังนี้ Object manager จะทำหน้าที่จัดการทุกออปเจ็กต์ที่ระบบปฏิบัติการรู้จัก· ร่วมถึงโปรเซส,thread,ไฟล์ไดเร็กทอรี,semaphore, ดีไวซ์อินพุต/เอาต์พุต และอื่น ๆ object manager นี้จะวางอยู่ในหน่วยความจำเสมือนเหนือ kernel เมื่อมีการสร้างออปเจ็กต์ขึ้นมา object manager จะเข้ามาติดตามทุกออปเจ็กต์เมื่อไม่ให้สสับสนให้จำว่าคอมโพเนนต์ที่มีคำว่า mger ในรูปท 15.1 ส่วนมากจะไม่ใช้โปรเซส หรือ thread แต่เป็นเพียงชุดของโปรซีเดอร์ที่ thread สามารถเอ็กซิคิวต์เมื่ออยู่ใน kernel mode มีเพียงบางคอมโพเนนต์เท่านั้น เช่น Power manager และ Plug-and-play manager เท่านั้น ที่เป็น thread แบบอิสระอาจกล่าวได้ว่า object manager เป็นศูนย์กลางฟังก์ชันของ Windows 2000 ก็ว่าได้ I/O manager เป็นเฟรมเวิร์คสำหรับจัดการอินพุต/เอาต์พุตดีไวซ์· และอินพุต/เอาต์พุตเซอร์วิส มันยังเตรียมดีไวซ์ให้ระบบโดยการเรียกไดร์เวอร์ที่เหมาะสมกับอุปกรณ์อินพุต/เอาต์พุต I/O manager เป็นเหมือนบ้านของดีไวซ์ไดราเวอร์นั่นเอง ระบบไฟล์ที่แตกต่างกัน 2 ระบบคือ FAT (File Allocation Table) และ NtFS (New Technology File System) แต่ละระบบเป็นอิสระต่อกัน และควบคุมแต่ละดิสก์พาร์ติชัน ทุกระบบไฟล์ที่เป็น FAT จะจัดการโดยไดร์เวอร์เพียงตัวเดียว (สามารถศึกษารายละเอียดเพื่อเติมในหัวข้อ”ระบบไฟล์ใน Windows2000”) ใน I/O manager ยังมีระบบยอ่ยคือ File system, cache manager, Device drivers, และ Network manager Process manager จะทำหน้าที่ให้บริการโปรเซสและ thread· ที่รวมทั้งการสร้าง,การลบ และการใช้ดปรเซสและ thread ขึ้นอยู่กับกลไกการจัดการมากกว่าวิธีการนำไปใช้ Process manager จะสร้างโปรเซส และ thread ของ kernel รวมทั้งการะเพิ่มฟังก์ชันพิเศษให้กับโปรเซสและ thread ที่สร้าง Process manager เป็นหลักในระบบมัลติโปรแกรมมิ่งใน Windows 2000 (สามารถศึกษารานยละเอียดเพิ่มเติมได้ในหัวข้อ “การจัดการโปรเซส และ thread”)· Virtual Memory manager ส่วนนี้ทำหน้าที่จัดการหน่วยความจำเสมือนใน Windows 2000 โดยการแมพหน่วยความจำเสมือนกับหน่วยความจำจริง โดยใช้การจัดการแบบ page-based ที่มีขนาดเพจเป็น 4 กิโลไบต์ (4 KB) เพจ ของข้อมูลกำหนดให้โปรเซส ผไม่ใช้หน่วยความจำจริง) เก็บไว้ใน paging file บนดิสก์ ด้วยเหตุที่ VM manager ใช้แอ็ดเดรสแบบ 32 บิต ทำให้แต่ละโปรเซสจะมีหน่วยความจำเสมือน 4 กิกะไบต์ (4 GB) โดยที่ 2 กิกะไบต์บนกำหนดคุณลักษณะของโปรเซสและใช้ใน kernel mode ของ Windows 2000 ส่วน 2 กิกะไบต์ ล่างเป็นข้อแตกต่างของโปรเซสที่สามารถแอ็กเซสได้ทั้ง user mode และ kernel mode ในการใช้งานจริง Windows 2000 จะสงวน 1 กิกะไบต์ไว้สำหรับ ระบบปฏิบัติการ และยอมให้โปรเซสใช้เนื้อที่เพียง 3 กิกะไบต์เท่านั้น (สามารถศึกษารายละเอียดเพิ่มเติมได้ในหัวข้อ “การจัดการหน่วยความจำ”) Security· manager ทำให้กลไกการรักษาความปลอดภัยของ Windows 2000 มีความประณีตมากขึ้น ทำให้ได้รับระดับ C2 จากกระทรวงกลาโหม สหรัฐฯ ในการรักาความปลอดภัย ซึ่งมีข้อที่ต้องปฏิบัติมากมาย เช่น ต้องมีระบบการล็อกอินเข้าระบบที่ต้องใช้ชื่อ และรหัสผ่าน หรือในเรื่องของหน่วยความจำเสมือนก็จะต้องเคลียร์ให้เป็น 0 ก่อนที่จะนำกลับมาใช้ใหม่ เป็นต้น (สามารถศึกษารายละเอียดเพิ่มเติมได้ในหัวข้อ “การรักษาความปลอดภัย”) Cache manager จะทำหน้าที่จัดการแคชของระบบ· โดยเป็นการเก็บข้อมูลการใช้พื้นที่ดิสก์ไปไว้บนหน่วยความจำเพื่อให้การแอ็กเซสในภายหลังทำได้รวดเร็วขึ้น โดย Cache manager จะทำหน้าที่ตรวจสอบเมื่อมีการใช้เนื้อที่ดิสก์ว่ามีข้อมุลส่วนนั้นอยู่บนหน่วยความจำหรือไม่ เพื่อพิจารณาการนำข้อมูลมาใช้ให้เร็วขึ้น ถึงแม้ว่า Windows 2000 จะมีหลายระบบไฟล์ก็ไม่มีปัญหาสำหรับ Cache manager ที่ไม่ต้องการการจัดการเป็นของตนเอง Cache manager จะทำงานร่วมกับ Virtual Memory majnager ขนาดของเนื้อที่ที่เป็นแคชเป็นไดนามิก นั่นหมายความว่ามีขยาดที่ไม่คงที่ สามารถเปลี่ยนแปลงได้ ตลอดตามต้องการ(สามารถศึกษารายละเอียดเพิ่มเติมได้ในหัวข้อ “การจัดการแคช”) Plug-and Play manager· ในระบบปกิบัติการจะทำหน้าที่แจ้งเตือนเมื่อมีดีไวซ์ใหม่เชื่อมต่อกับระบบทันทีที่บูตระบบขึ้นมา แต่ในบางดีเวซ์สามารถเชื่อมต่อได้ในขณะที่ระบบกำลังทำงานอยู่ เช่น USB เป็นต้น ทั้งนี้ Plug-and-play (PnP) จะทำงานได้ทั้งดีเวซ์และไดร์เวอร์ จะต้องสนับสนุนมาตรฐาน PnP โดย PnP manager จะแจ้งเตือนทันทีที่มีการตรวจพบว่ามีการเชื่อมต่อดีไวซ์ใหม่ Windows 2000 ได้เตรียมไดร์เวอร์สำหรับดีไวซ์ประเภทต่าง ๆ ไว้มากมาย ดดยจะมีรายการดีไวซ์เหล่านี้ไว้ พร้อมทั้งไดร์เวอร์สำหรับดีไวซ์นั้น แต่ในกรณีที่ระบบไม่สามารถตรวจสอบได้ว่าดีไวซ์เป็นอะไร อยู่ในประเภทไหน ระบบจะแจ้งให้คุณทราบแต่เพียงว่ามีดีไวซ์ใหม่เชื่อมต่ออยู่ พร้อมกับให้คุณใส่แผ่นไดร์เวอร์เพื่อให้ดีไวซ์ทำงานได้ถูกต้องต่อไป Power· manager ทำหน้าที่จัดการเกี่ยวกับพลังงานในระบบทั้งหมด ตั้งแต่การปิดมอนิเตอร์,หยุดการใช้ดิสก์เมื่อระบบไม่ได้รับการตอบสองจากผู้ใช้ในเวลาที่กำหนด สำหรับเครื่องแลปทอป Power manager จะตรวจสอบการใช้ไฟในแบ็ตเตอรี่ และจะแจ้งเตือนเมื่อไฟเหลือน้อยเพื่อให้คุณเตรียมการเช่น จัดเก็บงาน, ชัตดาวน์ระบบ หรือชาร์จแบ็ตเตอรี่ใหม่ เป็นต้น Configuration manager· ทำหน้าที่จัดการคอนผิกุเรชันของระบบโดยจะจัดการลงในรีจิสตรี (registry) ทั้งการเพิ่มคีย์ใหม่ หรือการพิจารณาคีย์เมื่อมีการร้องขอ Local Procedure· Call manager ทำหน้าที่ในการส่งผ่านคำร้องขอและผลลัพธ์ระหว่างโปรเซสของไคลเอ็นต์และเซิร์ฟเวอร์ในเครื่องเดียวกัน งานเฉพาะคือระบบจะใช้ LPC เพื่อร้องขอเซอร์วิสจากระบบย่อยของ Windows 2000 กลไกลของ LPC จะเหมือนกัน RPC (Remote Procedure Call)
3.4 Environmental SubsystemEnvironmental Subsystem เป็นโปรเซสแบบ user-mode ที่อยู่ด้านบนของ Executive ของ Windows2000 ซึ่งทำให้ Windows 2000 รันโปรแกรมที่ถูกพัฒนาจากระบบปฏิบัติการอื่น รวมถึง Windows 16 บิต , MS-DOS,POSIX และแอปพลิเคชันแบบ character-based ของ OS/2 แบบ 16 บิต แต่ละ Environmental Subsystem จะมี 1 API หรือ application environment ใน Windows 2000 ใช้ระบบย่อย Win 32 เป็นหลัก ซึ่งทำให้จะสตาร์ตทุกโปรเซส เมื่อมีการเอ็กซิคิวต์แอปพลิเคชัน Win32 จะเรียก VM manager เพื่อโหลดโค้ดของแอปพลิเคชัน memory manager จะส่งค่าสถานะกลับไปยัง Win 32 เพื่อบอกชนิดของโค้ดที่สามารถเอ็กซิคิวต์ได้ ถ้าไม่ใช่โค้ดที่ Win32 สามารถเอก็ซิคิวต์ได้ Win32 environmw/ent จะตรวจดูว่ามีระบบย่อยที่เหมาะสมรันอยู่หรือไม่ ถ้าไม่มีมันจะเริ่มต้นเป็นโปรเซสแบบ user-mode หลังจากนั้น Win 32 จะสร้างโปรเซสเพื่อรันแอปพลิเคชันและส่งการควบคุมไปยัง environmental subsystem
การจัดการโปรเซสและ Thread

ใน Windows2000 โปรเซสก็คือ แอปพลิเคชันที่กำลังเอ็กซิคิวต์ และ thread เป็นหน่วยหนึ่งของโค้ดที่จัดเวลาโดยระบบปฏิบัติการ ดังนั้นโปรเซสประกอบด้วย thread 1 thread หรือมากกว่าก็ได้ โปรเซสจะเริ่มต้นเมื่อโปรเซสอื่นเรียกรูทีน CreateProcess รูทีนนี้จะโหลด Dynamic Link Libraries (DLL) ที่โปรเซสต้องการใช้งาน และสร้าง primary thread นอกจากนี้ thread ยังสามารถสร้างจากฟังก์ชัน CreateThread แต่ละ thread จะสร้างด้วยสแต็กของตัวเอง ซึ่งสแต็กนี้จะมีขนาดมาตรฐานเป็น 1 เมกะไบต์ แต่สามารถกำหนดเพิ่มเติมได้ในอาร์กิวเมนต์ของ CreateThread ด้วยเหตุที่ฟังก์ชันที่เป็นภาษา C คอยรักษาสถานะของตัวแปรคงที่ เช่น errmo ทำให้แอปพลิเคชัน ทีเป็น multithread ต้องการเกราะป้องกัน การแอ็กเซส thread ที่ไม่มีการซินโครไนซ์ โดยมีฟังก์ชัน beginthreadex ทำให้มีการซินโครไนซ์ที่เหมาะสม
5.การจัดการหน่วยความจำ

Win32 API มีวิธีการสำหรับแอปพลิเคชันในการใช้หน่วยความจำหลายวิธี ไม่ว่าจะเป็นหน่วยความจำเสมือน แมพหน่วยความจำเป็นไฟล์, heap และ thread-local storage โดยมีรายละเอียดที่น่าสนใจ ดังนี้ การใช้หน่วยความจำเสมือน :· แอปพลิเคชันจะให้ฟังก์ชัน virtualAlloc ในการสงวนหรือใช้หน่วยความจำเหมือน ส่วนคำสั่งตรงข้ามคือ VirtuaFree เพื่อเลิกใช้หน่วยความจำ ฟังก์ชันทั้งสองนี้ทำให้แอปพลิเคชันกำหนดแอ็ดเดรสมือนที่หน่วยความจำวางอยู่ แอปพลิเคชันจะใช้หน่วยความจำหลาย ๆ เพจ โดยที่แอ็ดเดรสเริ่มต้นของย่านหน่วยความจำจะต้องมากกว่า 0x10000 โปรเซสอาจจะเลือกเพจของหน่วยความจำที่ใช้งานของตนเองไปเป็นหน่วยความจำทางกายภาพโดยการเรียกฟังก์ชัน virtualLock โดยที่โปรเซสสามารถล็อกจำนวนเพจได้สูงสุดถึง 30 เพจ นอกเสียจากว่าในครั้งแรกโปรเซสเรียกฟังก์ชัน SetPriocessWorkingSetSize เพื่อเพิ่มขนาดพื้นที่ใช้งานไว้ก่อน แมพหน่วยความจำเป็นไฟล์ :· วิธีนี้เป็นอีกวิธีหนึ่งที่แอปพลิเคชันใช้หน่วยความจำโดยแมพเนื้อที่หน่วยความจำเป็นไฟล์ การแมพหน่วยความจำนี้เป็นประโยชน์เมื่อโปรเซส 2 โปรเซสมีการแชร์หน่วยความจำ โดยโปรเซสทั้งสองจะแมพไฟล์เดียวกันนั้นในหน่วยความจำเสมือน เมื่อใดก็ตามที่โปรเซสต้องการแมพเนื้อที่ก็จะทำแคเพียงแวร์พื้นที่หน่วยความจำกับโปรเซสอื่นไม่จำเป้นต้องใช้ไฟล์ โปรเซสสามารถเรียกใช้ CreateFileMapping ด้วยไฟล์ที่ตำแหน่ง 0xffffffff และขนาดพาะ ผลของการแมพอาจจะเป็นการแชร์โดยรับช่วง, ใช้ชื่อ หรือโดยการสำเนาก็ได้ Heap :· heap ในสภาพวะ Win32 เป็นเพียงแอ้ดเดรสของเนื้อที่สงวน เมื่อโปรเซสใน Win32 เริ่มต้นขึ้นมันจะสร้าง default heap ขนาด 1 เมกะไบต์ เนื่องจากฟังก์ชันของ Win 32 หลายฟังก์ชันใช้ default heap การแอ็กเซส heap เป็นการซินโครไนซ์เพื่อป้องกันโครงสร้างข้อมูลของ heap จากอันตรายเมื่ออัปเดทพร้อมกันจาก thread หลาย thread ในเวลาเดียวกัน Win 32 มีฟังก์ชันสำหรับจัดการ heap หลายวิธี ดังนั้น โปรดเซสสามารถกำหนดและจัดการ heap ส่วนตัวได้ ฟังก์ชันที่ว่านี้ Wi32 API ยังมีฟังก์ชัน HeapLock และ HeapUnlock เพื่อให้ thread เพิ่มการแอ็กเซส heap ได้ดีขึ้น ฟังก์ชันเหล่านี้จะต่างกับฟังก์ชัน VirtualLkock ตรงที่ฟังก์ชันเหล่านี้ จะกระทำเฉพาะการซินโครไนซ์ จะไม่ล็อกเพจกับหน่วยความจำจริง Thread-local storage :· วิธีที่สี่นี้เป็นวิธีการใช้หน่วยความจำของแอปพลิเคชัน ฟังก์ชันที่ขึ้นอยู่กับข้อมูลแบบโกลบอลหรือไดนามิก โดยปกติจะทำงานไม่ถูกต้องในสภาวะ multithreaded เช่น ฟังก์ชันในภาษา C ที่ชื่อ Strtok ที่ใช้ตัวแปรคงที่ในการตรวจจับตำแหน่งปัจจุบันที่ส่งสตริง สำหรับ thread 2 thread ที่เอ็กซิควิต์ strtok พร้อมกันจำเป็นต้องมีตัวแปร current position แยกต่างหาก กลไก Thread-local storage มีการกำหนด storage แบบโกลบอลบนพื้นฐานของ thread มีทั้งวิธีตายตัวและไดนามิกในการสร้าง Thread-local storage
การจัดการอุปกรณ์อินพุต/เอาต์พุต

เป้าหมายหลักของระบบอินพุต/เอาต์พุตของ Windows2000 ก็คือสร้างเฟรมเวิร์คสำหรับดูแลอุปกรณ์อินพุต/เอาท์พุต ที่มีอยู่หลากหลาย อุปกรณ์ที่เป็นอินพุตในปัจจุบันมีทั้งคีย์บอร์ด,เมาส์,จอยสติ๊ก, สแกนเนอร์,กล้องดิจิตอล,เครื่องอ่านบาร์โค้ด และไมโครโฟน ส่วนอุปกรณ์ที่เป็นเอาต์พุตมีทั้งมอนิเตอร์,เครื่องพิมพ์,พล็กตเตอร์,เครื่องบันทึกซีดี และการ์ดเสียง นอกจากนี้ยังมีสื่อที่ใช้ในการจัดเก็บข้อมุล เช่น ฟล็อปปีดิสก์,ฮาร์ดดิสก์,ซีดีรอม,ดีวีดี และเทป รวมถึงอุปกรณ์อื่น ๆ เช่น นาฬิกา,เน็ตเวิร์ค,โทรศัพท์,กล้องแคมคอร์ดเดอร์ ในอนาคตอันใกล้นี้อาจจะมีอุปกรณ์เพิ่มเติมอีกก็ได้ ดังนั้น Windows 2000 ได้ถูกออกแบบด้วยเฟรมเวิร์คธรรมดาที่ทำให้อุปกรณ์สามารถเชื่อมต่อระบบได้อย่างง่ายดาย ในพารากราฟต่อไปเป็นการกล่าวถึงการจัดการอุปกรณ์อินพุต/เอาต์พุตที่น่าสนใจ
.ระบบไฟล์ใน Window 2000

Windows 2000 สนับสนุนระบบไฟล์หลายรูปแบบที่สำคัญคือ FAT -16 (File Allocation Table) ,FAT-32 NTFS (New Technology Fuile System) และ OS/2 โดยที่ FAT-16 เป็นระบบไฟล์เดิมของ MS-DOS ที่ใช้แอ็ดเดรสแบบ 16 บิตทำให้ขนาดของดิสก์พาร์ติชันมีขนาดไม่เกิน 2 กิกะไบต์ (2 GB) ในขณะที่ FAT-32 ใช้แอ็ดเดรสไฟล์แบบแบบใหม่ที่เสนอมาตั้งแต่ Windows 2000 ด้วย ระบบไฟล์แบบนี้ใช้แอ็ดเดรสแบบ 64 บิต
.เน็ตเวิร์ค

Windows 2000 สนับสนุนทั้งเน็ตเวิร์คแบบ Peer-to-peer และ Client-server นอกจากนี้ยังมีเครื่องมือในการจัดการเน็ตเวิร์คที่ทรงประสิทธิภาพ เน็ตเวิร์คคอมดพเนนต์ใน Windows 2000 ทำให้มีการส่งข้อมูล การติดต่อระหว่างโปรเซส การแชร์ไฟล์ข้ามเน็ตเวิร์ค และความสามารถในการส่งงานไปพิมพ์ยังเครื่องที่อยู่ห่างไกลได้เป็นอย่างดี เรามักจะกล่าวถึงอินเทอร์เฟซภายในเน็ตเวีร์คที่มี 2 รูปแบบคือ Network Device Interface Specification (NDIS) และ Transport Driver Interface (TDI) ซึ่ง NDIS นี้พัฒนาขึ้นในปี 1989 ดดยความร่วมมือระหว่างไมดคซอฟต์และ 3Com เพื่อแยกเน็ตเวิราคอะแด็ปเตอร์จากโปรโตคอล ซึ่งจะไม่มีผลกระทบกับส่วนอื่น ๆ NDIS อยู่ระหว่างเลเยอร์ data-link control และ media-access control ในโมเดล OSI และมีหลายโปรโตคอลที่สามารถทำงานได้หลายเน็ตเวิร์คอะแด็ปเตอร์ที่แตกต่างกัน สำหรับ TDI ในเทอมของดมเดล OSI นั้นจะเป็นอินเทอร์เฟซระหว่างเลเยอร์ Transport และเลเยอร์ session อินเทอร์เฟซนี้ทำให้คอมโพเนนต์ของเลเยอร์ Sesion ใช้กลไกการส่งข้อมูลได้ TDI สนับสนุนการส่งข้อมูลทั้งแบบ connection-based และ connectionless และมีฟังก์ชันหลากหลายในการส่งข้อมูลประเภท
โปรโตคอลWindows 2000 เสนอดปรโตคอล Transport เป็นไดร์เวอร์ ซึ่งไดร์เวอร์เหล่านี้สามารถโหลด หรือยกเลิกจากระบบแบบไดนามิก ถึงแม้จะต้องมีการบูตเครื่องใหม่เมื่อมีการเปลี่ยนก็ตาม Windows 2000 มาพร้อมกับเน็ตเวิร์คโปรโตคอลหลายรูปแบบ ที่น่าสนใจดังนี้ค SMB : โปรโตคอล SMB· (server Messge Block) เริ่มปรากฏตัวตั้งแต่ MS-DOS 3.1 ดดยระบบใช้โปรโตคอลนี้ในการส่งคำร้องขออินพุต/เอาต์พุต ผ่านเน็ตเวิร์ค โปรดตคอล SMB มีแม สเสจ 4 ประเภทคือ แมสเสจ Session control (คำสั่งเพื่อเริ่มต้นและจบการเชื่อมต่อเพื่อแชร์รีชอร์สที่เซิร์ฟเวอร์),แมสเสจ File (เพื่อแอ็กเซสไฟล์ที่เซิร์ฟเวอร์),แมสเสจ Printer (เพื่อส่งข้อมูลไปยังคิดการพิมพ์ที่อยู่ห่างไกล และรับข้อมู่ลเสตตัสกลับมาป และแมสเสจ Message (ใช้ในการติดต่อสื่อสารกับเวิร์สเตชันอื่น) NetBIOS:· โปรตคอล NetBIOS (Network Basic Input/Output System) เป็น hardware-abstraction interface สำหรับเน็ตเวิร์คที่พัฒนาในช่วย 1980 ใช้เครื่องคอมพิวเตอร์ที่ใช้ MS-DOS และกลายเป็นอินเทอร์เฟซมาตรฐานสำหรับเน็ตเวิร์คโปรแกรมมิ่ง NetBIOS มีหน้าที่สร้าง logiclal name บนเวิร์ค,สร้าง logical connection หรือ session ระหว่าง logical name ทั้งสองบนเน็ตเวิร์ค และสนับสนุนการถ่ายโอนข้อมูล สำหรับ sission ผ่านทางNetBIOS หรือ SMB NetBEUI : โปรโตคอล NetBEUI (NetBIOS Extended User· Interface) พัฒนาโดย IBM เมื่อ 1985 โดยเป็นเน็ตเวิร์คโปรโตคอลที่ใช้งานง่าย,มีประสิทธิภาพ และเชื่อมต่อได้ถึง 254 เครื่อง ถูกกำหนดให้เป็นดีฟอลต์โปรโตคอลบน Windows 95 และ Windows for workgroup ใน Windows 2000 ใช้ NetBEUI เมื่อต้องการแชร์รีซอร์บนเน็ตเวิร์คเหล่านี้ NetBEUI มีข้อจำกัดตรงที่จะใช้ชื่อคอมพิวเตอร์เป็นแอดเดรส และไม่สนับสนุนการ routing เมื่อโปรโตคอล TCP/IP เหมาะสมในการนำมาใช้งานกับอินเทอร์เน็ตจนกลายเป้นมาตรฐาน Windows 2000 ใช้ในการเชื่อมต่อกับระบบปฏิบัติการและแพตฟอร์มของฮาร์ดแวร์ที่หลากหลาย ในแพ็กเกจของ TCP/IP ใน Windows 2000 ประกอบด้วย Simple Network Management Protocol (SNMP)Dynamic Host-configuration Protocol (DHCP) Windows Internet Name Service (WINS) และสนับสนุน NetBIOS PPTP : โปรดตคอล PPTP (Point-to-Point· tunneling Protocol) มีอยู่ใน Windows 2000 เพื่อติดต่อสื่อสารระหว่างรีโมทแอ็กเซสเซิร์ฟเวอร์โมดูรลที่รันบนเครื่องเซิร์ฟเวอร์ของ Windows 2000 และไคลเอ็นต์อื่น ที่เชื่อมต่อผ่านทางอินเทอร์เน็ต เซิร์ฟเวอร์ที่เป็นรีโมทแอ็กเซสนี้สามารถใส่รหัสข้อมูลที่ผ่านการเชื่อต่อนี้ และยังสนับสนุนมัลติดปรโตคอลของ VPN (Virtual Private Network) ผ่านทางอินเทอร์เน็ตอีกด้วย DLC : โปรโตคอล DLC (Data-Link Control) มีอยู่ใน· Windows 2000 นำมาใช้ในการีแอ็กเซสกับเมนเฟรมของ IBM และเครื่องพิมพ์ของ HP ทีเชื่อมต่อโดยตรงทางเน็ตเวิร์ค นอกนั้นก็ไม่ได้ใช้อะไรเพิ่มเติม ApplesTalk :· โปรโตคอลนี้ถูกออกแบบโดย Apple เพื่อประหยัดค่าใช้จ่ายในการเชื่อมต่อทำให้เครื่องแม็คอินทอชแชร์ไฟล์กันได้ และทำให้ Windows 2000 สามารถแชร์ไฟล์และเครื่องพิมพ์ กับเครื่องแม็ดอินทอชผ่านทาง AppleTalk นี้ได้เช่นกัน เมื่อเซิร์ฟเวอร์ของ Windows 2000 รันแพ็กเกจ Windows 2000 services for Macintosh
กลไกการโปรเซสแบบกระจาย· NetBIOS ใน Windows 2000 ทำให้แอปพลิเคชันสามารถติดต่อสื่อสารข้ามเน็ตเวิร์คโดยใช้ NetBEUI, NWLink และ TCP/IP Named pipes เป็นกลไกแบบ connection-+oriented· message แต่เดิมถูกพัฒนาเป็นอินเทอร์เฟซระดับสูงของ NetBIOS เพื่อเชื่อมต่อข้ามเน็ตเวิร์ค โปรเซสสามารถใช้ named pipes ในการติดต่อกับโปรเซสอื่นบนเครื่องเดียวกัน เนื่องจาก named pipes มีการแอ็กเซสผ่านทางอินเทอร์เฟซระบบไฟล์ ทำให้กลไกการรักษาความปลอดภัยที่ใช้กับไฟล์ถูกนำมาใช้กับ named pipes ด้วย ชื่อของ named pipes มีรูปแบบที่เรียกว่า Uniform Naming Cjonvention (UNC) โดยชื่อ UNC เหมือนกับชื่อไฟล์แบบรีโมท โดยมีรูปแบบคือ \\server name\share_name\x\y\z โดยที่ server_name จะเป็นเซิร์ฟเวอร์บนเน็ตเวิร์ค ส่วน share_name เป็น รีซร์ส ที่แชร์ไว้เพื่อใช้ในเน็ตเวิร์ค เช่น ไฟล์,ไดเร็กทอรี,เครื่องพิมพ์, หรืออื่น ๆ สำหรับ x\y\z เป็นส่วนของไฟล์และพาธตามปกติ Mailslots เป็นกลไกแบบ· connectionless messaging ใช้ในการส่งผ่านแอพลิเคชัน เช่น การค้นหาคอมโพเนนต์บนเน็ตเวิร์ค นอกจากนี้ยังใช้กับ Windows 2000 Computer Browser อีกด้วย แต่ Mailslots ไม่ค่อยมีความน่าเชื่อถือตรงที่แมสเสจที่ส่งไปยัง mailslots อาจจะสูญหายก่อนถึงมือผู้รับ Winsock เป็น Windows 2000 socket API· เป็นอินเทอร์เฟซแบบ session-layer ที่คอมแพติเบิลกับ UNIX socket นอกจากนี้ Winsock ยังมีอินเทอร์เฟซมาตรฐานกับโปรโตคอล Transport ที่อาจจะมีกำกำหนดแอ็ดเดรสที่ต่างกัน ดังนั้น แอปพิลเคชันของ Winsock สามารถรันได้พาะกับ Winsock compliant protocol stack RPC (Remote Procedure Protocol)· เป็นกลไกลแบบไคลเอ็นต์เซิร์ฟที่ทำให้แอปพลิเคชันจากเครื่องหนึ่งเรียกโปรซีเดอร์ไปอีกเครื่องหนึ่งได้ ไคลเอ็นต์จะเรียกโปรดซีเดอร์ของตนเอง (รูทีนย่อย) ที่แพ็กอาร์กิวเมนต์ลงในแมสเสจเล้วส่งข้ามเน็ตเวิร์คไปยังโปรเซสที่กำหนด เมื่อถึง ฝั่งเซิร์ฟเวอร์จะขยายแพ็กออกเรียกโปรซีเดอร์ แล้วแพ็กผลลัพธ์ลงในแมสเสจแล้วส่งกลับไปฝั่งไคลเอ็นต์ เมื่อไลเอ็นต์ได้รับแมสเสจแล้วจะขยายแพ็กผลลัพธ์ RPC ออก แล้วส่งผลลัพธ์นั้นไปให้ผู้เรียก แพ็กของอาร์กิวเมนต์นี้บางครั้งเรียกว่า marshalling กลไกล RPC ของ Windows 2000 นี้นำมาใช้อย่างกว้างขวางในสภาพวะแล้วล้อมแบบกระจายมาตรฐานแมสเสจแบบ RPC ดังนั้นโปรแกรมที่เขียนเพื่อใช้ RPC ของ Windows 2000 จะเคลื่อนย้ายได้ง่าย มาตรฐาน RPC มีรายละเอียดปลีกย่อยมาก มันซ่อนความแตกต่างด้านสถาปัตยกรรมคอมพิวเตอร์ไว้ โดยการกำหนดรูปแบบข้อมูลมาตรฐาน RPC ใน Windows 2000 สามารถส่งแมสเสจ RPC โดยใช้ NetBIOS, winsock บนเน็ตเวิร์ค TCP/IP หรือ named pipes บนเน็ตเวิร์ค LAN/Manager MIDL (Microsoft Interface Definition Language)· เป็นภาษาที่ออกแบบโดยไมโครซอฟต์เพื่ออธิบายชื่อของรีโมทโปรซีเดอร์ และประเภทของข้อมูลสำหรับอาร์กิวเมนต์และแมสเสจที่ส่งค่ากลับ นอกจากนี้มันยังสร้างซอร์สโค้ดสำหรับรายละเอียดของรูทีนที่ใช้บนฝั่งไคลเอ็นต์ เพื่อ dispatcher ฝั่งเซิร์ฟเวอร์ COM· เป็นกลไกสำหรับการติดต่อสื่อสารภายในโปรเซสที่พัฒนาสำหรับ Windows ออปเจ็กต์ COM จะมีการกำหนดอินเทอร์เฟซเพื่อจัดการกับข้อมูลในออปเจ็กต์ Windows 2000 มีส่วนขยายที่เรียกว่า DCOM ที่นำมาใช้บนเน็ตเวิร์คกับกลไก RPC เป็นวิธีการพัฒนาแอปพลิเคชันแบบกระจาย
โดเมนในโดเมนของ Windows 2000 ประกอบด้วยเซิร์ฟเวอร์และเวิร์คสเตชันที่แชร์ทั้งรีซอร์ส, ฐานข้อมูลโดยมีระบบรักษาความปลอดภัยป้องกันอยู่ เนื่องจากปัจจุบัน Windows 2000 ใช้โปรโตคอล Kerberos สำหรับ trust และ authennication แต่เดิม Windows NT ใช้หลักการควบคุมโดเมนหลักและสำรอง แต่ปัจจุบันทุกเซิร์ฟเวอร์ในโดเมนเป็นตัวควบคุมในโดเมนได้ นอกจากนี้แต่เดิมต้องเซ็ตอัพ trust ระหว่างโดเมนในลักษณะทางเดียว แต่ใน Windows 2000 ใช้ลักษณะลำดับชั้นโดยอิงกับ DNS และยอมให้ส่งผ่าน trust ขึ้นลงตามลำดับชั้นได้ วิธีนี้ทำให้ลดจำนวน trust ที่ต้องการสำหรับ n โดเมน จาก n*(n-1) เป็น 0 เวิร์คสเตชันในโดเมนกำหนด trust ให้กับการควบคุมโดเมนเพื่อให้ข้อมูลที่ถูกต้องเกี่ยวกับสิทธิการแอ็กเซสของผู้ใช้แต่ละคน ผู้ใช้ทุกคนยังคงมีความสามารถในการจำกัดแอ็กเซสเวิร์คสเตชันของตนเองไม่ว่าตัวควบคุมโดเมนจะเป็นอย่างไร
Name Solution ในเน็ตเวิร์ค TCP / IPในเน็ตเวิร์ค IP คำว่า Name Solution หมายถึงขั้นตอนการแปลงชื่อคอมพิวเตอร์ไปเป็น IP address
การจัดการแคช

งานของ cache manager คือ การเก็บรักษากลุ่มของระบบไฟล์ที่ใช้งานล่าสุดในหน่วยความจำเพื่อลดเวลาการแอ็กเซลสิ่งที่เหมือนกัน ใน Windows 2000 มีเพียงแคชแบบรวมการเพียงแคชเดียวที่ทำงานได้กับทุกระบบไฟล์ไม่ว่าจะเป็น NTFS,FAT-16,FAT-32 และแม้แต่ระบบไฟล์สำหรับซีดีรอม นั่นหมายความว่าระบบไฟล์ไม่จำเป้นต้องดูแลแคชของตนเองเลย เป้าหมายหลักการออกแบบแคชแบบรวมการสำหรับระบบไฟล์ที่หลากหลาย cache manager จะว่าอยู่ตำแหน่งที่ไม่ธรรมดา มันไม่ได้เป็นส่วนหนึ่งของระบบไฟล์ เพราะมีระบบไฟล์มากมายที่เป็นอิสระต่อกันทำให้ไม่ใช่สิ่งธรรมดา มันทำงานในระดับสูงกว่าระบบไฟล์ซึ่งเป็นไดร์เวอร์ทาง
การรักษาความปลอดภัย

เนื่องจาก Windows 2000 ได้รับขั้นการรักษาความปลอดภัยของระบบระดับ C2 จากกระทรวงกลาโหมสหรัฐฯ ทำให้ Windows 2000 มีการรักษาความปลอดภัยในระดับที่ระบบปฏิบัติการพึงมีอยู่แล้ว นอกจากการใช้ชื่อล็อกอินและรหัสผ่านสำหรับการเข้าสู่ระบบซึ่งเป็นสิ่งพื้นฐานแล้วใน Windows 2000 ผู้ใช้ทุกคนจะถูกกำหนดด้วย SID (Security ID) ซึ่ง SID เป็นเลขฐานสองที่มีสองส่วนคือส่วนหัวสั้น ๆ และตามด้วยตัวเลขสุ่มหลายตัว แต่ละ SID มีเจตนาให้เป็นหนึ่งเดียวทั่วโลก เมื่อผู้ใช้เริ่มต้นโปรเซส ทั้งโปรเซสและ thread จะรันภายใต้ SID ของผู้ใช้นั้น ระบบรักษาความปลอดภัย ส่วนมากถูกออกแบบเพื่อให้มั่นใจว่าแต่ละออปเจ็กต์จะถูกแอ็กเซสโดย thread ได้เฉพาะ SID ที่อนุญาตเท่านั้น
คำถาม
15. ระบบปฏิบัติการ Windows 2000
1. เลเยอร์ของซอฟต์แวร์ที่ซ่อนฮาร์ดแวร์ที่แตกต่างจากเลเยอร์ด้านบนของระบบปฏิบัติการคือเลเยอร์ใด
1. HAL
2. Kernel
3. Executir
4. Elf
2. Kernel ใดที่ทำหน้าทึ่เหมือนตัวนับเพี่อควบคุมจำนวน thread ที่ใช้รีซอร์ส
1. Semaphore object
2. event object
3. mutant object
4. thread object
3. Kernel ใดที่ทำหน้าที่ในการหยุด thaead ที่กำลังเอ็กซิคิวต์อยู่และใช้เรียกโปรซิเดอร์
1. Interrupt object
2. Asynchrorous Procedure call
3. power notify object
4. Process object
4. สถานะ thaead ใดเป็นสถานที่หยุดคอยสัญญาณ เช่นการใช้อินพุต/เอาต์พุตสิ้นสุดแล้ว
1. Standby
2. Transition
3. Waiting
4. Terminated
5. คอมโพเนนต์ใดที่ทำหน้าที่จัดการหน่วยความจำเสมือนใน Windows 2000 โดยการแมพหน่วยความจำเสมือนความจำจริง
1.Security Manager
2. Virtual Memory Manager
3. Plug-and-play Manager
4. Power Manager
6.ยักษ์ใหญ่ในวงการคอมพิวเตอร์ที่ผลิตคอมพิวเตอร์ส่วนบุคคล หรือ PC คือใคร
1. IBM
2. NT
3. MS-DOS 3.0
4. ME
7.Windows 2000 เวอร์ชันใดมีหน่วยความจำสูงที่สุด
1. Professional
2.Server
3.Advanced Server
4. Datacenter
8. โปรเซสสามารถล็อกจำนวนเพจได้สูงสุดเท่าไรในการล็อกเพจของหน่วยความจำที่ใช้งานของตนเองไปเป็นหน่วยความจำทางกายภาพโดยเรียกฟังก์ชัน Virtualock
1. 20
2. 30
3. 40
4. 50
9. โมเดลของไดร์เวอร์ส่วนกลางที่อุปกรณ์ต่างๆสามารถใช้เป็นไดร์เวอร์แทนของตนเองได้ คืออะไร
1. WDM
2. NTFS
3. APPLE
4. FAT-32
10. ชื่อไฟล์เดี่ยวๆในระบบไฟล์ NTFS มีขนาดตัวอักษรไม่เกินเท่าใด
1. 253 ตัวอักษร
2.254 ตัวอักษร
3. 255 ตัวอักษร
4. 256 ตัวอักษร
11. พื้นฐานที่สุดของระบบไฟล์ NTFS คืออะไร
1. Volume
2. Stream
3. Unlink
4. Create Directory
12. Windows 2000 เสนอโปรโตคอลใดเป็นไดร์เวอร์
1. Transport
2. Data-Link control
3. Virtual Private Network
4. Applee Tark
13. โปรโตคอลใดที่เริ่มปรากฏตัวตั้งแต่ MS-DOS 3.1
1. SMB
2. NetBIOS
3. PPTP
4. DLC
14. กลไกแบบไคลเอ็นต์เซิร์ฟเวอร์ที่ทำให้แอบพลิเคชันจากเครื่องหนึ่งเรียกโปรซีเดอร์ไปอีกเครท่องหนึ่งได้ คือ กลไกชนิดใด
1. RPC
2. MIDL
3. COM
4. WinSock
15. ที่ thaead ของไคลเอ็นต์สามารถส่งผ่าน access token ไปยัง thaead ของเซิร์ฟเวอร์ได้เพื่อยินยอมให้เซิร์ฟเวอร์แอ็กเซสไฟล์ที่มีการป้องกันและออปเจ็กต์อื่นของไคลเอ็นต์ กลไกนี้เรียกว่าอะไร
1.. Discretionary
2. Security descriptor
3. impersonation
4. memory manager

สรุปและข้อสอบบทที่14

14 ระบบปฏิบัติการ UNIX & Linux
นุกซ์คืออะไร ลีนุกซ์ระบบปฏิบัติการแบบ 32 บิต ที่เป็นยูนิกซ์โคลน สำหรับเครื่องพีซี และแจกจ่ายให้ใช้ฟรี สนับสนุนการใช้งานแบบหลากงาน หลายผู้ใช้ (MultiUser-MultiTasking) มีระบบ X วินโดวส์ ซึ่งเป็นระบบการติดต่อผู้ใช้แบบกราฟฟิก ที่ไม่ขึ้นกับโอเอสหรือฮาร์ดแวร์ใดๆ (มักใช้กันมากในระบบยูนิกซ์) และมาตรฐานการสื่อสาร TCP/IP ที่ใช้เป็นมาตรฐานการสื่อสารในอินเทอร์เนตมาให้ในตัว ลีนุกซ์มีความเข้ากันได้ (compatible) กับ มาตรฐาน POSIX ซึ่งเป็นมาตรฐานอินเทอร์เฟสที่ระบบยูนิกซ์ ส่วนใหญ่จะต้องมีและมีรูปแบบบางส่วนที่คล้ายกับระบบปฏิบัติการยูนิกซ์จากค่าย Berkeley และ System V โดยความหมายทางเทคนิคแล้วลีนุกซ์ เป็นเพียงเคอร์เนล (kernel) ของระบบปฏิบัติการ ซึ่งจะทำหน้าที่ในด้านของการจัดสรรและบริหารโพรเซสงาน การจัดการไฟล์และอุปกรณ์ I/O ต่างๆ แต่ผู้ใช้ทั่วๆไปจะรู้จักลีนุกซ์ผ่านทางแอพพลิเคชั่นและระบบอินเทอร์เฟสที่เขาเหล่านั้นเห็น (เช่น Shell หรือ X วินโดวส์) ถ้าคุณรันลีนุกซ์บนเครื่อง 386 หรือ 486 ของคุณ มันจะเปลี่ยนพีซีของคุณ ให้กลายเป็นยูนิกซ์เวอร์กสเตชันที่มีความสามารถสูง เคยมีผู้เทียบประสิทธิภาพระหว่างลีนุกซ์บนเครื่องเพนเทียม และเครื่องเวอร์กสเตชันของซันในระดับกลาง และได้ผลออกมาว่าให้ประสิทธิภาพที่ใกล้เคียงกัน และนอกจากแพลตฟอร์มอินเทลแล้ว ปัจจุบันลีนุกซ์ยังได้ทำการพัฒนาระบบเพื่อให้สามารถใช้งานได้บนแพลตฟอร์มอื่นๆด้วย เช่น DEC Alpha , Motorolla Power-PC , MIPS เมื่อคุณสร้างแอพพลิเคชันขึ้นมาบนแพลตฟอร์มใดแพลตฟอร์มหนึ่งแล้ว คุณก็สามารถย้ายแอพพลิเคชันของคุณไปวิ่งบนแพลตฟอร์มอื่นได้ไม่ยาก ลีนุกซ์มีทีมพัฒนาโปรแกรมที่ต่อเนื่อง ไม่จำกัดจำนวนของอาสาสมัครผู้ร่วมงาน และส่วนใหญ่จะติดต่อกันผ่านทางอินเทอร์เนต เพราะที่อยู่อาศัยจริงๆของแต่ละคนอาจจะอยู่ไกลคนละซีกโลกก็ได้ และมีแผนงานการพัฒนาในระยะยาว ทำให้เรามั่นใจได้ว่า ลีนุกซ์เป็นระบบปฏิบัติการที่มีอนาคต และจะยังคงพัฒนาต่อไปได้ตราบนานเท่านานประวัติของลีนุกซ์ ลีนุกซ์ถือกำเนิดขึ้นในฟินแลนด์ ปี คศ. 1980 โดยลีนุส โทรวัลด์ส (Linus Trovalds)นักศึกษาภาควิชาวิทยาการคอมพิวเตอร์ (Computer Science) ในมหาวิทยาลัยเฮลซิงกิ ลีนุส เห็นว่าระบบมินิกซ์ (Minix) ที่เป็นระบบยูนิกซ์บนพีซีในขณะนั้น ซึ่งทำการพัฒนาโดยศ.แอนดรูว์ ทาเนนบาวม์ (Andrew S. Tanenbaum) ยังมีความสามารถไม่เพียงพอแก่ความต้องการ จึงได้เริ่มต้นทำการพัฒนาระบบยูนิกซ์ของตนเองขึ้นมา โดยจุดประสงค์อีกประการ คือต้องการทำความเข้าใจในวิชาระบบปฏิบัติการคอมพิวเตอร์ด้วยเมื่อเขาเริ่มพัฒนาลีนุกซ์ไปช่วงหนึ่งแล้ว เขาก็ได้ทำการชักชวนให้นักพัฒนาโปรแกรมอื่นๆมาช่วยทำการพัฒนาลีนุกซ์ ซึ่งความร่วมมือส่วนใหญ่ก็จะเป็นความร่วมมือผ่านทางอินเทอร์เนต ลีนุสจะเป็นคนรวบรวมโปรแกรมที่ผู้พัฒนาต่างๆได้ร่วมกันทำการพัฒนาขึ้นมาและแจกจ่ายให้ทดลองใช้เพื่อทดสอบหาข้อบกพร่อง ที่น่าสนใจก็คืองานต่างๆเหล่านี้ผู้คนทั้งหมดต่างก็ทำงานโดยไม่คิดค่าตอบแทน และทำงานผ่านอินเทอร์เนตทั้งหมด ปัจจุบันเวอร์ชันล่าสุดของระบบลีนุกซ์ที่ได้ประกาศออกมาคือเวอร์ชัน 2.0.13 ข้อสังเกตในเรื่องเลขรหัสเวอร์ชันนี้ก็คือ ถ้ารหัสเวอร์ชันหลังทศนิยมตัวแรกเป็นเลขคู่เช่น 1.0.x,1.2.x เวอร์ชันเหล่านี้จะถือว่าเป็นเวอร์ชันที่เสถียรแล้วและมีความมั่นคงในระดับหนึ่ง แต่ถ้าเป็นเลขคี่เช่น 1.1.x, 1.3.x จะถือว่าเป็นเวอร์ชันทดสอบ ซึ่งในเวอร์ชันเหล่านี้จะมีการเพิ่มเติมความสามารถ
ใหม่ๆลงไป และยังต้องทำการทดสอบ หาข้อผิดพลาดต่างๆอยู่

Linux Version 0.01 ถูกแจกจ่ายให้ทดลองใช้ประมาณปลายเดือน ส.ค. 1991โดยมีเฉพาะ Harddisk Driver และระบบไฟล์ขนาดเล็ก ให้ใช้เท่านั้น ไม่มีแม้แต่ Floppy Disk Driver และต้องมีระบบ Minix อยู่แล้ว จึงจะสามารถทำการคอมไพล์ และทดลองใช้งานได้ เนื่องจากยังไม่มีโหลดเดอร์ และคอมไพเลอร์ ต้องอาศัยการคอมไพล์ข้ามระบบ และบูตระบบผ่าน Minix

Linus เปิดตัว Linux อย่างเป็นทางการในวันที่ 5 ตุลาคม 1991 ด้วย Version 0.02ซึ่งยังคงเป็นระบบปฏิบัติการ สำหรับผู้พัฒนาโปรแกรมระบบอยู่ จนกระทั่งได้เปิดตัว Version 1.0 ในเดือนมีนาคม 1994 และเริ่มมีผู้ใช้กันอย่างแพร่หลาย เนื่องจากเป็นระบบปฏิบัติการคล้าย UNIX ที่สมบูรณ์แบบ มีความสามารถสนันสนุนกราฟิก X Window สนับสนุนระบบเครือข่าย TCP/IP สามารถรับส่งอีเมล์ ทำหน้าที่เป็น News, WWW, FTP Server ได้ และความสามารถอื่นๆ อีกมาก
สำหรับจุดเด่นที่น่าสนใจของ Linux ได้แก่

*เป็นระบบปฏิบัติการที่ใช้งานได้ฟรี

*ทำงานได้บนเครื่องพีซีทั่วไป ที่มีหน่วยประมวลผลกลางตั้งแต่ 80386 ขึ้นไป รวมถึง Motora 680x0, Compaq (Digital) Alpha, PowerPC, SPARC เป็นต้น จึงเป็นระบบปฏิบัติการที่มีความต้องการทรัพยากรของระบบในขั้นต่ำ

*สามารถทำงานได้รวดเร็ว เนื่องจากมีระบบการจัดการหน่วยความจำเสมือน (Virtual Memory) การจัดทำงานแบบ Multitasking และระบบป้องกันการรบกวนการทำงานระหว่าง Process ต่างๆ

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

*มีความสามารถแบบ UNIX

* สามารถใช้งานร่วมกับดอส (DOS) และ Microsoft Windows โดยการแบ่งพาติชั่น

*ความสามารถในการใช้งานไฟล์ร่วมกับระบบปฏิบัติการอื่นๆ ไม่ว่าจะเป็น DOS,Microsoft Windows, NetWare, OS/2, Minix, NFS, System V

Linux เป็นระบบปฏิบัติการแบบ UNIX - compatible ตัวหนึ่งที่ทำงานบนเครื่องคอมพิวเตอร์ ตั้งแต่ระดับพีซี (PC) พัฒนาขึ้นเป็นครั้งแรก ในปี ค.ศ. 1991 โดยนักศึกษาชื่อ Linus B. Torvalds ณ University of Helsinki ประเทศฟินแลนด์ในลักษณะของงานอดิเรก โดยมีแรงบันดาลใจมาจากระบบ Minix ซึ่งเป็นระบบปฏิบัติการคล้ายๆ UNIX เล็กๆ ตัวหนึ่งที่พัฒนาโดย Andy Tanenbaum เพื่อประกอบการเรียนรู้ ในหนังสือเกี่ยวกับ การออกแบบระบบปฏิบัติการคอมพิวเตอร์

Linux Version 0.01 ถูกแจกจ่ายให้ทดลองใช้ประมาณปลายเดือน ส.ค. 1991โดยมีเฉพาะ Harddisk Driver และระบบไฟล์ขนาดเล็ก ให้ใช้เท่านั้น ไม่มีแม้แต่ Floppy Disk Driver และต้องมีระบบ Minix อยู่แล้ว จึงจะสามารถทำการคอมไพล์ และทดลองใช้งานได้ เนื่องจากยังไม่มีโหลดเดอร์ และคอมไพเลอร์ ต้องอาศัยการคอมไพล์ข้ามระบบ และบูตระบบผ่าน Minix

Linus เปิดตัว Linux อย่างเป็นทางการในวันที่ 5 ตุลาคม 1991 ด้วย Version 0.02ซึ่งยังคงเป็นระบบปฏิบัติการ สำหรับผู้พัฒนาโปรแกรมระบบอยู่ จนกระทั่งได้เปิดตัว Version 1.0 ในเดือนมีนาคม 1994 และเริ่มมีผู้ใช้กันอย่างแพร่หลาย เนื่องจากเป็นระบบปฏิบัติการคล้าย UNIX ที่สมบูรณ์แบบ มีความสามารถสนันสนุนกราฟิก X Window สนับสนุนระบบเครือข่าย TCP/IP สามารถรับส่งอีเมล์ ทำหน้าที่เป็น News, WWW, FTP Server ได้ และความสามารถอื่นๆ อีกมาก

สำหรับจุดเด่นที่น่าสนใจของ Linux ได้แก่

*เป็นระบบปฏิบัติการที่ใช้งานได้ฟรี

*ทำงานได้บนเครื่องพีซีทั่วไป ที่มีหน่วยประมวลผลกลางตั้งแต่ 80386 ขึ้นไป รวมถึง Motora 680x0, Compaq (Digital) Alpha, PowerPC, SPARC เป็นต้น จึงเป็นระบบปฏิบัติการที่มีความต้องการทรัพยากรของระบบในขั้นต่ำ

*สามารถทำงานได้รวดเร็ว เนื่องจากมีระบบการจัดการหน่วยความจำเสมือน (Virtual Memory) การจัดทำงานแบบ Multitasking และระบบป้องกันการรบกวนการทำงานระหว่าง Process ต่างๆ

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

*มีความสามารถแบบ UNIX

* สามารถใช้งานร่วมกับดอส (DOS) และ Microsoft Windows โดยการแบ่งพาติชั่น

*ความสามารถในการใช้งานไฟล์ร่วมกับระบบปฏิบัติการอื่นๆ ไม่ว่าจะเป็น DOS,Microsoft Windows, NetWare, OS/2, Minix, NFS, System V




หลักการออกแบบ
1. Direct blocks 2. Indirect blocks 3. Double indirect blocks 4. Triple indirect blocks
if (getQueryVariable("img") == 'yes') {
document.write('');
}else{
document.write('[img]http://www.bb-zone.com/SLGFG/figures/Inode.gif + demos-fs.gif>[/img]');
}



ผู้เริ่มพัฒนาลินุกซ์ เคอร์เนลเป็นคนแรก คือ ลินุส โตร์วัลดส์ (Linus Torvalds) ชาวฟินแลนด์ เมื่อสมัยที่เขายังเป็นนักศึกษาคอมพิวเตอร์ ที่มหาวิทยาลัยเฮลซิงกิ โดยแรกเริ่ม ริชาร์ด สตอลแมน (Richard Stallman) ได้ก่อตั้งโครงการกนูขึ้นในปี พ.ศ. 2526 จุดมุ่งหมายโครงการกนู คือ ต้องการพัฒนาระบบปฏิบัติการคล้ายยูนิกซ์ที่เป็นซอฟต์แวร์เสรีทั้งระบบ ราวช่วงพ.ศ. 2533 โครงการกนูมีส่วนโปรแกรมที่จำเป็นสำหรับระบบปฏิบัติการเกือบครบทั้งหมด ได้แก่ คลังโปรแกรม คอมไพเลอร์ โปรแกรมแก้ไขข้อความ และเปลือกระบบยูนิกซ์ ซึ่งขาดแต่เพียงเคอร์เนลเท่านั้น ในพ.ศ. 2533 โครงการกนูได้พัฒนาเคอร์เนลชื่อ Hurd เพื่อใช้ในระบบกนูซึ่งในขณะนั้นมีปัญหาเกี่ยวกับความเร็วในการประมวลผล
ใน
พ.ศ. 2534 โตร์วัลดส์เริ่มโครงการพัฒนาเคอร์เนล ขณะศึกษาในมหาวิทยาลัยแล้ว โดยอาศัย Minix ซึ่งเป็นระบบที่คล้ายกับ Unix ซึ่งมากับหนังสือเรื่องการออกแบบระบบปฏิบัติการ มาเป็นเป็นต้นแบบในการเขียนขึ้นมาใหม่โดย Torvalds เขาพัฒนาโดยใช้ IA-32 assembler และภาษาซี คอมไพล์เป็นไฟล์ไบนารี่และบูทจากแผ่นฟลอปปี้ดิสก์ เขาได้พัฒนามาเรื่อยๆจนกระทั่งสามารถบูทตัวเองได้ (กล่าวคือสามารถคอมไพล์ภายในลินุกซ์ได้เลย) และในปัจจุบันมีนักพัฒนาจากพันกว่าคนทั่วโลกได้เข้ามามีส่วนรวมในการพัฒนาโครงการ Eric S. Raymond ได้ศีกษากระบวนการพัฒนาดังกล่าวและเขียนบทความเรื่อง The Cathedral and the Bazaar
ในรุ่น 0.01 นี้ถือว่ามีเครื่องมือที่เพียงพอสำหรับระบบ POSIX ที่ใช้เรียก ลินุกซ์ ที่รันกับ กนู Bash Shell และมีการพัฒนาอย่างต่อเนื่องและอย่างรวดเร็ว
โตร์วัลดส์ยังคงมุ่งมั่นพัฒนาระบบต่อไป ซึ่งต่อมาก็สามารถรันบน
X Window System และมีการเลือกนกเพนกวินที่ชื่อ Tux ให้เป็นตัวนำโชคหรือ Mascot ของระบบลินุกซ์
คำถาม
14. ระบบปฏิบัติการ UNIX & Linux
1. ในการพัฒนา Linux Sytem นั้น เวอร์ชันใดที่ยังไม่มีเน็คเวิร์ค รันได้เฉพาะโปรเซสที่คอมแพติเบิลกับอินเทล 80380 มีข้อจำกัดในการสนับสนุนดีไวซ์ไดเวอร์
1. Linux 1.0
2. เวอร์ชัน 1.2
3. เวอร์ชัน 2.0
4. Linux kernel 0.01
2. ข้อใดมิใช่โค้ดของ Linux Sytem ที่แสดงถึง UNIX
1. kernel
2. ไลบรารีระบบ
3. ยูทิลิตีระบบ
4. คอมแพติเบิล
3. คอมโพเนนต์ในการจัดโมดุลตัวสุดท้าย คืออะไร
1. module requertor
2. Driver Registration
3. Conflict-resolution Mechanism
4. Kernel
4. ข้อใดไม่ใช่ส่วนประกอบของโปรเซสที่ประกอบด้วยไอเทิมหลัก
1. หมายเลขโปรเซส
2.Credential
3. Perscnality
4. ดีไวซ์ไดเวอร์

5. ส่วนที่สำคัญที่สุดของ context ของโปรเซส คืออะไร
1. Accounting
2. Scheduling context
3. File table
4. signal-handler table
6.Linux kernel ใด เป็นตัวแรกที่เสถียรในการสนับสนุนฮาร์ดแวร์มัลติโปรเซสซึ่งแบบสมมาตร
1. Linux 1.0
2. Linux 1.2
3. Linux2.0 kernel
4. Linux 2.2
7. ผู้ที่จัดการหน่วยความจำหลักใน Linux kernel คือใคร
1. page allocator
2. malloc
3. buffer cache
4.page cache
8. แคชหลักของ kernel สำหรับดีไวซ์ คือ
1. เพจแคช
2. ดิสก์ไดร์ฟ
3. บัฟเฟอร์แคช
4. Kmalloc
9. ระบบไฟล์มาตรฐานสำหรับดิสก์ของ Linux เรียกว่า
1.ext2fs
2. scsi
3.exec
4.brk
10. Linux แบ่งดีไวซ์เป็น 3 กลุ่ม ข้อใดไม่ใช่
1. บล็อกดีไวซ์
2. แอ๊กเซส

3. คาแรกเตอร์ดีไวซ์
4. เน็ตเวิร์คดีไวซ์
11. เน็คเวิร์คใน Linux kernel ซอฟแวร์ใด เป็นจุดปลายของการติดต่อสื่อสาร
1. โปรโตคอลไดร์เวอร์
2. ซ็อกเก็ตอินเตอร์แฟซ
3. เน็ตเวิร์คดีไวซ์ไดเวอร์
4. คาร์แรดเตอร์ดีไวซ์ไดเวอร์
12. โปรโตคอลใดใช้ในการส่งข้อผิดพลาดและข้อมูลเตตัสระหว่างโฮสต์
1. ICMP
2. UDP
3. TCP
4. BSD
13. กลไกการรักษาความปลอดภัยแบบใหม่ที่พัฒนาโดยเวนเดอร์ของ UNIX แล้วนำระบบนี้มาใช้ใน Linux เรียกว่าอะไร
1. PAM
2. UDP
3.TCP
4.ICMP

14. ระบบไฟล์ของ Linux เป็นระบบไฟล์ใด
1.VFS
2. PAM
3. ELF
4. NTFS
15. ชุดของโปรโตคอลที่สำคัญที่สุดในเน็ตเวิร์คของระบบ Linux คืออะไร
1. Internet carry message protocol
2. Transmission Control protocol
3. Internet protocol :IP
4.User Datagram protocol





สรุปและข้อสอบบทที่13

13 การรักษาความปลอดภัย
การรักษาความปลอดภัยจะมีความหมายอยู่หลายด้าน แต่ที่สำคัญมีอยู่ 3 ด้าน คือ การสร้างความเสียหายลักษณะของผู้ประสงค์ร้าย และข้อมูลสูญหายโดยเหตุสุดวิสัย
• การสร้างความเสียหาย (Threats)
จากแนวความคิดของการรักษาความปลอดภัย ระบบคอมพิวเตอร์จะมีเป้าหมายทั่วไปอยู่ 3 ประการเพื่อทำการตอบโต้กับความเสียหายที่เกิดขึ้นกับระบบ ซึ่งแสดงอยู่ในรูป 13.1 เป้าหมายแรกคือความลับของข้อมูล (Data confidentiality) จะเกี่ยวข้องกับการรักษาข้อมูลลับให้ลับ เช่น เจ้าของข้อมูลนั้นจะอนุญาตให้ผู้ที่สามารถเข้าถึงข้อมูลได้เฉพาะผู้ที่ได้รับอนุญาตนั้นเข้าถึงข้อมูลได้ยิ่งละเอียดลงไปอีก เจ้าของข้อมูลสามารถจะกำหนดได้ว่าจะให้ใครสามารถดูข้อมูลอะไรในส่วนไหนได้บ้าง และระบบก็ควรจะทำตามข้อกำหนดนี้ได้

เป้าหมาย
การสร้างความเสียหาย
ความลับของข้อมูล
ความเชื่อถือได้ของข้อมูล
ระบบยังคงทำงานอยู่ได้
เปิดเผยข้อมูล
เข้าไปเปลี่ยนแปลงข้อมูล
ปฏิเสธการให้บริการ
รูป 13.1 เป้าหมายของการรักษาความปลอดภัยและการสร้างความเสียหาย
เป้าหมายที่สอง คือ ความเชื่อถือได้ของข้อมูล (Data integrity) จะหมายถึงผู้ใช้ที่ไม่ได้รับอนุญาตจากเจ้าของข้อมูลจะไม่สามารถเข้าไปทำการเปลี่ยนแปลงข้อมูลได้ การเปลี่ยนแปลงข้อมูลในที่นี้จะรวมถึงการลงข้อมูลและการเพิ่มข้อมูลที่ผิดๆ ลงไปด้วย ระบบจะต้องการป้องกันข้อมูลไม่ให้มีการเปลี่ยนแปลงเกิดขึ้นจนกว่าเจ้าของข้อมูลจะทำการเปลี่ยนแปลงข้อมูลนั้นด้วยตัวเจ้าของข้อมูลเอง
เป้าหมายที่สอง การที่ระบบยังคงทำงานอยู่ได้ (System availability) หมายถึงการที่ไม่มีใครสามารถที่จะทำการรบกวนการทำงานของระบบ ทำให้ระบบล่มไม่สามารถทำงานต่อไปได้
• ผู้ประสงค์ร้าย (Intruders)
ในการออกระบบเพื่อให้ปลอดภัยจากผู้ที่บุกรุกเข้ามาเพื่อประสงค์ร้ายกับระบบนั้น จำเป็นที่เราต้องระลึกอยู่เสมอว่าผู้ที่บุกรุกเข้ามานั้นคือผู้ที่เข้ามาต่อสู้กับการรักษาความปลอดภัยของเรา ประเภทต่างๆ ของผู้ประสงค์ ร้ายคือ
• ผู้ใช้ทั่วไปที่ชอบสอดรู้สอดเห็น
• คนภายในที่ขอบสอดแนม นักศึกษา โปรแกรมเมอร์ พนักงานควบคุมเครื่อง และพนักงานทางด้านเทคนิคต่างๆ
• ผู้ที่พยายามสร้างรายได้ให้กับตนเอง
• ผู้ที่จารกรรมข้อมูลทางทหารหรือทางธุรกิจ
• ข้อมูลสูญหายโดยเหตุสุดวิสัย (Accidental Data Loss )
นอกจากภัยคุกคามที่เกิดจากผู้ประสงค์ร้ายแล้ว ข้อมูลยังสามารถสูญหายโดยอุบัติเหตุได้เหมือนกันสาเหตุพื้นฐานที่ทำให้ข้อมูลสูญหายโดยเหตุสุดวิสัย คือ
• ปรากฏการณ์ทางธรรมชาติ เช่น ไฟไหม้ แผ่นดินไหว สงคราม จลาจล หรือ หนูกัดเทปหรือแผ่นดิสก์
• ฮาร์ดแวร์หรือซอฟต์แวร์ทำงานผิดพลาด เช่น การทำงานผิดพลาดของซีพียู แผ่นดิสก์หรือเทปเสียหายเน็ตเวิร์คเสีย หรือข้อผิดพลาดอื่นๆ
• ข้อผิดพลาดที่เกิดจากมนุษย์ เช่น การบันทึกข้อมูลผิดพลาด หยิบเทปิดหรือหยิบดิสก์ผิดแผ่น เทปหรือดิสก์สูญหาย ฯลฯ
การรับรองผู้ใช้ (User Authentication)
กระบวนการสำคัญของระบบปฏิบัติการในการรักษาความปลอดภัยให้ระบบ โดยจะมีหน้าที่ในการพิสูจน์ว่าผู้ที่กำลังใช้ระบบขณะนี้คือใครกระบวนการนี้เรียกว่า “ การรับรองผู้ใช้ ” (user authentication)
เครื่องมินิคอมพิวเตอร์ในยุคแรกๆ เช่น POP- และ POP-8 จะไม่มีขั้นตอนการล็อกอินเข้าระบบ (login) แต่เนื่องจากความนิยมในการใช้งานระบบ UNIX ของเครื่อง POP-11 มีอย่างแพร่หลายจึงทำให้จำเป็นต้องมีขั้นตอนการล็อกอินเข้าระบบ เครื่องพีซี ในยุคแรก เช่น Apple ll และ IBM PC ก็ไม่มีขั้นตอนของการล็อกอินเข้าระบบ แต่เนื่องจากระบบปฏิบัติการของเครื่องพีซีนับวันจะมีความทันสมัยและมีความซับซ้อนมากขึ้น เช่น ระบบWindows 2000 จึงจำเป็นต้องมีขั้นตอนของการล็อกอินเข้าระบบ
ใครก็ตามที่ต้องการจะสร้างความเสียหายให้กับระบบใดระบบหนึ่ง ในขั้นแรกเลยจะต้องเข้าสู่ขั้นตอนการล็อกอินเข้าระบบนั้น ซึ่งจะหมายถึงว่าบุคคลนั้นสามารถที่จะผ่านเข้าสู่ขั้นตอนของการรับรองผู้ใช้แล้ว ซึ่งบุคคลพวกนี้มีชื่อเรียกว่า “ แฮกเกอร์ ” (hacker)
จุดอ่อนของการใช้รหัสผ่าน (Password Vulnerabilities)
รหัสผ่านอาจจะสร้างขึ้นมาได้โดยระบบคอมพิวเตอร์หรือผู้ใช้เป็นผู้กำหนดขึ้นมาด้วยตัวเอง รหัสผ่านที่คอมพิวเตอร์กำหนดให้อาจจะยากต่อการจำทำให้ผู้ใช้ต้องจดรหัสผ่านเอาไว้เพื่อกันลืม รหัสผ่านที่ผู้ใช้กำหนดขึ้นเองส่วนใหญ่แล้วจะง่ายต่อการเดา เพราะอาจจะเป็นชื่อของผู้ใช้เองหรือเป็นสิ่งที่ผู้ใช้โปรดปราน บางระบบจะมีผู้ดูแลระบบจะทำการตรวจสอบรหัสผ่านของผู้ใช้และแจ้งไปยังผู้ใช้ถ้าพบว่ารหัสผ่านสั้นเกิดไปหรือเป็นรหัสผ่านที่เดาได้ง่าย บางระบบจะมีการกำหนดอายุของรหัสผ่าน โดยจะให้ผู้ใช้ทำการเปลี่ยนรหัสผ่านตามช่วงระยะเวลาที่กำหนด เช่น จะต้องเปลี่ยนรหัสผ่านทุก 3 เดือน แต่วิธีนี้ก็ยังไม่ใช่หนทางที่ดีเพราะว่าจะทำให้ผู้ใช้จำสับสนกันระหว่างรหัสผ่าน หนทางที่จะใช้แก้ปัญหานี้ก็คือจะต้องทำการสร้างระบบที่ใช้ทำการบันทึกรายการของรหัสผ่านที่ผู้ใช้แต่ละคนเคยใช้มาทั้งหมด นั่นคือรหัสผ่านที่เคยใช้มาแล้วจะไม่สามารถนำมาเป็นรหัสผ่านได้อีก
• รหัสผ่านแบบใช้ได้ครั้งเดียว (One-Time Passwords)
Leslie Lamport ได้คิดค้นรูปแบบของการสร้างรหัสผ่านโดยการใช้ฟังก์ชัน โดยผู้ใช้สามารถจะขอเข้าไปใช้เครื่องในเน็ตเวิร์คได้อย่างปลอดภัยโดยใช้รหัสผ่านแบบใช้ครั้งเดียว (Lamport, 1981) วิธีการของ Lamport ช่วยให้ผู้ใช้เครื่องคอมพิวเตอร์ส่วนตัวที่บ้านสามารถขอเข้าไปใช้เครื่องเซิร์ฟเวอร์ในอินเทอร์เน็ตได้อย่างปลอดภัยแม้ว่าจะมีผู้ที่คอยแอบดูหรือคัดลอกข้อมูลในระหว่างการเดินทางของข้อมูลในเน็ตเวิร์ค
อัลกอริทึมของ Lamport จะอยู่ในรูปของฟังก์ชัน y = f(X) ซึ่งฟังก์ชันนี้ถ้าทราบค่า x จะทำให้สามารถหาค่าของ y ได้ แต่ถ้าทราบค่าของ yจะไม่สามารถคำนวณเพื่อหาค่าของ x ได้ ในส่วนของข้อมูลเข้าและข้อมูลออกควรที่จะมีความยาวเท่ากัน เช่น 128 บิต
• โปรแกรมอันตราย (Program Threats)
ในสภาพแวดล้อมที่ผู้เขียนโปรแกรมและผู้ใช้งานโปรแกรมไม่ใช่บุคคลคนเดียวกัน ทำให้มีโอกาสของการใช้งานโปรแกรมผิดวัตถุประสงค์และทำให้เกิดเหตุการณ์ที่ไม่คาดคิดขึ้นได้กับระบบ ซึ่งโดยทั่วไปเหตุการณ์ที่ไม่คาดคิดนั่นก็คือ ม้าโทรจัน (Trojan horses) และประตูกับดัก (trap doors)
13.3.1 ม้าโทรจัน (Trojan Horses)
ม้าโทรจัน (Trojan horse) หมายถึง
โปรแกรมคอมพิวเตอร์ที่ถูกบรรจุเข้าไปในคอมพิวเตอร์ เพื่อลอบเก็บข้อมูลของคอมพิวเตอร์เครื่องนั้น เช่น ข้อมูลชื่อผู้ใช้ รหัสผ่าน เลขที่บัญชีธนาคาร หมายเลขบัตรเครดิต และข้อมูลส่วนบุคคลอื่น ๆ โดยส่วนใหญ่แฮกเกอร์จะส่งโปรแกรมเข้าไปในคอมพิวเตอร์เพื่อดักจับข้อมูลดังกล่าว แล้วนำไปใช้ในการเจาะระบบ และเพื่อโจมตีคอมพิวเตอร์, เซิร์ฟเวอร์, หรือระบบเครือข่ายอีกที ซึ่งเป็นที่รู้จักกันในชื่อการโจมตีเพื่อ "ปฏิเสธการให้บริการ" (Denial of Services)
โปรแกรมม้าโทรจัน ถือเป็นโปรแกรมที่สอดคล้องกับการทำงานของคอมพิวเตอร์ ไม่มีคำสั่งหรือการปฏิบัติการที่เป็นอันตรายต่อตัวคอมพิวเตอร์ จึงไม่ถือว่าเป็น
ไวรัสคอมพิวเตอร์

ประตูกับดัก (Trap Door)
อีกรูปแบบหนึ่งที่เป็นช่องโหว่ของการรักษาความปลอดภัยให้ระบบคือ ประตูกับดัก การสร้างประตูกับดักจะเกิดจากการเขียนคำสั่งโดยโปรแกรม
ระบบอันตราย (System Threats)
หนอนคอมพิวเตอร์ (worm)
หนอนคอมพิวเตอร์เป็นขบวนการของกลไกในการบังคับประสิทธิภาพการทำงานของระบบ หนอนคอมพิวเตอร์จะทำการสำเนาตัวเอง โดยใช้รีซอร์สระบบหรือบางทีจะทำการป้องกันไม่ให้โปรเซสอื่นๆ ใช้รีซอร์สของระบบ ในระบบเน็ตเวิร์คหนอนคอมพิวเตอร์จะมีความสามารถมาก คือสามารถที่จะทำสำเนาตัวเองและแพร่กระจายไปในแต่ละเครื่องในเน็ตเวิร์คและทำให้ระบบในเน็ตเวิร์คหยุดทำงาน ซึ่งจะเห็นได้จากเหตุการณ์ในปี 1988 ที่เกิดขึ้นกับระบบ UNIX ใ นเครือข่ายอินเทอร์เน็ตหยุดทำงานทั้งหมด ทำให้เกิดความเสียหายหลายล้านดอลลาร์
หนอนคอมพิวเตอร์มีจุดเริ่มมาจากเมื่อวันที่ 2 พฤศจิกายน 1988 โดยโรเบิร์ต แทปแปน มอร์ริส นักศึกษาระดับปริญญาโทปีที่ 1 องมาหาวิทยาลัยคอร์แนบล ได้ปลอ่ยโปรแกรมที่มีหนอนคอมพิวเตอร์ไปในเครื่องเซิร์ฟเวอร์ในอินเทอร์เน็ต โดยเป้าหมายของการปล่อยหนอนคอมพิวเตอร์ คือ เครื่อง SUN Microsystem 3 เครื่องและเครื่อง VAX ซึ่งใช้โปรแกรมระบบ UNIX เ วอร์ชั่น 4 BSD หนอนคอมพิวเตอร์ได้แพร่กระจายอย่างรวดเร็วภายในเวลาไม่กี่ชั่วโมงที่ได้ปล่อยออกไป โดยหนอนคอมพิวเตอร์จะทำการเรียกใ ช้รีซอร์สระบบจนทำให้ระบบไม่สามารถทำงานต่อไปได้และหยุดทำงานไปในที่สุด
หนอนคอมพิวเตอร์จะประกอบด้วยโปรแกรม 2 ส่วนคือ โปรแกรมส่วนเกาะติด (grapping hook or bootstrap) แ ละโปรแกรมหลัก โปรแกรมส่วนเกาะติดจะประกอบด้วยคำสั่งที่เขียนด้วยภาษาซี จำนวน 99 บรรทัดเรียกว่า l1.c โปรแกรมส่วนนี้จะถูกแปลและทำงานบนเครื่องที่มันติดไป ในขณะที่โปรแกรมส่วนเกาะติดนี้กำลังทำงานมันจะทำการติดต่อกลับไปยังเครื่องคอมพิวเตอร์ต้นทางที่มันถูกสร้างมาซึ่งมีโปรแกรมหลักอยู่ มันจะทำการเรียกโปรแกรมหลักและให้โปรแกรมหลักทำการประมวลผลบนเครื่องที่โปรแกรมเกาะติดกำลังทำงานอยู่ ดับรูป 13.6 หลังจากนั้นโปรแกรมหลักก็จะทำการมองหาเครื่องเซิร์ฟเวอร์อื่นๆ ที่อยู่ในเน็ตเวิร์คเพื่อที่จะทำการแพร่กระจายโปรแกรมเกาะติดไปยังเครื่องเหล่านั้น
ในการทำงานของหนอนคอมพิวเตอร์ที่เป็นลักษณะของการโจนตีระยะไกลนั้น มอร์ริสได้เรียกใช้คำสั่ง rsh ในระบบ UNIX ซึ่งเป็นคำสั่ง
ไวรัส (virus)
อีกรูปแบบหนึ่งของการโจมตีเครื่องคอมพิวเตอร์คือ ไวรัส โดยไวรัสจะเป็นโปรแกรมที่เขียนขึ้นมาเพื่อให้กระจายอยู่ในโปรแกรมอื่น มันสามารถทำงานได้เหมือนกับโปรแกรมทั่วไป ตัวอย่างเช่น พิมพ์ข้อความ แสดงรูปภาพบนจอภาพ เล่นเพลง หรือทำทุกสิ่งทุกอย่างได้โดยที่ไม่เป็นอันตราย แต่มันสามารถที่จะลบไฟล์ แก้ไข ทำลายขโมยไฟล์ (โดยการส่งไปทางอีเมล์) หรือ ทำให้ระบบเกิดความเสียหายได้ ในขณะที่หนอนคอมพิวเตอร์จะเป็นโปรแกรมที่สมบูรณ์และเป็นโปรแกรมทำงานเองโดยลำพังด้วยตัวของมันเอง ส่วนไวรัสจะเป็นส่วนหนึ่งของโปรแกรมที่ฝังตัวอยู่ในโปรแกรมอื่น ไวรัสเป็นปัญหาใหญ่มากของผู้ใช้เครื่องคอมพิวเตอร์ โดยเฉพาะผู้ใช้เครื่องพีซี ส่วนเครื่องคอมพิวเตอร์แบบผู้ใช้หลายคนจะไม่มีปัญหาในเรื่องไวรัสเนื่องจากมีการป้องกันจากโปรแกรมระบบในเรื่องของการบันทึกข้อมูลส่งไฟล์ ถึงแม้ว่าจะติดไวรัสแต่ ความสามารถของไวรัสก็จะถูกจำกัดเนื่องจากระบบมากป้องกันเป็นอย่างดี ซึ่งเครื่องพีซีไม่มีระบบป้องกันแบบนั้นเลยทำให้ไวรัสสามารถแพร่กระจายได้อย่างอิสระ
อีกอย่างหนึ่งที่ไวรัสสามารถทำได้คือ ในขณะที่ไวรัสกำลังทำงานอยู่ มันจะใช้รีซอร์จองเครื่องทั้งหมดโดยไม่ใช้ผู้อื่นใช้ เช่น ซีพียู เขียนข้อมูลขยะลงบนแผ่นดิสก์
ประเภทของไวรัส (Types of viruses)
ประเภทของไวรัสพอจะแบ่งเป็นประเภทย่อยๆ ได้ดังนี้
• Parasitic virus เป็นไวรัสเก่าแก่ที่สุดเป็นรูปแบบพื้นฐานของไวรัสทั่วไป ไวรัสชนิดนี้จะติดเฉพาะโปรแกรมไฟล์ (executable program) และจะทำการสำเนาตัวเองเมื่อโปรแกรมที่ติดไวรัสนี้ถูกประมวลผล ต่อจากนั้นก็จะมองหาโปรแกรมไฟล์อื่น เพื่อจะติดไป
• Memory-resident virus ไวรัสชนิดนี้จะอยู่ในหน่วยความจำหลักโดยเป็นส่วนหนึ่งของโปรแกรมระบบถาวร (resident program system) ไ วรัสชนิดนี้จะเป็นจุดเริ่มที่ทำให้ไวรัสแพร่กระจายไปติดที่โปรแกรมอื่นเมื่อระบบได้มีการเรียกใช้ระบบจากแผ่นดิสก์ที่ติดไวรัส
• Boot sector virus ไวรัสชนิ ดนี้ จะทำ ลายที่เซ็กเตอร์แรกของระบบปฏิบัติการและจะแพร่กระจายโปรแกรมตรวจหาไวรัส
• Steailth virus จะเป็นไวรัสที่ มีรูปแบบแน่นอนที่ถูกออกแบบมาเพื่อซ่อนตัวเองจากการป้องกันจากโปรแกรมตรวจหาไวรัส
• Polymorphic virus ไวรัสชนิดนี้จะทากรเปลี่ยนแปลงตัวเองทุกครั้งที่มีการแพร่กระจาย
การป้องกันไวรัส (Antivirus Approaches)
เพื่อเป็นการป้องกันไวรัสที่อาจจะติดระบบได้ คุณอาจจะป้องกันได้ดังนี้
• ใช้ระบบปฏิบัติการที่มีการรักษาความปลอดภัยสูง มีการแบ่งขอบเขตของการใช้งานและมีการให้ผู้ใช้ต้องใส่รหัสผ่านซึ่งเป็นรหัสผ่านส่วนตัว
• ติดตั้งซอฟต์แวร์เฉพาะที่ซื้อมาจากตัวแทนจำหน่วยซอฟต์แวร์ที่ไว้ใจได้ และไม่หลีกเลี่ยงการสำเนาโปรแกรมที่แจกฟรีตามแหล่งต่างๆ
• ซื้อโปรแกรมป้องกันไวรัสที่มีคุณภาพและมีการปรับปรุงซอฟต์แวร์ผ่านทางเว็บไซต์ของผู้ผลิตเสมอ
• ไม่เปิดดูสิ่งที่แนบมากับอีเมล์เพราะไวรัสจะทำงานทันที่ที่มีการเปิดสิ่งที่แนบมาด้วย อีเมล์ที่ส่งมาในรูปในรูปของข้อความธรรมดาที่เป็นรหัสแอสกี้จะมีความปลอดภัยจากไวรัส
• มีการทำสำรองข้อมูลที่สำคัญไว้ในหน่วยความจำสำรองเสมอๆ เช่น แผ่นดิสก์ แผ่นซีดี หรือ เทปโดยมีการทำสำรองข้อมูลไว้เป็นระยะ
• การเข้ารหัสข้อมูล (Encryption)
การเข้ารหัสข้อมูลเป็นวิธีหนึ่งที่ใช้สำหรับป้องกันข้อมูลระหว่างการส่งผ่านไปในเน็ตเวิร์ค กลไกพื้นฐานในการทำงาน คือ
• ข้อมูลจะถูกเจ้ารหัส (Encode) จากรูปแบบเดิมที่อ่านออก (Plaintext) ให้ไปยู่ในรูปแบบที่อ่านไม่ออก (Ciphertext)
• ข้อมูลที่ถูกเข้ารหัสแล้ว (Ciphertext) จ ะถูกส่งไปตามช่องทางในเน็ตเวิร์ค
• เพื่อให้ข้อมูลที่ถูกเข้ารหัสอ่านออก ผู้รับจะทำการถอดรหัส (Decode) ข้อความให้กลับไปอยู่ในรูปแบบเดิมที่อ่านออกได้
• การเข้ารหัสข้อมูลโดยใช้คีย์ลับ ( Secret – Key Encryption)
จากอัลกอริมทึกสำหรับการเข้ารหัสข้อมูลซึ่งอักษรแต่ละตัวจะถูกแทนด้วยตัวอักษรที่ต่างกันไป ตัวอย่างเช่น A จะถูกแทนด้วย Q, B ทั้งหมดจะถูกแทน W, C ทั้งหมดจะถูกแทนด้วย E ซึ่งจะมีลักษณะดังนี้
ข้อความปกติ : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ข้อความแปลง : Q W E R T Y U I O P A S D F G H J K L Z X C V B N M
ระบบการแทนแบบนี้เรียกว่า monoalphabetic substitution ซึ่งใช้คีย์ที่เป็นตัวอักษร 26 ตัวอักษรจาตัวอย่างนี้คีย์ของการเช้ารหัสคือQWERTYUIOPASDFGHJKLZXCVBNM จากคีย์นี้ข้อความปกติ ATTACK จะถูกแปลงให้เป็น QZZQEA ส ่วนคีย์ที่ใช้สำหรับถอดรหัสข้อมูลที่เข้ารหัสแล้วให้กลับอยู่ในรูปแบบของข้อมูลปกติจาตัวอย่างนี้ก็จะเป็น KXVMCNOPHQRSZYIJADLEGWBUFT เ พราะว่าตัวอักษรA ในข้อความที่เข้ารหัสจะเป็น K ในข้อความปกติ ส่วน B ในข้อความที่เข้ารหัสจะเป็น X ในข้อความปกติ
• การเข้ารหัสข้อมูลโดยใช้คีย์สาธารณะ ( Public – Key Encryption)
ระบบที่ใช้คีย์ลับเป็นระบบที่มีประสิทธิภาพเพราะในการทำงานจำเป็นต้องมีการจัดการทั้งข้อความปกติและข้อความที่เข้ารหัส แต่วิธีนี้จะมีข้อเสียคือผู้ส่งและผู้รับข้อความจะต้องใช้คีย์ร่วมกัน ซึ่งอาจจะทำให้ความลับของคีย์รั่วไหลไปสู่คนอื่นๆได้ เพื่อแก้ปัญหานี้จึงมีอีกวิธีหนึ่งคือ การเข้ารหัสข้อมูลโดยใช้คีย์สาธารณะ ระบบนี้จะใช้คีย์ที่ต่างกันสำหรับการเข้ารหัสข้อมูลและการถอดรหัสข้อมูล
การทำงานของการเข้ารหัสแบบคีย์สาธารณะคือทุกคนจะต้องใช้คีย์คู่ซึ่งเรียกว่า คีย์สาธารณะ (public key) และคีย์ส่วนตัว (private key) ค คีย์สาธารณะจะเป็นคีย์ที่ใช้สำหรับการเข้ารหัส ส่วนคีย์ส่วนตัวจะใช้เป็นคีย์สำหรับการถอดรหัส โดยปกติแล้วคีย์จะถูกสร้างขึ้นมาโดยอัตโนมัติ หรือให้ผู้ใช้เลือกรหัสผ่านขึ้นมาแล้วเรียกใช้อัลกอริทึกเนื่องจากผู้รับข้อมูลจะมีคีย์ส่วนตัวซึ่งจะทำให้ผู้รับสามารถที่จะถอดรหัสข้อมูลได้โดยใช้คีย์ส่วนตัวที่มีอยู่
• การรักษาความปลอดภัยของระบบ Windows NT
Windows NT เป็นระบบปฏิบัติการ ที่ถูกออกแบบมาเพื่อให้สนับสนุนการรักษาความปลอดภัยในหลายๆ รูปแบบ ระดับการรักษาความปลอดภัยของระบบที่กำหนดมาให้นั้นสามารถที่จะปรับเปลี่ยนได้ตามความต้องการของผู้ดูแลรักษาระบบ โปรแกรมยูทิลิตี้ที่ชื่อว่าC2config.exe จ ะเป็นโปรแกรมที่ช่วยให้ผู้ดูแลระบบกำหนดระดับของการรักษาความปลอดภัย
NT จะใช้ความคิดของการอยู่ภายใต้ subject เพื่อให้แน่ใจว่าโปรแกรมที่ผู้ใช้ทำการประมวลผลจะไม่ไปใช้งานระบบมากเกินกว่าที่ผู้ใช้คนนั้นได้รับสิทธิการอยู่ภายใต้ subject จะถูกใช้เพื่อทำการติดตามและในเรื่องของการจัดการได้รับอนุญาตสำหรับโปรแกรมแต่ละโปรแกรมที่ผู้ใช้ทำการประมวลผลโดยประกอบกับสิทธิต่างๆ ผู้ใช้ที่มีในการใช้งานระบบ ในลักษณะที่ NT ทำงานเป็นเครื่องเซิร์ฟเวอร์ในระบบเน็ตเวิร์ค จะมีการกำหนดการอยู่ภายใต้ไว้ 2 ระดับเพื่อเป็นการควบคุมการทำงาน ระดับแรกคือ sample subject จ ะเป็นระดับของโปรแกรมประยุกต์ธรรมดาที่ผู้ใช้ทำการประมวลผลหลังจากที่ผู้ใช้คนนั้นทำการล็อกอินเข้ระบบแล้ ระดับของ simple subject จะถูกกำหนดใน security access token ข องผู้ใช้แต่ละคน อีกระดับของการอยู่ภายใต้ คือ sever subject ซ ซึ่งจะเป็นกระบวนการที่สร้างขึ้นมาเพื่อป้องกันเครื่องเซิร์ฟเวอร์โดยจะเป็นการรักษาความปลอดภัยให้เก็บเครื่องกอล์ฟเวอร์ในกรณีที่มีการเรียกใช้งานจากเครื่องไคลเอ็นต์
คุณสมบัติของการรักษาความปลอดภัยการเรียกใช้ออปเจ็กต์ของ NT จะกำหนดอยู่ใน security descriptor ซ ซึ่งใน securiry descriptorจ ะเก็บชื่อผู้ใช้ระบบที่สามารถเปลี่ยนสิทธิต่างๆ ด้วยตนเอง กลุ่มของผู้ใช้ที่สังกัด สิทธิต่างๆ ที่ผู้ใช้คนนั้นสามารถกระทำได้หรือไม่ได้

คำถาม
13. การรักษาความปลอดภัย
1.บุคคลที่สามารถที่จะผ่านเข้าสู่ขั้นตอนของการรับรองผู้ใช้แล้ว บุคคลนี้มีชื่อว่าอะไร
1.แฮกเกอร์
2. ฟลอเรนซ์
3. ยูคลิด
4. แอร์ดิช
2. .ใครเป็นผู้ได้คิดค้นรูปแบบของการสร้างรหัสผ่านโดยการใช้ฟังก์ชัน
1.Sophie Germain
2. Nicolas Copernicus
3. Blaise Pascal
4.Leslie Lanport
3. ในระบบ UNIX จะมีคำสั่งใด เป็นคำสั่งสำหรับค้นหาไดเรกทอรี
1. $uit

2.$ PATH
3. $dsn
4. $pwd

4. ข้อใดไม่ใช่สาเหตุพื้นฐานที่ทำให้ข้อมูลสูญหายโดยเหตุสุดวิสัย
1. ความลับของข้อมูล
2. เปิดเผยข้อมูล
3. เปลี่ยนแปลงข้อมูล
4. ปฏิเสธการให้บริการ
5. ข้อใดไม่ใช่การสร้างความเสียหาย
1.ปรากฏการณ์ทางธรรมชาติ
2. ฮาร์ดแวร์หรือซอร์ฟแวร์ทำงานผิดพลาด
3. คอมพิวเตอร์ใช้งานไม่ได้
4. ข้อผิดพลาดที่เกิดจากมนุษย์
6. ข้อใดไม่ใช่การทำงานของม้าโทรจัน
1. ส่งไฟล์ไปยังที่ใดที่หนึ่งทางอีเมลล์
2. ก็อปปี้ไฟล์ไว้เพื่อบุคคลอื่นสามารถเข้าถึงได้
3. เข้ารหัสไฟล์ของผู้ใช้ระบบ
4. ทำให้ไฟล์อื่นๆเสียหาย
7. ใครเป็นผู้ปล่อยโปรแกรมหนอนคอมพิวเตอร์ในเครื่องเซิร์ฟเวอร์ในอินเตอร์เน็ต
1.โรเบิร์ต บอยล์
2. เลโอนาร์โด ดา วินซี
3. อเลสซานโดร โวลตา
4. โรเบิร์ต แทปแปน มอร์ริส
8. ไวรัส เป็นโปรแกรมชนิดใด
1. เป็นโปรแกรมที่เขียนขึ้นมาเพื่อให้กระจายอยู่ในโปรแกรมอื่น
2. เป็นโปรแกรมทำงานเองโดยลำพังด้วยตัวมันเอง
3. เป็นโปรแกรมคำสั่งโดยโปรแกรมเมอร์ระบบ
4. เป็นโปรแกรมที่ทำงานบางสิ่งบางอย่างที่ไม่พึงประสงค์
9.โปรแกรมส่วนเกาะติด ประกอบด้วยคำสั่งที่เขียนด้วยภาษาซีจำนวนกี่บรรทัด
1. 97 บรรทัด
2. 98 บรรทัด
3. 99 บรรทัด
4. 100 บรรทัด
10. ในระบบ UNIX นั้น การใช้คำสั่งสำหรับการประมวลผลโปรแกรมระยะไกล โดยสร้างไฟล์พิเศษขึ้นมาเพื่อใช้เก็บลิสต์ของผู้ใช้งานระบบ มอร์ริสได้ใช้คำสั่งใด
1. rsh
2. While
3. fork
4.main
11. ไวรัสชนิดใด เป็นไวรัสที่เก่าแก่ที่สุดในรูปแบบพื้นฐานของไวรัศทั่วไป
1. Memory-resident virus
2. Parasitic virus
3. Boot Sector virus
4. Stealth virus
12. ข้อใดไม่ใช่วิธีการป้องกันไวรัส
1. ซื้อโปรแกรมป้องกันไวรัส
2. ติดตั้งซอร์ฟแวร์เฉพาะที่ซื้อมา
3. เปิดดูสิ่งที่แนบมากับอีเมลล์
4. มีการทำสำรองข้อมูลที่สำคัญไว้ในหน่วยความจำสำรอง
13. โปรแกรมที่ช่วยให้ผู้ดูแลระบบกำหนดระดับของการรักษาความปลอดภัย คือโปรแกรมยูทิลิตี้ มีชื่อว่าอะไร
1. C2 config.exe
2. PAM
3. protection mask
4. impersonation

14. การทำงานของระบบอันตรายที่เป็นขบวนการสำเนาตัวเองขึ้นมาและแพร่กระจายไปในเน็คเวิร์ค ใช้รีซอร์ส
ของระบบทั้งหมดและป้องกันไม่ให้โปรเซสอื่นใช้รีซอร์สของระบบทำให้ระบบหยุดทำงานไปในที่สุด เรียกว่า อะไร
1. หนอนคอมพิวเตอร์
2. ไวรัส
3. ม้าโทรจัน
4. ประตูกับดัก
15. ใช้คีย์ที่เป็นตัวอักษรเท่าใด ในการเข้ารหัสข้อมูลโดยใช้คีย์ลับนั้น ระบบการแทน จากอัลกอลิทึมสำหรับการเข้ารหัสข้อมูลซึ่งตัวอักษรแต่ละตัวถูกแทนด้วนตัวอักษรที่แตกต่างกันไป
1. 24 ตัวอักษร
2. 25 ตัวอักษร
3. 26 ตัวอักษร
4. 27 ตัวอักษร

วันอังคารที่ 18 พฤศจิกายน พ.ศ. 2551

การปรับแต่ง Registry

เทคนิคการปรับแต่ง Registry
โชว์ Background แบบเต็มๆด้วยการซ่อน Desktopเรียก Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Ssoftware\Microsoft\Windows\CurrentVersion\Policies\Explorer] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoDesktop ให้ Double Click ขึ้นมา แล้วใส่ค่า Value Data เป็น 1 หากต้องการยกเลิก ก็เข้าไปลบ KEY ที่ได้สร้างเอาไว้ออก หรือเปลี่ยนค่าเป็น 0 และ Restart เครื่อง
ซ่อนหน้า Background Setting เรียก Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoDispBackgroundPage ให้ Double Click ขึ้นมา แล้วใส่ค่า Value Data เป็น 1 หากต้องการยกเลิก ก็เข้าไปลบ KEY ที่ได้สร้างเอาไว้ออก หรือเปลี่ยนค่าเป็น 0 และ Restart เครื่อง
ซ่อนหน้า Appearance Settingเรียก Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoDispAppearancePage ให้ Double Click ขึ้นมา แล้วใส่ค่า Value Data เป็น 1 หากต้องการยกเลิก ก็เข้าไปลบ KEY ที่ได้สร้างเอาไว้ออก หรือเปลี่ยนค่าเป็น 0 และ Restart เครื่อง
ซ่อนหน้า Display Settingเรียก Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoDispSettingsPage ให้ Double Click ขึ้นมา แล้วใส่ค่า Value Data เป็น 1 หากต้องการยกเลิก ก็เข้าไปลบ KEY ที่ได้สร้างเอาไว้ออก หรือเปลี่ยนค่าเป็น 0 และ Restart เครื่อง
ซ่อนหน้า Screensaver Settingเรียก Regedit ขึ้นมา แล้วไปที่ [HEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoDispScrSavPage ให้ Double Click ขึ้นมา แล้วใส่ค่า Value Data เป็น 1 หากต้องการยกเลิก ก็เข้าไปลบ KEY ที่ได้สร้างเอาไว้ออก หรือเปลี่ยนค่าเป็น 0 และ Restart เครื่อง

ซ่อน Device Managerเรียก Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoDevMgrPage ให้ Double Click ขึ้นมา แล้วใส่ค่า Value Data เป็น 1 หากต้องการยกเลิก ก็เข้าไปลบ KEY ที่ได้สร้างเอาไว้ออก หรือเปลี่ยนค่าเป็น 0 และ Restart เครื่อง
ซ่อน Drive ไม่ให้คนอื่นเห็นเรียก Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoDrives ให้ Double Click ขึ้นมา เลือกใส่ค่าแบบ Decimal แล้วใส่ค่า Value Data เป็นค่าตัวเลขตาม Drive

ซ่อนไอคอน Network Neighbourhoodเรียก Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoNetHood ให้ Double Click ขึ้นมา แล้วใส่ค่า Value Data เป็น 1 หากต้องการยกเลิก ก็เข้าไปลบ KEY ที่ได้สร้างเอาไว้ออก หรือเปลี่ยนค่าเป็น 0 และ Restart เครื่อง
กันไว้ไม่ให้ใครมาเพิ่ม Printerเรียก Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Ssoftware\Microsoft\Windows\CurrentVersion\Policies\Explorer] คลิกขวา เลือก New >> DWORD Value แล้วตั้งชื่อว่า NoAddPrinter ให้ Double Click ขึ้นมา แล้วใส่ค่า Value Data เป็น 1 หากต้องการยกเลิก ก็เข้าไปลบ KEY ที่ได้สร้างเอาไว้ออก หรือเปลี่ยนค่าเป็น 0 และ Restart เครื่อง
ปรับแต่งรีจีสเตอร์ให้ใช้บล็อคไฟล์ที่มีขนาดดีที่สุดถ้าจะปรับแต่งค่าของขนาดของไฟล์ในแต่ละบล็อคที่ดีที่สุด เพราะค่าของวินโดวส์ที่กำหดให้มานั้นไม่เหมาะสม ให้เปิด Regedit ขึ้นมา แล้วไปที่ [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] แล้วลองหาหรือเพิ่มค่า ContigFileAllocSize ชนิด DWORD Value เป็น 512 สำหรับค่าแบบ Decimal หรือเป็น 200 สำหรับค่าแบบ Hex
เพิ่มความเร็วของ Registerเมื่อใช้วินโดวส์ไปแล้วรู้สึกช้าจากรีจีสตรี้ ให้ลองปรับแต่งรีจีสตรี้ด้วยตัวเอง โดยเปิดดอสพร้อมขึ้นมา แล้วพิมพ์ SCANREG /OPT จากนั้นนั่งรอวินโดวส์จะแพ็คข้อมูลให้

ลบค่าเก่าในคำสั่ง Find ทิ้งเราสามารถลบค่าเก่าใน Find ได้โดยการเปิด Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Explorer Bars\{C4EE31F3-4768-11D2-BE5C-00A0C9A83DA1}\FilesNamedMRU] ในหน้าต่างด้านขวา ให้ลบค่าที่ไม่ต้องการออก
ลบค่าเก่าๆในคำสั่ง Run ทิ้งเปิด Regedit ไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU] ที่หน้าต่างด้านขวา ลบค่าที่ไม่ต้องการออก
ลบค่าใน Address Bar เฉพาะค่าที่ต้องการไม่ลบทั้งหมดต้องการลบโดยปราศจากการเคลียร์ History ทั้งหมด เปิด Regedit ไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs] และลบค่าที่ไม่ต้องการออก
เอา Task Scheduler ออกTask Scheduler ถูกติดตั้งโดยอัตโนมัติในบางเวอร์ชั่นของวินโดว์ส และยังมีเมื่อติดตั้งอินเตอร์เน็ตเอ็กพลอเรอร์ สามารถที่จะลบมันออกจากระบบดังนี้

เปิด Regedit ไปที่[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] ที่ค่า SchedulingAgent กำหนดเป็น mstask.exe เพียงลบค่าดังกล่าวออกไปเท่านั้น

วิธีเก็บไฟล์ Windows Update ไว้ในเครื่องแบบที่อัพเดทอัตโนมัติมาลงเครื่อง พอครบร้อยเปอร์เซ็นต์ จะมีกรอบมาให้ Install อย่าเพิ่ง Install ให้ไป Copy มาก่อน โดยจะซ่อนอยู่ใน Program Files ให้โชว์ All Files และก็อปโฟลเดอร์ชื่อ WindowsUpdate มาไว้ก่อน แล้วค่อย Install เพราะเมื่อ Install แล้ว วินโดว์จะลบโฟลเดอร์นี้ออกไปแบบอัตโนมัติ ไฟล์ Update นี้สามารถเอาไปลงเครื่องอื่นได้ด้วย
หน้าที่ของ 6 คีย์หลักใน Registry ภายใน Registry จะประกอบด้วยคีย์หลัก 6 คีย์ ด้วยกัน ซึ่งแต่ละคีย์ก็ล้วนเชื่มต่อข้อมูลกับไฟล์ System.dat และ User.dat โดยแต่ละคีย์จะมีหน้าที่ดังนี้HKEY_CLASSES_ROOT เป็นคีย์สำหรับจัดเก็บข้อมูลและคุณสมบัติต่าง ๆ ที่เกี่ยวข้องกับซอฟต์แวร์ทั้งหมดที่ติดตั้งภายในเครื่องHKEY_CURRENT_CONFIG เป็นคีย์สำหรับจัดเก็บข้อมูลที่เกียวกับการกำหนดค่าต่างๆ ของฮาร์ดแวร์หรืออุปกรณ์ต่อพ่วงทั้งหมดHKEY_LOCAL_MACHINE เป็นคีย์สำหรับจัดเก็บข้อมูลทางด้านฮาร์ดแวร์ ซอฟต์แวร์ และการตั้งค่าอื่น ๆ ภายในเครื่องคอมพิวเตอร์ ข้อมูลภายในคีย์จะนำไปใช้กับผู้ใช้ทุกคนที่เข้ามาในวินโดวส์HKEY_USERS เป็นคีย์สำหรับจัดเก็บข้อมูลเฉพาะที่เกี่ยวกับผู้ใช้ทั้งหมดเช่นรายชื่อของผู้ใช้ที่เข้ามาใช้งานหรือรายชื่อผู้ใช้งานเครือข่าย โดยจะมีความสัมพันธ์และเป็นข้อมุลชุดเดียวกับคีย์ HKEY_CURRENT_USERHKEY_CURRENT_USER เป็นคีย์สำหรับจัดเก็บข้อมูลเฉพาะที่เกี่ยวกับผู้ใช้ปัจจุบันที่เข้ามาใช้งานเท่านั้น โดยจะมีความสัมพันธ์และเป็นข้อมูลชุดเดียวกับกับคีย์ HKEY_USERSHKEY_DYN_DATA เป็นคีย์สำหรับจัดเก็บข้อมูลที่เกี่ยวกับการตั้งค่าในระบบ Plug and play รวมถึงค่ารหัสต่าง ๆ ของอุปกรณ์ที่มาต่อพ่วง สำหรับใน Windows XP จะไม่ปรากฎคีย์นี้
Change Logon ScreenHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonMake a new DWORD Value and give name LogonType.Double click LogonType and insert value as the following at Value Data:0 > Classic Mode1 > Welcome Screen
Shortcut เดียว เปิดหลายโปรแกรมให้เปิด Notepad ขึ้นมาค้างเอาไว้ก่อน ต่อจากนั้นไป Copy ส่วนของ Target ของ Shortcut แต่ละตัวเข้ามาไว้ใน Notepad นี้ โดยวิธีการเข้าไป Copy Target ก็คือ ให้คลิกขวาที่ Shortcut ของโปรแกรมที่ต้องการจะให้มีการเปิด แล้วเลือก Properties และที่หัวข้อ Shortcut ก็จะพบกับส่วนของ Target: ให้ทำการ Copy ข้อความในส่วนนี้มาทั้งหมด
เมื่อ Copy ได้เรียบร้อยแล้ว ให้กด Cancel ไป จากนั้นกลับมาที่ Notepad แล้วทำการวางข้อความ Target ที่ได้ Copy มาเอาไว้ใน Notepad
ข้อควรระวังในจุดนี้ก็คือ
1. เวลานำมาวางใน Notepad ต้องเว้นบรรทัดในแต่ละ Target ด้วย มิเช่นนั้นจะถือว่าผิด
2. ห้ามลบเครื่องหมายฟังหนู (") ออก ให้คุณใส่เอาไว้เช่นนั้น มิเช่นนั้นจะถือว่าผิด
จากนั้นเมื่อเรียบร้อยแล้ว ให้ Save ข้อมูลต่างๆใน Notepad ตัวนี้เป็น Batch File ซึ่งวิธีการ Save เป็น Batch File ก็คือ ให้ Save ไฟล์นี้ให้มีนามสกุลเป็น .bat นั่นเอง โดยจะใช้ชื่อว่าอะไรก็ได้ สำหรับในตัวอย่างนี้ จะ Save เป็นไฟล์ชื่อว่า Test.bat โดยที่ระหว่าง Save ให้กำหนด Save as type: เป็น All Files (*.*) ด้วย มิเช่นนั้นชื่อไฟล์อาจจะมี .txt ต่อท้ายด้วย ก็จะทำให้ผิด และไฟล์ๆนี้สามารถ Save ไว้ที่ Directory ไหนภายในเครื่องก็ได้
เพิ่มค่าเซสชั่นในการเชื่อมต่อให้มากขึ้นในวินโดวส์นั้นกำหนดค่าสูงสุดของ HTTP Sessions ไว้จำกัดสำหรับ HTTP 1.0 เป็น 4 ซึ่งทำให้ควรเปิดหน้าต่างอินเตอร์เน็ตเอ็กพลอเรอร์ได้สูงสุด 4 หน้าต่าง แต่ถ้าใช้ HTTP 1.1 นั้นเป็น 2 ซึ่งยิ่งน้อยไปใหญ่ ถ้าคุณจะเพิ่มค่าก็ทำได้โดยเปิด Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] แล้วลองหาหรือเพิ่มค่า MaxConnectionsPerServer (สำหรับ 1.1) และ MaxConnectionsPer1_0Server (สำหรับ 1.0) เป็นค่าแบบ DWORD Value แล้วกำหนดค่าเป็น 8 ทั้งสองตัวก็ได้
เพิ่มแคชในการรีเฟรชหน้าจอเปิด Regedit [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer] ใส่ค่าสตริงใหม่ลงที่หน้าต่างด้านซ้าย โดยเลือก Edit >> New >> String Value หรือแก้ไขค่า Max Cached Icons กำหนดค่าเป็น 819
การถอดรหัส Logon บนวินโดวส์เข้าไปที่ C:\Windows แล้วหาไฟล์ที่มีนามสกุลเป็น .pwl ถ้าต้องการที่จะทำลายรหัสทิ้งไปเลย ก็ให้ลบไฟล์นี้ทิ้งไปได้เลย แต่ถ้าต้องการจะเปลี่ยนรหัสแค่ชั่วครั้งชั่วคราว ก็ให้เปลี่ยนนามสกุลของไฟล์จาก .pwl เป็นชื่ออื่นๆอะไรก็ได้ แล้วเมื่อ Logon มาอีกที มันก็จะให้กรอกรหัสใหม่
เพิ่ม IE Auto Scan ปกติเมื่อพิมพ์ชื่อเว็บ ถ้าโดเมนผิด IE จะหาโดเมนที่ถูกได้ โดยเป็น .com, .org, .net และ .edu แต่เราสามารถเพิ่มโดเมนให้กับ IE ได้ โดยไปที่ [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\UrlTemplate] ที่หน้าต่างด้านขวา สร้างคีย์ชนิด String Value ตั้งชื่อเป็นตัวเลขต่อจากที่มีอยู่ เช่นถ้ามีถึง 4 ก็ใส่ชื่อเป็น 5 จากนั้นแก้ไขค่าคีย์ที่สร้างขึ้นมาใหม่ ใส่เป็น www.%s.xxx ถ้าต้องการนามสกุลอื่น เช่น .gov ก็เพิ่มคีย์ใหม่ แล้วแก้ไขค่าเหมือนข้างต้น แต่เปลี่ยนส่วนขยายเป็น .gov เป็นต้น
การ Backup Registry
1. เข้าไปที่ Start > Run

2. พิมพ์คำสั่งคำว่า regedit
3. เมื่อปรากฏหน้าจอ registry Editor ขึ้นมาแล้วให้เข้าไปที่ File > Export
4. ตั้งชื่อ file ตามต้องการแล้วกด save
การกู้คืน Registry
ถ้าเกิดว่าการปรับแต่งของเราเกิดการผิดพลาดขึ้นมาเราก็สามารถกู้คืนได้ง่ายๆโดยเราต้องเข้าไปที่ file ที่เราsave เอาไว้แล้ว Double click ขึ้นมาแล้วมันจะปรากฏหน้าจอขึ้นมาถามเราว่าต้องการปรับ registry จริงไหมให้เราตอบ yesไป

สรุป Command Lineคลิกขวาในพื้นที่ว่างๆบน Desktop ของคุณ หรือพื้นที่บริเวณว่างๆตรง Background ของคุณนั่นเอง และเลือกที่ New >> Shortcut ในช่อง Command line: ให้คุณเลือกข้อความจากด้านล่างนี้ไปใส่ตาม Shortcut ที่คุณต้องการจะสร้าง
C:\WINDOWS\RUNDLL32.EXE C:\WINDOWS\SYSTEM\USER.EXE,ExitWindows (สำหรับการสั่ง Shutdown)C:\WINDOWS\RUNDLL32.EXE C:\WINDOWS\SYSTEM\SHELL32.DLL,SHExitWindowsEx 2 (สำหรับการสั่ง Restart)C:\WINDOWS\RUNDLL32.EXE C:\WINDOWS\SYSTEM\SHELL32.DLL,SHExitWindowsEx 0 (สำหรับการสั่ง Logoff)
Shortcut เดียว เปิดหลายโปรแกรมให้เปิด Notepad ขึ้นมาค้างเอาไว้ก่อน ต่อจากนั้นไป Copy ส่วนของ Target ของ Shortcut แต่ละตัวเข้ามาไว้ใน Notepad นี้ โดยวิธีการเข้าไป Copy Target ก็คือ ให้คลิกขวาที่ Shortcut ของโปรแกรมที่ต้องการจะให้มีการเปิด แล้วเลือก Properties และที่หัวข้อ Shortcut ก็จะพบกับส่วนของ Target: ให้ทำการ Copy ข้อความในส่วนนี้มาทั้งหมด
วิธีการปิด Active Scripting ทำได้โดยคลิกไปที่เมนู Tools >> Internet Options จากนั้นจะพบกับหน้าต่าง Internet Properties ซึ่งที่หน้าต่างนี้ ให้คลิกเลือกไปที่หัวข้อ Security และคลิกที่ Internet หนึ่งครั้ง และกดปุ่ม Custom Level. คราวนี้จะพบกับหน้าต่าง Security Settings เลื่อนลงมาที่ส่วนของ Scripting >> Active scripting และเลือกให้เป็น Disable แล้วกด OK และตอบ Yes ไปจนเสร็จ จำเป็นที่จะต้องกด Refresh หน้าเว็บนั้นๆด้วย และลองคลิก Mouse ขวาดู ก็จะเห็นว่าคราวนี้สามารถคลิกได้แล้ว
วิธี Download เพลง, หนังที่ปกติจะให้เปิดเล่นแบบ Onlineวิธีการโหลดเพลงที่ปกติจะให้เล่นแบบ Online ผ่าน Real Player มาเก็บไว้ที่เครื่องเลยนั้น สามารถทำได้โดย เริ่มต้นให้คลิกขวาตรง Link ใน Web ที่เอาไฟล์สำหรับเปิดเพลงนั้นๆ เลือกไปที่ Save Target As... และรอสักครู่ ต่อจากนั้นก็จะมีหน้าต่าง Save As ปรากฏขึ้นมา ให้ทำการ Save (ในขั้นตอนนี้จะได้ไฟล์ที่ 1 ชื่อ music8569.ram) และเมื่อเรียบร้อยแล้ว ให้ใช้ Notepad เปิดเจ้าไฟล์ๆนี้ขึ้นมาทันที ซึ่งหากไม่มีอะไรผิดพลาด ภายในไฟล์จะต้องเป็น URL ซึ่งอาจจะมีหลายๆ URL ก็เป็นไปได้ (หากภายในไฟล์ไม่มี URL แสดงว่า Link ที่ทำการคลิกขวาในข้อ 1 นั้นยังไม่ได้เป็น Link สุดท้าย) จะเห็นว่าไฟล์ที่ได้ทำการ Save Target As... มาเก็บไว้ที่เครื่องในตอนแรกนั้น มันจะบรรจุ URL จริงๆของไฟล์เพลง และคราวนี้เมื่อทราบ URL จริงๆของไฟล์เพลงนั้นแล้ว ก็สามารถทำการ Download ได้ (จะใช้โปรแกรมช่วยดาวน์โหลดก็ได้)
ปรับขนาดซิสเต็มรีสโตร์สามารถแก้ไขได้โดยเปิด Regedit และไปที่ [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\StateMgr\Cfg\ReservedDiskSpace] และที่ [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\StateMgr\ReservedDiskSpace] จากนั้นเปลี่ยนค่า Max และ Min เป็นค่าที่ต้องการโดยใช้ชนิดของข้อมูลแบบ DWORD
เพิ่มค่าเซสชั่นในการเชื่อมต่อให้มากขึ้นในวินโดวส์นั้นกำหนดค่าสูงสุดของ HTTP Sessions ไว้จำกัดสำหรับ HTTP 1.0 เป็น 4 ซึ่งทำให้ควรเปิดหน้าต่างอินเตอร์เน็ตเอ็กพลอเรอร์ได้สูงสุด 4 หน้าต่าง แต่ถ้าใช้ HTTP 1.1 นั้นเป็น 2 ซึ่งยิ่งน้อยไปใหญ่ ถ้าคุณจะเพิ่มค่าก็ทำได้โดยเปิด Regedit ขึ้นมา แล้วไปที่ [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] แล้วลองหาหรือเพิ่มค่า MaxConnectionsPerServer (สำหรับ 1.1) และ MaxConnectionsPer1_0Server (สำหรับ 1.0) เป็นค่าแบบ DWORD Value แล้วกำหนดค่าเป็น 8 ทั้งสองตัวก็ได้
เพิ่ม IE Auto Scanปกติเมื่อพิมพ์ชื่อเว็บ ถ้าโดเมนผิด IE จะหาโดเมนที่ถูกได้ โดยเป็น .com, .org, .net และ .edu แต่เราสามารถเพิ่มโดเมนให้กับ IE ได้ โดยไปที่ [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\UrlTemplate] ที่หน้าต่างด้านขวา สร้างคีย์ชนิด String Value ตั้งชื่อเป็นตัวเลขต่อจากที่มีอยู่ เช่นถ้ามีถึง 4 ก็ใส่ชื่อเป็น 5 จากนั้นแก้ไขค่าคีย์ที่สร้างขึ้นมาใหม่ ใส่เป็น www.%s.xxx ถ้าต้องการนามสกุลอื่น เช่น .gov ก็เพิ่มคีย์ใหม่ แล้วแก้ไขค่าเหมือนข้างต้น แต่เปลี่ยนส่วนขยายเป็น .gov เป็นต้น