บริษัท AT&T ร่วมมือกับ AIT พัฒนาระบบ MULTICS ขึ้นมาในช่วงปี 1960
MULTICS ทำท่าว่าจะไปไม่รอด AT&T จึงถอนตัวออกจากโครงการ
นักพัฒนาของ AT&T จึงได้นำความรู้และปัญหาจากโครงการ MULTIC
พัฒนาระบบใหม่แล้วสร้างเป็นระบบปฏิบัติการขึ้นมา และใช้ชื่อว่า UNIX
ในช่วงแรก UNIX ยังถูกใช้งานกับเครื่อง PDP-7 และ PDP-11 ของ AT&T เท่านั้น
ในช่วงปี 1973 UNIX ถูกเขียนขึ้นมาใหม่ทั้งหมด โดยใช้ภาษา C ซึ่งเป็นจุดเปลี่ยนแปลงที่สำคัญมากที่สุดอย่างหนึ่งของ UNIX เพราะทำให้ UNIX สามารถนำไปใช้ได้กับเครื่องหลายชนิด แก้ไขระบบได้ง่ายกว่าระบบปฏิบัติการอื่นๆ ที่เขียนด้วยภาษา Assembly ราคาถูกลง
AT&T แจก Code ของ UNIX ไปให้กับมหาวิทยาลัยต่างๆ เพื่อหวังให้เป็นที่นิยมมากขึ้น แต่กลับทำให้เกิด UNIX ตัวใหม่ขึ้นมา เรียกว่า BSD UNIX (Berkeley Software Distribution UNIX) ซึ่งเขียนโดย University of California ที่ Berkeley ระบบ UNIX ตัวนี้แจกฟรี และกลายเป็น UNIX ที่ใช้กันอย่างกว้างขวางตัวหนึ่งโดยเฉพาะในมหาวิทยาลัย เมื่อเครื่อง PC มีความสามารถสูงขึ้นและราคาถูกลงทำให้เกิด UNIX ที่ใช้บน PC ขึ้นมาชื่อว่า XENIX
ในช่วงกลางทศวรรษ 1980 ได้มีการพัฒนา X-window ขึ้นมา ทำให้การใช้งาน UNIX เริ่มมี Graphic User Interface
AT&T ได้ทำการพัฒนา UNIX ของตนขึ้นมาเรื่อยๆ จนกระทั่งถึงรุ่น System V Release 4 (SVR4) AT&T ได้รวมข้อกำหนดและมาตรฐานต่างๆ ของ BSD UNIX และ XENIX เข้าไปด้วย ทำให้โปรแกรมที่ออกมาสำหรับ BSD UNIX และ XENIX สามารถนำไปใช้บน SVR4 ได้ ซึ่งส่งผลให้กลุ่มนักพัฒนาและบริษัทอื่นๆวิตกว่า AT&T จะผูกขาดการกำหนดมาตรฐานของ UNIX จึงได้รวมตัว
ในจัดตั้ง Open Software Foundation (OSF) ขึ้นมาเพื่อวิจัยและกำหนดมาตรฐานต่างๆ ของระบบ UNIX ขึ้นมาป้องกันการผูกขาดของ AT&T
แหล่งที่มา www.compsci.buu.ac.th/~jakkaman/C_Programming/week01(18%20June%2001)/Unix.ppt
2. คุณสมบัติ
• Software Tool
–โปรแกรมบน UNIX จะแบ่งตัวเองออกเป็นส่วนย่อยๆ และสามารถใช้งานส่วนย่อยเหล่านั้นร่วมกัน ระหว่างหลายๆ โปรแกรมได้
• Portability
–เนื่องจาก UNIX สามารถนำไปใช้กับเครื่องแบบต่างๆ ได้มากมาย โปรแกรมที่ใช้งานบน UNIX จะสามารถนำไปใช้ได้ด้วยเช่นเดียวกัน
• Flexibility
–UNIX มีความยืดหยุ่นในการใช้งานสูง สามารถนำไปใช้กับงานเล็กๆ หรืองานใหญ่ๆ ก็ได้
• Power
–สามารถทำงานที่ซับซ้อนได้ดี และมีความสามารถในด้านต่างๆ มากกว่าระบบปฏิบัติการอื่นๆ
• Multi-user & multitasking
–สามารถมีผู้ใช้งานได้ทีละหลายๆคน และทำงานหลายๆ อย่างพร้อมกัน
• Elegance
–หลักการทำงานของส่วนต่างๆ จะเหมือนกัน ดังนั้นเมื่อผู้ใช้ทำงานส่วนหนึ่งได้ ก็จะเรียนรู้และใช้งานส่วน อื่นๆ ได้ง่าย
• Network Orientation
–UNIX เป็นระบบปฏิบัติการที่สนับสนุนการใช้งานเครือข่าย โดยเฉพาะเครือข่าย TCP/IP ซึ่งใช้ในระบบ Internet
แหล่งที่มา www.compsci.buu.ac.th/~jakkaman/C_Programming/week01(18%20June%2001)/Unix.ppt
3. โครงสร้าง
ระบบปฏิบัติการ Unix สามารถแบ่งโครงสร้างหลัก ๆ ได้ 4 ระดับ แต่ละระดับก็จะทำหน้าที่ต่างกัน
Hardware หมายถึงอุปกรณ์หรือทุกชิ้นส่วนของคอมพิวเตอร์ ที่เราสามารถจับต้องได้ เช่น จอภาพ คีย์บอร์ด เม้าส์ ดิกส์ไดรซ์ ซีดีรอม เป็นต้น
Unix Kernel เคอร์เนล จะทำหน้าที่ควบคุมการทำงานทั้งหมดของระบบ ได้แก่ การจัดสรรทรัพยากร การจัดการข้อมูลบริการหน่วยความจำ ซึ่งเคอร์เนลนี้จะขึ้นกับฮาร์ดแวร์ เช่น ถ้ามีการเปลี่ยนแปลง ฮาร์ดแวร์ เคอร์เนลนี้ก็จะถูกเปลี่ยนไปด้วย เป็นต้น
Shell คือ ตัวกลางระหว่างผู้ใช้กับตัวเคอร์เนล ทำหน้าที่รับคำสั่งจากผู้ใช้ แล้วนำไปแปลเป็นภาษาที่เครื่องคอมพิวเตอร์เข้าใจ เราเรียกอีกอย่างหนึ่งได้ว่า command interpreter แต่ถ้ามีการนำ เชลล์หลาย ๆ ตัวมาเขียนรวมกัน (คล้าย ๆ กับ batch file ในระบบปฏิบัติการ DOS) เราจะเรียกว่า เชลล์สคริปต์ นอกจากนี้ เชลล์ (Shell) ยังมีอีกหลาย ๆ ประเภท แต่ที่นิยมกันได้แก่
Bourne shell (sh) เป็นเชลล์ต้นแบบของทุก ๆ เชลล์ มีความสามารถในการเขียน เชลล์สคริปต์ได้ด้วย
C shell (csh) เป็นเชลล์ที่สร้างหลัง Bourne shell ความสามารถพิเศษของ C shell คือเก็บข้อมูลเกี่ยวกับคำสั่งที่เคยใช้
Korn shell (ksh) ซึ่งพัฒนาโดย AT&T โดยได้นำคุณสมบัติเด่น ๆ ของ Bourne shell และ C shell มารวมกัน
Bourne again shell (bash) มีคุณสมบัติและความสามารถคล้ายกับ Korn shell แต่ shell นี้ถูกสร้างขึ้นมาใช้สำหรับแจกฟรี ซึ่งเป็นเหตุผลสำคัญที่ทาง Linux นำมาใช้ คำสั่งที่ทำให้ทราบว่าเราใช้งาน เชลล์อะไรอยู่คือ echo $SHELL
Utilities หมายถึง โปรแกรมการใช้งานเพิ่มเติมต่าง ๆ ที่ใช้บนระบบปฏิบัติการยูนิกซ์ ได้แก่ pine เป็นต้น
แหล่งที่มา http://www.it-guides.com/lesson2/linux01.html
4. Shell
เชลล์ คือ ตัวกลางระหว่างผู้ใช้กับตัวเคอร์เนล ทำหน้าที่รับคำสั่งจากผู้ใช้ แล้วนำไปแปลเป็นภาษาที่เครื่องคอมพิวเตอร์เข้าใจ เราเรียกอีกอย่างหนึ่งได้ว่า command interpreter แต่ถ้ามีการนำ เชลล์หลาย ๆ ตัวมาเขียนรวมกัน (คล้าย ๆ กับ batch file ในระบบปฏิบัติการ DOS) เราจะเรียกว่า เชลล์สคริปต์ นอกจากนี้ เชลล์ (Shell) ยังมีอีกหลาย ๆ ประเภท แต่ที่นิยมกันได้แก่
Bourne shell (sh) เป็นเชลล์ต้นแบบของทุก ๆ เชลล์ มีความสามารถในการเขียน เชลล์สคริปต์ได้ด้วย
C shell (csh) เป็นเชลล์ที่สร้างหลัง Bourne shell ความสามารถพิเศษของ C shell คือเก็บข้อมูลเกี่ยวกับคำสั่งที่เคยใช้
Korn shell (ksh) ซึ่งพัฒนาโดย AT&T โดยได้นำคุณสมบัติเด่น ๆ ของ Bourne shell และ C shell มารวมกัน
Bourne again shell (bash) มีคุณสมบัติและความสามารถคล้ายกับ Korn shell แต่ shell นี้ถูกสร้างขึ้นมาใช้สำหรับแจกฟรี ซึ่งเป็นเหตุผลสำคัญที่ทาง Linux นำมาใช้ คำสั่งที่ทำให้ทราบว่าเราใช้งาน เชลล์อะไรอยู่คือ echo $SHELL
แหล่งที่มา http://www.it-guides.com/lesson2/linux01.html
5. ระบบไฟล์ และไดเรคทอรี่
UNIX มองทุกอย่างเป็นไฟล์หมด แม้แต่หน่วยความจำ (/dev/mem) ซีดีรอม (/dev/cdrom) เม้าส์ (dev/mouse) โมเด็ม (/dev/modem) ระบบไฟล์และไดเรคทอรีบนUNIX มีโครงสร้างแบบต้นไม้ (tree structure) โดยไดเรคทอรีนอกสุด คือ ไดเรคทอรีราก (root directory) ใช้ / เป็นตัวแทนครับ ซึ่งก็จะมีไดเรคทอรีย่อยแตกแขนง ออกไปอีกเช่น
/usr /local /lib /etc /binในแต่ละไดเรคทอรีบรรจุไฟล์และไดเรคทอรีย่อยลงไปอีกเช่นใน /usr จะมี local bin
ชื่อไดเรคทอรีแบบนี้จะมีความหมาย ก็ต่อเมื่อ เรารู้ว่าไดเรคทอรีนอกก่อนคืออะไร วิธีเรียกชื่อแบบนี้ถูกเรียกว่า relative pathname แต่ถ้าหากเราใช้ /usr/local หรือ /usr/bin แทน local หรือ bin เราก็จะทราบโครงสร้าง tree structure ที่แท้จริงของไดเรคทอรีนี้ วิธีการเรียกแบบนี้เรียก absolute pathname ไดเรคทอรีที่ผู้ใช้ล็อกอินเข้าไปเรียกว่า home directory ซึ่งก็ขึ้นกับผู้บริหารระบบว่าจะให้ไปอยู่ที่ไหน
แหล่งที่มา http://wiki.nectec.or.th/ntl/Main/Unix-doc
ไม่มีความคิดเห็น:
แสดงความคิดเห็น