No.15 ระบบปฏิบัติการ UNIX & Linux วิชาระบบปฏิบัติการ1
ข่าวสาร
url คืออะไร
url คืออะไร
   เว็บไซต์ที่พวกเราเข้ากัน เพื่อนๆสังเกตุหรือไม่ว่า แต่ละเว็บไซต์จะมีชื่อเว็บที่ไม่ซ้ำกัน ซึ่งชื่อเว็บไซต์เหล่านั้น มีการระบุที่อยู่ซึ่งเรียกว่า URL
ต้นกำเนิดของการละเมิดความปลอดภัยด้านคอมพิวเตอร์
ต้นกำเนิดของการละเมิดความปลอดภัยด้านคอมพิวเตอร์
   หากมองเป็นกลุ่มใหญ่ๆก็สามารถแบ่งได้เป็น 2 กลุ่มคือ จากบุคคลภายนอก และจากบุคคลภายใน ผู้บุกรุกก็คือ มักจะมีการติดต่อสื่อสารถึงกัน
ความรู้พื้นฐานของฮาร์ดดิสก์
ความรู้พื้นฐานของฮาร์ดดิสก์
   ฮาร์ดดิสก์ถือเป็นอุปกรณ์หลักสำหรับเก็บข้อมูลในเครื่องคอมพิวเตอร์ เทคโนโลยีฮาร์ดดิสก์ก็ได้พัฒนาไปอย่างรวดเร็ว
พฤติกรรมเสี่ยงที่จะทำให้ติดไวรัส
พฤติกรรมเสี่ยงที่จะทำให้ติดไวรัส
   ไวรัสเป็นคำที่ทุกคนน่าจะรู้จักกันดี สำหรับคนที่นิยมท่องอินเทอร์เน็ตหรือใช้งานคอมพิวเตอร์ ซึ่งเรียกกันได้ว่า หากไม่เคยโดนไวรัสเข้าเครื่อง
google earth คืออะไร
google earth คืออะไร
    เป็นโปรแกรมที่ใช้สำหรับการดูภาพถ่ายทางอากาศ พร้อมค้นหาเส้นทาง ผังเมือง แผนที่การคมนาคม ซึ่งโปรแกรมนี้จัดเป็นส่วนหนึ่งในองค์ประกอบงาน
โน๊ตบุ๊ค รุ่นต่างๆ กล้องประเภทต่างๆ

วีดีโอน่ารู้ : โปรเจคออมเงินพื้นฐาน Project PHP


แจกโปรเจคPHPฟรี

ความรู้เกี่ยวกับโปรแกรมต่างๆ >> ระบบปฎิบัติการ OS (operating system) >> No.15 ระบบปฏิบัติการ UNIX & Linux วิชาระบบปฏิบัติการ1

No.15 ระบบปฏิบัติการ UNIX & Linux วิชาระบบปฏิบัติการ1

No.15 ระบบปฏิบัติการUNIX & Linux วิชาระบบปฏิบัติการ1

อัพเดทวันที่: 27 มี.ค. 2557

วีดีโอน่ารู้ : โปรเจคแสดงภาพแบบสุ่มโดยใช้ JavaScript Project PHP


Linux เป็นระบบหนึ่งในหลายระบบที่เหมือนกับ UNIX ที่ออกแบบมาเพื่อให้คอมแพติเบิลกับ UNIX อย่างแท้จริงการพัฒนาเริ่มต้นในปี 1991 โดยนักเรียนชาวฟินแลนด์ที่ชื่อ Linus Torvalds ตั้งชื่อตามชื่อตนเองว่า Linux ซึ่งเป็นระบบเล็ก ๆ ที่มี kernel สำหรับโปรเซสเซอร์ 80386 ที่เป็นโปรเซสเซอร์แบบ 32 บิตอย่างแท้จริงบนพีซีที่ใช้ซีพียูของอินเทล ให้ Linux เจริญเติบโตอย่างรวดเร็วและพรั่งพร้อมไปด้วยฟังก์ชันที่หลากหลายของ UNIX

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

