จากบทความก่อนที่ผมได้พูดถึงการ ทำความรู้จักกับระบบปฏิบัติการ Linux แบบคร่าวๆ กันไปแล้ว เราได้รู้ว่า Linux ก็คือระบบปฏิบัติการแบบ Unix ชนิดหนึ่ง

จริงๆ แล้ว Unix คืออะไร?

Unix คือ แบบ ระบบปฏิบัติการแบบ Mutitasking หรือ Multiuser หมายความว่า ระบบปฏิบัติการดังกล่าวสามารถทำงานได้มากกว่า 1 อย่าง และสามารถทำงานพร้อมกันได้หลายผู้ใช้ ในเวลาเดียวกัน ซึ่งเพื่อนๆ อาจจะมองว่าเป็นเรื่องปกติที่เราสามารถฟังเพลงไปด้วยทำงานไปด้วยในเวลาเดียวกันได้นั้น แต่จริงๆ แล้ว คอมพิวเตอร์ยุคแรกๆ จะไม่สามารถทำได้เนื่องจากไม่มีระบบ Mutitasking ทำให้สามารถทำงานได้เพียง "ครั้งละหนึ่งอย่างเท่านั้น" จน Unix กำเนิดขึ้นที่สถาบัน Bell Labs วัตถุประสงค์เพื่อเป็น Platform สำหรับการเขียน Software ต่างๆ แต่แล้วก็มีการขยายขอบเขตออกไป จนในที่สุดกลายเป็นระบบปฏิบัติการ เช่น Linux, HP-UX, Solaris, AIX และ macOS ขึ้นมา

ซึ่งลักษณะของ Unix คือใช้งานด้วยการใช้ คำสั่งต่างๆ ป้อนลงบน Unix shell แบบ Command-line และเก็บข้อมูลเป็นลำดับชั้น แสดงผลแบบ Text-GUI

  • Login shell ทำหน้าที่หลังจาก Login สำเร็จ ทั้งต่อเข้าเครื่องโดยตรง (Console) และ ต่อผ่าน telnet (SSH Protocol)
  • Interactive shell สามารถรับคำสั่ง แต่ไม่ได้เริ่มตั้งแต่ Login เช่น การเปิด Terminal
  • Non-interactive shell เป็นการทำงานเพื่อรัน Scripts (ชุดคำสั่ง)

ประวัติของ Unix

หลังจากการถือกำเนิดขึ้นของ "Multics" ซึ่งเป็นระบบปฏิบัติการในช่วง 1960 ที่ Bell Labs ประสบปัญหามากมาย ทำให้ทาง Bell Labs ถอด project นี้ออก และตัดสินใจทำใหม่โดยวางขอบเขตให้เล็กลงตั้งชื่อใหม่ว่า “Unics” (Uniplexed Information and Computing System)“ แต่เนื่องจากเสียงพ้องกับ "Multics" ภายหลังจึงเรียกว่า Unix

ในปี 1972 ได้มีการเขียน Unix ใหม่ด้วยภาษา C ซึ่งแต่เดิมเป็น assembly ให้เป็น ภาษาชั้นสูงแทน ผลคือมันทำให้ Software ทำงานได้เร็วขึ้น และก็เขียน Code ได้สั้นลง หลังจากนั้นช่วง 1980 ก็เกิดการขยายตัวในตลาดอย่างมากทำให้เกิด Unix ขึ้นหลายชนิด และในปี 2000 ทาง Apple ก็นำมาใช้เป็นพื้นฐานของระบบปฏิบัติการ macOS

ประเภทของ Shell Unix

1. Bourne shell
Bourne shell (sh) เรียกชื่อถามคนสร้าง “Stephen Bourne” โดยปกติแล้วชื่อ program จะเป็น “sh” อยู่ที่ path “/bin/sh” ซึ่งมีการพัฒนาต่อยอดออกมาอีกหลายชนิดเช่น

  • Almquist shell (ash)
  • Bourne-Again shell (bash)
  • Debian Almquist shell (dash)
  • Korn shell (ksh)
  • MirBSD Korn shell (mksh)
  • Z shell (zsh)

2. C Shell
C Shell (csh) เขียนขึ้นโดย “Bill Joy” อาศัยพื้นฐานจากรูปแบบของ C โดยสามารถรองรับ feature แบบ interactive มากมาย ในหลายๆระบบปัจจุบันอาจจะมีการ link ไปที่ TENEX C shell (tcsh) แทน ซึ่งมีการพัฒนาจาก csh ให้ดีขึ้น และ feature หลายอยากก็ถูกนำไปใช้ใน shell ประเภทอื่นๆด้วย

อ้างอิง: saixiii.com

บทความที่ถูกอ่านล่าสุด

ระบบปฏิบัติการแบบ Unix คืออะไร?

จากบทความก่อนที่ผมได้พูดถึงการ ทำความรู้จักกับระบบปฏิบัติการ Linux แบบคร่าวๆ กันไปแล้ว เราได้รู้ว่า Linux ก็คือระบบปฏิบัติการ...

ที่อยู่: 3.233.239.102

...

ที่อยู่: 54.36.149.80

แก้ปัญหา Disk และ CPU ขึ้น 100% ใน Task manager (Windows)

เพื่อนๆ หลายๆคนที่ใช้ Windows 8 หรือ Windows 10 บน Laptop อาจจะกำลังเจอกับปัญหา เครื่องหน่วง, เครื่องค้าง พอเปิด Task manager ดูจะพบว่า Disk และ CPU ขึ้นเต็ม 100% โดยจะแ...

ที่อยู่: 110.168.249.166

ใช้ Python เป็น Command-Line Interface สำหรับ PHP Backdoor

บทความนี้เป็น Python Script สำหรับเข้าถึง Command-Line Interface ที่เป็นผู้ใช้สิทธิ์ต่ำกว่าผู้ดูแล ของเว็บเซิร์ฟเวอร์ระบบปฏิบัติการใดก็ได้ จากการวางโค้ด PHP ...

ที่อยู่: 3.233.239.102

ติดตั้ง Linux บน Windows 8/10 โดยใช้ WSL

Microsoft ได้เปิด Features ใหม่ที่ชื่อว่า "Windows Subsystem for Linux" (WSL) เป็นนำระบบปฏิบัติการ Linux ต่างๆ ได้แก่ Ubuntu, ...

ที่อยู่: 3.233.239.102


บทความแนะนำ

ตั้งค่าเว็บไซต์โดยใช้ .htaccess บน Linux Apache WebServer

ป้องกันการถูก Slowloris DoS ด้วยโมดูล mod_reqtimeout บน Apache2

ทำความรู้จักกับ Algorithm

เรียนรู้การใช้งาน SQLmap สำหรับการโจมตีช่องโหว่ SQL Injection

ยอดอ่านสูงสุด

แก้ปัญหา Disk และ CPU ขึ้น 100% ใน Task manager (Windows)

Hardware

Storage


พื้นที่ว่างคงเหลือ 843.04 GB

ติดตามเราบน Facebook