สำหรับลำดับเหตุการณ์สำคัญในการพัฒนาตั้งแต่เริ่มต้น มีดังนี้
          -14 พ.ค.1991 Linux kernel เวอร์ชัน 0.01 ปรากฏตัว ในเวอร์ชันนี้ยังไม่มีเน็ตเวิร์ค รันได้เฉพาะโปรเซสเซอร์ที่คอมแพติเบิลกับอินเทล 80386 มีข้อจำกัดในการสนับสนุนดีไวซ์ไดร์เวอร์
          -14 มี.ค.1994 Linux 1.0 ออกสู่สายตาใช้เวลา 3 ปีในการพัฒนามีการเพิ่มฟังก์ชันและฟีเจอร์มากมาย แต่สิ่งหนึ่งที่เป็นฟีเจอร์ที่สำคัญและยิ่งใหญ่มากคือเน็ตเวิร์ค โดยเวอร์ชันนี้สนันสนุนเน็ตเวิร์คโปรโตคอล TCP/IP ซึ่งเป็นมาตรฐานหลักของ UNIX
          -มี.ค.1995 เวอร์ชัน 1.2 ปรากฏตัว ถึงแม้จะไม่มีการพัฒนาที่เด่นเหมือน เวอร์ขัน 1.0 แต่ก็มีการเพิ่มเติมในการสนับสนุนฮาร์ดแวร์ที่หลากหลายขึ้น รวมถึงสถาปัตยกรรมบัสแบบ PCI มีการเพิ่มเติมในการสนับสนุนฟีเจอร์สำหรับ Virtual mode 8086 ของซีพียู 80386 เพื่อยอมรับการจำลองของระบบปฏิบัติการ DOS สำหรับพีซีคอมพิวเตอร์ นอกจากนี้มีการอัปเดทเน็ตเวิร์คสแต็กเพื่อให้สนับสนุนโปรโตคอล IPX และเพิ่มฟังก์ชันในการกำหนด firewall ของ IP สามารถสนับสนุนซีพียู SPARC, Alpha และ MIPS
          -มิ.ย.1996 เวอร์ชัน 2.0 เพิ่มเติมความสามารถใหม่ที่ชัดเจน 2 ด้านคือการสนับสนุนสถาปัตยกรรมหลายรูปแบบ (รวมทั้ง 64 บิตของ Alpha) และสนับสนุนสถาปัตยกรรมมัลติโปรเซสเซอร์ Linux distribution เป็นพื้นฐานของ 2.0 สำหรับโปรเซสเซอร์ในกลุ่ม Motorola 68000 และระบบ SPARC ของ Sun เวอร์ชันนี้รันได้บน Mach Microkernel, พีซี และ PowerMac
          -ม.ค.1999 เวอร์ชัน 2.2 เพิ่มเติมพอร์ตสำหรับ UltraSparc ด้านเน็ตเวิร์คมีขยายขีดความสามารถทำให้ firewall มีความยืดหยุ่นมากขึ้น มีการจัดเส้นทางและการจราจรของเส้นทางได้ดีขึ้น สามารถอ่านดิสก์ Acorn, Apple และ NT ได้ ตลอดจนมีการล็อกสัญญาณ, อินเทอร์รัพต์และอินพุต/เอาต์พุต

จุดเด่นของ Linux

เป็นระบบการที่ใช้ได้ฟรี เนื่องจาก Linux เป็น free software ทำให้คุณสามารถก็อปปี้ไปติดตั้งเพื่อใช้งานได้ หรืออาจะดาวน์โหลดได้จาก www หรือ ftp ทั่ว ๆ ไปได้

เป็นระบบปฏิบัติการแบบเปิด โปรแกรมส่วนใหญ่รวมทั้ง kernel ของ Linux ถูกแจกจ่ายออกไปอย่างแพร่หลายทั้งตัวโปรแกรมและซอร์สโค้ด (ส่วนมากเป็นภาษา C)

คอมแพติเบิลกับ UNIX ทั้งนี้เนื่องจาก Linux ถูกพัฒนาโดยใช้แม่แบบ UNIX ที่มีความเชื่อถือในความเสถียรของระบบและประสิทธิภาพสูง

ทำงานได้บนเครื่องพีซีทั่วไป เนื่องจากการพัฒนา Linux ขึ้นมาก็เพื่อจำลองการทำงานจาก UNIX

ทำงานร่วมกับ DOS และ Windows คุณสามารถแบ่งพาร์ติชันฮาร์ดดิสก์เพื่อติดตั้ง Linux ร่วมกับ DOS และ Microsoft Windows ได้

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

ความสามารถด้านเน็ตเวิร์ค นอกจาก Linux จะทำงานในลักษณะ stand alone แล้ว Linux ยังสนับสนุนการเชื่อมต่อคอมพิวเตอร์เป็นเน็ตเวิร์คได้อีกด้วย

ประสิทธิภาพสูง  เนื่องจาก Linux ถูกออกแบบมาให้ใช้ฮาร์ดแวร์ได้อย่างเต็มความสามารถทำงานได้รวดเร็ว

หลักการออกแบบ

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

การพัฒนา Linux เป็นไปตามเอกสาร POSIX และก็มี Linux อย่างน้อย 2 กลุ่มที่ได้รับประกาศนียบัตรตามมาตรฐาน POSIX  การพัฒนาเพื่อให้เข้ามาตรฐานจึงเป็นเป้าหมายหลักในการพัฒนา Linux นอกจากเข้ามาตรฐาน POSIX  ปัจจุบัน Linux ยังสนับสนุน  POSIX threading extensions และสนับสนุนชุดของ POSIX extensions สำหรับการควบคุมโปรเซสแบบเรียลไทม์อีกด้วย

คอมโพเนนต์ของ Linux System

Linux System ประกอบด้วยโค้ด 3 ส่วนที่แสดงถึง UNIX ดั้งเดิมดังนี้
      1.Kernel : ส่วนนี้มีหน้าที่ดูแลสิ่งสำคัญทั้งหมดของระบบปฏิบัติการ รวมทั้งหน่วยความจำเสมือนและโปรเซส
      2.ไลบรารีระบบ : ส่วนนี้เป็นชุดของฟังก์ชันมาตรฐานที่แอปพลิเคชันสามารถโต้ตอบกับ kernel และเป็นฟังก์ชันของระบบปฏิบัติการที่ไม่ต้องการโค้ดพิเศษของ kernel
      3.ยูทิลิตี้ระบบ : ส่วนนี้เป็นโปรแกรมที่ทำงานพิเศษโดยเฉพาะ บางยูทิลิตี้ใช้ขณะที่เริ่มต้นเท่านั้น แต่บางยูทิลิตี้ทำงานเหมือน daemons ของ UNIX ที่รันตลอดเวลาทำหน้าที่ดูแลงาน เช่น การตอบรับการเชื่อมต่อเน็ตเวิร์คที่มีเข้ามา, การยอมรับการล็อกเข้าระบบจากเทอร์มินัล หรือแม้แต่การอัปเดทล็อกไฟล์

ส่วนที่สำคัญที่สุดอยู่ระหว่าง kernel และส่วนอื่น ทุก ๆ โค้ดของ kernel จะรันบนโหมดพิเศษของโปรเซสเซอร์โดยจะสามารถแอ็กเซสได้ทุกรีซอร์สของคอมพิวเตอร์ โหมดพิเศษที่ว่านี้เรียกว่า “kernel mode”

ใน Linux จะไม่มีโค้ด user mode รวมอยู่ใน kernel สำหรับโค้ดที่สนับสนุนการทำงานของระบบปฏิบัติการที่ไม่ได้ใช้กับ kernel mode มีเหตุผลหลักก็เพื่อปรับปรุงประสิทธิภาพ ทั้งนี้เนื่องจากทุกโค้ดของ kernel และโครงสร้างข้อมูลถูกเก็บอยูในแอ็ดเดรสเดียว ไม่จำเป็นต้องใช้ context switch เมื่อโปรเซสเรียกฟังก์ชันของระบบปฏิบัติการ หรือเมื่อเกิดการอินเทอร์รัพต์ของฮาร์ดแวร์

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

kernel ของ Linux เป็นแกนหลักของระบบปฏิบัติการ Linux ที่ประกอบด้วยฟังก์ชันทั้งหมดที่จำเป็นในการรันโปรเซส แต่ kernel ของ Linux ไม่มีอะไรเหมือนของ UNIX  ใน Linux ขาดฟีเจอร์พิเศษของ UNIX

ไลบรารีระบบมีฟังก์ชันหลายประเภท ในระดับธรรมดาที่สุด ไลบรารีจะยอมให้แอปพลิเคชันเพื่อร้องขอ kernel-system-services การใช้ system call รวมถึงการแปลงการควบคุมจาก user mode ที่ไม่พิเศษ ไปยัง kernel mode แบบพิเศษ ฟังก์ชันที่ใช้ดูแลไฟล์ที่เป็นภาษา C ก็มีอยู่ในไลบรารีซึ่งมีการควบคุมไฟล์พิเศษกว่า system call  ของ kernel พื้นฐาน นอกจากส่วนที่เป็น kernel และไลบรารีระบบแล้ว ใน Linux system ยังมีโปรแกรมที่เป็น user mode อีกมากมายทั้งที่เป็นยูทิลิตี้ระบบและยูทิลิตี้ของผู้ใช้ โดยยูทิลิตี้ระบบประกอบด้วยโปรแกรมทั้งหมดที่จำเป็นในการกำหนดค่าเริ่มต้นของระบบ

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

Kernel Modules

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

kernel อยู่ภายใต้ GPL license ทำให้คุณไม่สามารถเพิ่มคอมโพเนนต์ลง kernel ได้ นอกจากว่าคอมโพเนนต์ใหม่เหล่านั้นจะเพิ่มโดย GPL และซอร์สโค้ดจะต้องแจกจ่ายให้ผู้ใช้ได้ด้วย

อินเทอร์เฟซของ kernel modules ยอมให้ third parties เขียนและแจกจ่ายเองได้ทั้งดีไวซ์ไดร์เวอร์ หรือระบบไฟล์ โดยไม่ต้องอยู่ภายใต้ GPL นอกจากนี้ kernel modules ยอมให้ผู้ใช้ติดตั้ง Linux system ในแบบ standard ซึ่งเป็น kernel ขั้นต่ำ ที่ไม่มีดีไวซ์ไดร์เวอร์พิเศษผนวกมาด้วย ดีไวซ์ไดร์เวอร์ที่ผู้ใช้ต้องการสามารถให้โหลดได้เมื่อสตาร์ตระบบ หรือโหลดอัตโนมัติเมื่อต้องการใช้ก็ได้ เช่น ไดร์เวอร์ซีดีรอมอาจจะถูกโหลดเมื่อมีการต่อซีดีไว้ และไม่ได้โหลดเมื่อไม่ได้ต่อซีดีไว้ก็ได้

โมดูลที่สนับสนุนอยู่ใน Linux มี 3 คอมโพเนนต์ ดังนี้
      -Module Management  เป็นคอมโพเนนต์ที่จัดการโมดูล เช่น โหลดโมดูลลงหน่วยความจำ หรือถอนโมดูลออกจากหน่วยความจำเมื่อไม่ได้ใช้
      -Driver Registration เป็นคอมโพเนนต์ที่ใช้ในการลงทะเบียนไดร์เวอร์ใหม่ แล้วแจ้งให้ kernel ทราบ
      -Conflict-resolution Mechanism เป็นคอมโพเนนต์ที่ช่วยแก้ปัญหาดีไวซ์ไดร์เวอร์ที่ต่างกัน ตลอดจนการใช้ไดร์เวอร์ผิด โดยรู้เท่าไม่ถึงการณ์


loginก่อนดาวน์โหลด
กรุณาสมัครสมาชิกหรือlogin ก่อนดาวน์โหลดไฟล์

กดlike เพื่อติดตามข่าวสารและโปรเจค โค้ดใหม่ๆอัพเดทอยู่เสมอ

วีดีโอน่ารู้ : โปรเจคคำนวนหาพื้นที่สี่เหลี่ยมผืนผ้า Project PHP


Tag : ระบบปฏิบัติการ UNIX & Linux ระบบปฏิบัติการ1 จุดเด่นของ Linux ภาพรวมการออกแบบ Linux คอมโพเนนต์ของ Linux System



แสดงความคิดเห็น

จำนวนหน้า :

โปรดกรอกล็อคอินเข้าสู่ระบบและคอมเม้น เพื่อดาวน์โหลดไฟล์

หน้าหลัก
ความตั้งใจ
กว่าจะเป็นเว็บไซต์
แผนผังเว็บไซต์

คุยกับผู้ทำเว็บไซต์
-เริ่มต้นสาขาวิทยาการคอมพิวเตอร์
ติดตามข่าวสาร กด Like เลย
เกี่ยวกับเรา
e-mail : support@rangforever.com


ได้รับการสนับสนุนโดย


----
รวบรวมข่าวสารไอที เทคนิคการเขียนโปรแกรมภาษาphp css javascript jsp c# แจกโปรแกรมที่เขียน แจกระบบ แจกโค้ดฟังก์ชันต่างๆ สอนการใช้งานโปรแกรมออฟฟิศ word excel โปรแกรมตกแต่ง ตัดต่อ สร้างภาพ adobe photoshop adobe Illustrater จัดเต็มกับความรู้ในเนื้อหาโปรแกรมเมอร์แบบเจาะลึก พร้อมวีดีโอสอนการใช้งานโปรแกรม การเขียนโปรแกรม เพิ่มความรู้ ปูทักษะการเขียนโปรแกรมแบบฟรีๆ พร้อมเรียนรู้ไปกับเราได้ที่ www.rangforever.com