หน้าเว็บ

วันอังคารที่ 31 สิงหาคม พ.ศ. 2553

Bar Code : QR Code

QR Code คืออะไร?


หลายๆ คงรู้จักกับ Bar Code กันแล้ว เพราะทุกสินค้า และห้างร้านบ้านเรา ก็มักจะใช้ตัว Bar Code เพื่อกำกับสินค้า ว่าสินค้าตัวนั้น มีชื่อว่าอะไร ราคาเท่าไหร่ เป็นต้น เพื่อให้คอมพิวเตอร์ได้อ่าน และประมวลได้อย่างรวดเร็ว แต่ข้อเสียของเจ้า Bar Code ก็คือมันจะสามารถอ่านได้เฉพาะจากเครื่องอ่าน Bar Code เท่านั้น

QR Code คืออะไร? QR Code ก็คล้ายกับ Bar Code นั้นแหละคือคือรหัสชนิดหนึ่ง ซึ่งสามารถเก็บข้อมูลได้ โดย QR Code หรือเรียกกันอีกชื่อหนึ่งว่า two-dimensional bar code (2D bar code) มันหน้าที่ไว้เก็บข้อมูลต่างๆ ได้เหมือนกันแต่ว่าเร็วกว่า ใช้งานง่ายกว่า และมีลูกเล่นเยอะกว่า Bar Code มากครับ ชื่อของ QR Code นั้นมาจากนิยามความหมายว่า Quick Response หรือการตอบสนองที่รวดเร็ว ซึ่งมาจากความตั้งใจของผู้คิดค้น ที่จะให้ QR Code นี้สามารถถูกอ่านได้อย่างรวดเร็วนั่นเอง ซึ่ง QR Code นี้ถูกคิดค้นขึ้นในปี 1994 โดยบริษัทสัญชาติญี่ปุ่น ที่ชื่อ Denso-Wave และได้จดทะเบียนลิขสิทธิ์ชื่อ QR Code ไปแล้วทั้งในญี่ปุ่น และทั่วโลก และปัจจุบันตัวสัญลักษณ์ QR Code นี้ได้รับความนิยม จนกลายเป็นของธรรมดาในญี่ปุ่นไปแล้ว

วันพุธที่ 25 สิงหาคม พ.ศ. 2553

Monitor จาก LCD สู่ LED ล่าสุด OLED


LCD คืออะไร
      LCD ย่อมากจาก Liquid Crystal Display ซึ่งใช้หลอดไฟ CCFL หรือ Cold Cathode Fluorescent Lamp ซึ่งมีลักษณะเป็นหลอดผอมคล้ายๆหลอดกาแฟ เรียงในแนวนอนยาวลงมาเป็นตัวกำเนิดแสง และมี Liquid Crystal เป็นผลึกแข็งกึ่งเหลว 3 สี ทั้งสีแดง น้ำเงิน เขียว คอยบิดตัวเป็นองศาเพื่อให้แสงจากหลอด CCFL Backlight ส่องลอดผ่านออกมาเป็นสีสันต่างๆ



LED คืออะไร

      LED ย่อมาจาก Light Emitting Diode เป็นหลอดไฟขนาด “จิ๋วแต่แจ๋ว” ซึ่งใช้หลอด LED เป็นตัวกำเนิดแสง และมี Liquid Crystal เป็นผลึกแข็งกึ่งเหลว 3 สีทั้งสีแดง สีน้ำเงิน และสีเขียว คอยบิดตัวเป็นองศาเพื่อให้แสงจากหลอด LED ส่องลอดผ่านออกมาเป็นสีสีนต่าง ๆ

สรุป


      สรุปอย่างได้ใจความได้ว่า LED  ก็คือ LCD ที่เปลี่ยนจากหลอด CCFL เป็นหลอด LED ในการกำเนิดแสงนั่นเอง โดยยังใช้ Liquid Crystral ผลึกแข็งกึ่งเหลว 3 สีในการสร้างสีในแต่ละพิหเซล ดังนั้นตามหลักการแล้วมันก็คือ LED LCD TV นั่นเอง เพียงแต่สลับจากการใช้หลอด CCFL ให้เป็นหลอด LED เพื่อใช้กำเนิดแสง อีกหนึ่งตัวอย่างก็คือ LED เป็นเทคโนโลยีที่มีให้เห็นกันบ่อยในจอโน็ตบุ๊คที่บางๆครับ

เปรียบเทียบ LED TV กับ LCD TV
     ขอตอบแบบฟันธงเลยนะครับ ในฐานะคลุกคลีกับจอภาพอยู่แทบทุกวันว่า LED TV ดีกว่า LCD TV ในหลายแง่ครับ เรามาดูตารางเปรียบเทียบกันในเชิงคุณภาพผลลัพธ์เลยนะครับ โดยเป็นการตัดสินให้คะแนนโดยทีมงาน LCDTVTHAILAND

     ด้วยความที่เป็นหลอดไฟ “จิ๋วแต่แจ๋ว” โดยความสามารถของเจ้า LED นั้นสามารถให้ “แสงสว่างได้ดีกว่าโดยที่ใช้ไฟน้อยกว่า” ทำให้ LED เป็นแหล่งกำเนิดไฟที่มีประสิทธิภาพมากกว่าหลอด CCFL ทันทีครับ และที่สำคัญด้วยขนาดหลอดที่เล็กกว่า ทำให้ LED TV มีความบางกว่า LCD TV ทั่วๆไปที่ใช้หลอด CCFL Backlight แต่อย่างไรก็ตาม LED TV นั้นก็ยังมีระดับราคาที่สูงอยู่ ณ ปัจจุบันนี้ ทำให้เกิดคำถามขึ้นมาว่า “คุ้มค่าหรือเปล่า” กับการลงทุนในช่วงนี้ โดยผมบอกได้เพียงสั้นๆว่า ค่าตัวของ LED TV ค่อนข้างแพงกว่า LCD TV อยู่พอสมควร แต่ก็มี LED TV ก็มีอัตราการกินไฟน้อยกว่า LCD TV อยู่ประมาณ 40% -50% เลยทีเดียวเชียวครับ ดังนั้นเรื่องความคุ้มค่าก็ขึ้นอยู่กับตัวเราเองแล้วหละว่าจะเลือกตัวไหน ครับ


LED TV มีทั้งหมดกี่แบบ
      อันนี้หลายๆท่านอาจะจะยังสงสัยว่า LED TV มันมีหลายแบบด้วยเหรอ คำตอบแบบฟันธงนะครับว่ามีหลายแบบ ซึ่งแต่ละแบบก็มีข้อดีข้อเสียต่างกันไป เรามาดูกันเลยดีกว่า

1. EDGE LED : วางหลอด LED ไว้ตรงขอบของทีวี
     EDGE ชื่อก็บอกอยู่แล้วว่า “ขอบ” ครับ โดยหลอด LED จะถูกวางไว้ตามขอบบน ล่าง ซ้าย ขวา ของทีวีและคอยยิงแสงเข้ามาตรงกลางจอทีวี สำหรับข้อดีก็มีตรงที่ “ความบาง” ที่บางกว่า LCD TV ทั่วๆไปหลายเท่า เพราะหลอด LED อยู่แค่ด้านข้างครับ ส่วนอีกเรื่องคือเรื่องการประหยัดไฟครับ อย่างไรก็ตามข้อเสียหลักๆเมื่อเทียบกับ LED แบบ Full LED ก็คือ ไม่สามารถทำ Local Dimming หรือการเปิด/ปิดหลอดไฟเป็นกลุ่มๆได้เนื่องจากหลอดไฟอยู่ที่ขอบนั่นเอง

     สำหรับ EDGE LED TV ได้แก่ Samsung B6000 B7000 B8000 ครับ และรวมถึง Sony ZX1 ซึ่งเป็น EDGE LED LCD TV ที่บางที่สุดในโลกเพียง 9.9 มม.

2. Full LED : หลอด LED เป็นแผงอยู่ด้านหลัง
     สำหรับแบบที่ 2 เราเรียกว่า Full LED (Direct LED) เพราะว่ามีหลอดไฟอย่าด้านหลังทั้งแผงคอยให้กำเนิดแสงนั่นเอง ข้อดีของ Full LED หรือบางค่ายก็เรียก Direct LED ก็คือ ความสามารถในการทำ Local Dimming หรือการเปิด/ปิด หลอด LED เป็นกลุ่มๆ หรือเฉพาะจุดนั้นเองอย่างอิสระ เช่นฉากๆ นึงด้านซ้ายเป็นสีดำ ด้านขวาเป็นสีขาว หลอด LED Backlight บริเวณด้านซ้ายก็จะปิดเพื่อทำให้สีดำบริเวณด้านซ้ายดำสนิท และกลุ่ม LED Backlightด้านขวาจะเปิดเพื่อให้แสงสามารถลอดออกมาเป็นสีขาวครับ ในขณะที่ CCFL และ EDGE LED ไม่สามารถได้ ส่วนข้อเสียคือเรื่องความหนาของตัวเครื่องครับ เนื่องจากต้องใช้หลอดไฟ LED หลายตัวไว้ด้านหลังของตัวจอ ซึ่งทำให้ทีวีมีความหนาประมาณ LCD TV ทั่วๆ ไปอยู่ครับ
     
     ตัวอย่างที่เห็นได้ชัดก็คือ Samsung A950 รุ่นนี้ใช้ Full LED Backlight ครับ รวมถึง Philips รุ่น PFL9803 รุ่นที่ได้รางวัล EISA Award รุ่นนี้ก็ใช้ Full LED Backlight เช่นกัน

3. RGB LED : หลอดไฟ LED สีแดง เขียว น้ำเงิน เป็นแผงอยู่ด้านหลัง
      แบบสุดท้ายผมขอยกให้เป็นตัวท็อปของ LED TV ในปัจจุบันนะครับ ซึ่งก็คือ RGB LED TV นั่นเอง โดยหลักการให้กำเนิดแสงก็คล้ายๆ กับ Full LED เพียงแต่ว่าแทนที่จะใช้หลอด LED สีเดียวซึ่งปกติเป็นสีขาวในการกำเนิดแสง เจ้า RGB LED TV ใช้หลอด LED แม่สี 3 สี (แดง R, เขียว G, น้ำเงิน B) ในการให้กำเนิดแสงแทน ซึ่งหลอดไฟ 3 สีนี้แยกการทำงานกันอย่างอิสระ ส่งผลให้การสร้างสีดีขึ้น เพราะแสงต้นขั้วนั้นออกมาเป็นแม่สีตั้งแต่แรก ความถูกต้องและคมชัดของสีจึงมีมากขึ้น ตลอดจนความสามารถในการไล่เฉดสีจนมีมิติของภาพก็ดีขึ้น ตามหลักการแล้ว RGB LED ถือว่าเป็น LED TV ที่ดีที่สุดครับ มีต้นทุนที่สูงกว่า และความสามาถในการทำ Local Dimming หรือการเปิด/ปิดไฟเป็นกลุ่มๆอย่างอิสระเพื่อสีดำที่ดำสนิทและคอนทราสต์ที่ มากขึ้นก็มีเช่นเดียวกับ Full LED แบบข้อที่ 2 ครับ ส่วนข้อเสียที่เห็นหลักๆก็คือระดับราคาที่ค่อนข้างสูงมากในตอนนี้
      ตัวอย่างทีวีที่ใช้ RGB ก็คือ Sony X450 ขนาด 46” 55” 70” และ Sharp XS1 ขนาด 65” ซึ่งค่าตัวของ Sharp RGB LED TV ก็ 699,990 บาท และ 70X450 ราคาอยู่ที่ 799,990 บาทซึ่งถอยรถ Vios และ Civic ได้อย่างละ 1 คันพอดีเลยหละครับ 



บทความจาก www.lcdtvthailand.com

 



วันอาทิตย์ที่ 22 สิงหาคม พ.ศ. 2553

Key Board ไทย ปัตตะโชติ (The Pattajoti Layout)

Kedmanee or pattachote?
by foureyes » Mon Sep 09, 2002 4:46 pm
Which is the most common Thai keyboard layout? Which one should I be practicing with?
Thanks
ที่มา : http://www.thai-language.com/forums/t/technical/site/t1138

        บังเอิญไป Set Keyboard เท่าที่จำได้ Windows ทุกเวอร์ชั่นจะมี Keyboard ให้เลือก เป็น Thai Ketmanee และ Thai Pattachote ก็เลยนำมาเปิดประเด็น เพราะเป็นอะไรที่ไม่ค่อยได้อยู่ในความสนใจของคนในวงการ IT ที่จะกล่าวถึงกันมากนักและด้วยด้วยความเป็นคนไทยจึงไม่ค่อยรู้สึก  แต่จากคำถามด้านบนของชาวต่างชาติ มันเลยเป็นที่มาของการ สืบค้น ที่มา ที่ไป ว่าเรื่องราวเป็นอย่างไรเพราะตังแต่เกิดมาก็ไม่เคยเห็นคีย์บอร์ดแบบนี้เหมือนกัน

The Pattajoti Layout.

The Ketmanee Layout.

 
Finger load comparison between Ketmanee and Pattajoti.


ให้เครดิตกันหน่อยใครอยากอ่านฉบับเต็ม เชิญตาม Linkเลย ครับ

The Keyboard Layouts and Input Method of the Thai Language

Thaweesak Koanantakool, Ph.D
Information Processing Institute for Education and Development
Thammasat University  
Bangkok 10200, Thailand
ตีพิมพ์ใน"Proceedings of the Symposim on Natural Language Pocessing in Thailand 1993"
Internet Editor : Chularat Tanprasert
Homepage Developer : Pojaporn Pinrod
Pattajoti's Research - ผลงานวิจัยของสฤษดิ์ ปัตตะโชติ
Sarit Pattajoti (1966), then the Chief of the Photographic and Printing Section of the Royal Irrigation Department, made a statistical analysis of Thai texts with an aim to improve the Ketmanee layout. Pattajoti took a typical distribution of Thai characters from 50 sample texts (1,000 characters each) and perform statistical analysis on the finger-load distribution of the Ketmanee layout. His findings on the layout were
load imbalance : average of 30% load to the left hand and 70% to the right hand; the little finger of the right hand takes 19% of Keystrokes, while the left index which is the strongest finger takes only 16% load ; and the typical finger movements were apparently too far from the home positions since there are some characters being placed on the top row. The detail of Pattajoiti's statistics when applied to the Ketmanee layout are summarised in Table 1 below. Pattajoti rightly concluded that typists on the Ketmanee layout would find that their right little fingers easily got tired.

วันศุกร์ที่ 20 สิงหาคม พ.ศ. 2553

Blu-Ray VS HD DVD In Memory

Tech War In Memory 

        ก่อนที่เราจะก้าวกันไปไกลกว่านี้ อยากจะบันทึกความทรงจำ เกี่ยวกับเรื่องราวของการช่วงชิงความเป็นมาตรฐาน Format ของสื่อบันทึกข้อมูล ระหว่าง Blu-Ray กับ HD DVD ซึ่ง ณ.วันนี้คงทราบกันแล้วว่าใคร เป็นผู้ชนะใจกรรมการ

         ฆ่าได้ หยามไม่ได้ สำหรับ Sony งานนี้พลาดไม่ได้หลังจากได้รับบทเรียนราคาแพงจาก Memory Stick  (MS)  ทุ่มสุดตัว งัดกลยุทธมาใช้กันทุกรูปแบบ ขณะที่ HD DVD หัวเรือใหญ่อย่าง Toshiba และ NEC ผู้ถือดาบ Jedi แสงเลเซอร์ สีแดง เข้าฟาดฟัน กับ ดาบแสงเลเซอร์สีฟ้า อยู่หลายกระบวนท่า Jedi (น่าจะเป็นนินจามากกว่า) ทั้งสอง ก็เริ่มส่อแววแพ้ชนะกันออกมา
       19 พฤศจิกายน 2546 ทางสมาคม DVD Forum ได้ลงความเห็นให้ HD DVD เป็นฟอร์แมตแผ่นบันทึกข้อมูลรุ่นถัดไป ต่อจากดีวีดี ในขณะเดียวกันแผ่นแบบ Blu-ray ก็ถูกพัฒนาขึ้นโดยไม่ผ่าน DVD Forum ในช่วงที่ผ่านมามีความพยายามที่จะรวมฟอร์แมตให้เหลือเพียงแบบเดียวหลายครั้ง แต่ก็ประสบความล้มเหลวจนผลิตภัณฑ์จริงวางจำหน่ายทั้งสองฝั่งในที่สุด (ติดตามตอนต่อไป)
Live from Toshiba's HD DVD press conference in Tokyo
By Ryan Block posted Feb 19th 2008 2:46AM
Engadget Japan is live at Toshiba's HD DVD press conference in Tokyo right now. It's nearing 5PM, when the bell is expected to toll for HD DVD, and we can all move on with our new lives as Blu-ray (or download) buying consumers. It won't be in the usual second-by-second coverage, but we'll do our best to have live updates as they come in, so check back to this post.
IT'S OVER! The release just hit the wires even before Toshiba started talking. "Toshiba Announces Discontinuation of HD DVD Businesses."

5:00PM - Right on time, Toshiba's president, Nishida-san, takes the podium. He is talking about how great and advanced HD DVD was. WAS. He is also speaking about how Toshiba shared a good partnership with Warner. "There was a difficult decision. Multiple standards have a huge impact on consumers."

5:15 - Now he's just reading from the release, more or less. They're on to bigger and better things: two new NAND factories in Japan, one will be jointly-operated with SanDisk

วันพุธที่ 18 สิงหาคม พ.ศ. 2553

ซ่อมแซม Internet Explorer

      สวัสดีครับ ใครที่ใช้โปรแกรม Internet Explorer(IE) เป็นเบราเซอร์ตัวโปรดในการท่องเว็บ เล่นอินเตอร์เน็ต แล้วเจอปัญหาIE Error บ่อยๆ หรือIE ไม่ยอมทำงานไปซะเฉยๆ บางทีก็หลุดหรือปิดตัวเองไปซะเฉยๆ แล้วหล่ะก็ วันนี้ผมมีเครื่องมือที่จะช่วยซ่อมแซมและแก้ไข เป่าลมหายใจให้ IE ของคุณกลับมาทำงานได้อย่างราบรื่น พาคุณท่องเว็บ เล่นอินเตอน์เน็ตได้อย่างสบายใจ ไร้กังวลกับปัญหา Error ต่างๆ มาฝากกันครับ โดยโปรแกรมที่กล่าวถึงนี้ก็คือโปรแกรม Fix IE Utility ครับ

โปรแกรม Fix IE Utility คืออะไร

โปรแกรม Fix IE Utility เป็นเครื่องมือหรือโปรแกรมฉบับพกพา ที่เอาไว้ช่วยซ่อมแซมและแก้ปัญหาที่เกิดขึ้นกับ Internet Explorer(IE) ซึ่งแอาจจะเกิดจากปัญหาไวรัส สปายแวร์ต่างๆ รวมไปถึงอาการที่เกิดขึ้นหลังจากที่ได้ทำการลบหรือกำ จัดไวรัส สปายแวร์ออกไปแล้วก็ตาม โดยยูทิลิตี้นี้ได้รวมรวมคำสั่งสำหรับ Register ไฟล์ประกอบสำคัญ เช่นพวกไฟล์ dll, ไฟล์ ocx ต่างๆ เอาไว้ถึง 89 ไฟล์เลยทีเดียว ที่จำเป็นสำหรับไว้ให้ IE เรียกใช้งาน เพื่อการทำงานที่ราบรื่น ไร้กังวลจากปัญหา Error โดยโปรแกรม Fix IE Utility นี้ รองรับและทดสอบผ่าน IE 7 และ IE 8 เรียบร้อยแล้ว



วิธีใช้งานและดาวน์โหลดโปรแกรม Fix IE Utility

1. ให้ ดาวน์โหลดโปรแกรม Fix IE Utility << ที่นี่ มาไว้ที่เครื่อง

2. จากนั้นปิดโปรแกรมInternet Explorer(IE) ออกไปให้หมด รวมถึงโปรแกรมอื่นๆด้วย

3. จากนั้นให้แตกไฟล์ Fix IE.zip ที่ดาวน์โหลดมาไว้เรียบร้อยแล้ว

4. ต่อมาให้ดับเบิ้ลคลิกที่ไฟล์ Fix IE Utility.exe แล้วกดปุ่ม Run Utility แล้วรอจนกระทั่งมีกล่องข้อความขึ้นมาแจ้งเตือนว่า “Re-registered all files” ก็ให้คลิกปุ่ม OK ออกไป เพื่อจบการทำงาน

5. เป็นอันเรียบร้อยครับ ขอให้สนุกกับการใช้งาน IE ของคุณนะครับ



ข้อมูลจาก : webmonster's blog

ระบบปฏิบัติการเบื้องต้น (Operating Sytem:OS)

ระบบปฏิบัติการเบื้องต้น
           คอมพิวเตอร์ได้ถูกพัฒนามาอย่างมากมายหลายรุ่น ตั้งแต่ยุคแรกๆ จนกระทั่งถึงปัจจุบัน ยุคแรกๆ คอมพิวเตอร์ถูกสร้างขึ้นมาจากหลอดสูญญากาศ มีขนาดใหญ่มาก แต่ในปัจจุบันนี้ คอมพิวเตอร์ผลิตจากแผงวงจรรวมที่มีประสิทธิภาพและมีความสามารถสูง ขนาดเล็ก พกพาได้สะดวกขึ้นมาก แต่ถึงแม้ว่าตัวเครื่องคอมพิวเตอร์ได้ถูกพัฒนาไปอย่างมากจนชนิดเทียบกับอดีตเป็นคนละเรื่องกันก็ตาม โครงสร้างพื้นฐานของระบบคอมพิวเตอร์ก็ยังคงมีลักษณะเหมือนเดิม เคยมีคนกล่าวว่า ถ้ารถยนต์พัฒนาได้เร็วอย่างคอมพิวเตอร์ เบนซ์จะเหลือราคา 10 บาท

ระบบปฏิบัติการ (Operating System : OS) คืออะไร
     ระบบปฏิบัติการ เป็นโปรแกรมที่ทำงานเป็นตัวกลางระหว่างผู้ใช้เครื่องและฮาร์ดแวร์ โดยมีวัตถุประสงค์เพื่อจัดสภาพแวดล้อมให้ผู้ใช้ระบบสามารถปฏิบัติงานบนเครื่องคอมพิวเตอร์ได้ โดยจะเอื้ออำนวยการพัฒนาและการใช้โปรแกรมต่างๆ รวมถึงการจัดสรรทรัพยากรต่างๆ ให้ได้อย่างมีประสิทธิภาพ

หน้าที่ของระบบปฏิบัติการ
ระบบปฏิบัติการถูกสร้างขึ้นมาด้วยวัตถุประสงค์หลักคือ อำนวยความสะดวกแก่ผู้ใช้เครื่องคอมพิวเตอร์ ในลักษณะที่ผู้ใช้ไม่จำเป็นต้องทราบกลไกการทำงานหรือฮาร์ดแวร์ของระบบ จึงสามารถแบ่ง หน้าที่หลักของระบบปฏิบัติการได้ดังนี้
         1.ติดต่อกับผู้ใช้ (user interface) ผู้ใช้สามารถติดต่อหรือควบคุมการทำงานของเครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการได้ โดยระบบปฏิบัติการจะเครื่องหมายพร้อมต์ (prompt) ออกทางจอภาพเพื่อรอรับคำสั่งจากผู้ใช้โดยตรง ตัวระบบปฏิบัติการจึงเป็นตัวกลางที่ทำหน้าที่เชื่อมโยงระหว่างผู้ใช้กับฮาร์ดแวร์ของเครื่อง นอกจากนี้ผู้ใช้อาจเขียนโปรแกรมเพื่อใช้งานกรณีนี้ผู้ใช้ก็สามารถติดต่อกับระบบปฏิบัติการได้โดยผ่านทาง System Call
         2.ควบคุมการทำงานของโปรแกรม และอุปกรณ์รับ/แสดงผลข้อมูล (input/output device) ตลอดจนการให้ความสะดวกแก่ผู้ใช้ในการใช้งานอุปกรณ์ต่างๆ ได้ง่าย เช่น การเข้าถึงข้อมูลในแฟ้มหรือติดต่อกับอุปกรณ์รับ/แสดงผลข้อมูล จึงทำให้ผู้พัฒนาโปรแกรมไม่จำเป็นต้องเขียนโปรแกรมเพื่อควบคุมตัวขับดิสก์เพราะระบบปฏิบัติการจัดบริการให้มีคำสั่งสำหรับติดต่อกับอุปกรณ์เหล่านี้ได้อย่างง่ายๆเนื่องจากผู้ใช้เครื่องคอมพิวเตอร์ผ่านทางระบบปฏิบัติการ อาจไม่มีความจำเป็นต้องมีความรู้ความเข้าใจถึงหลักการทำงานภายในของเครื่อง ดังนั้น ระบบปฏิบัติการจึงมีหน้าที่ควบคุมการทำงานของโปรแกรม การทำงานของอุปกรณ์ต่างๆ เพื่อให้การทำงานของระบบเป็นไปอย่างถูกต้องและสอดคล้องกัน ระบบปฏิบัติการจึงมีส่วนประกอบของหน้าที่ต่างๆ ที่ควบคุมอุปกรณ์แต่ละชนิดที่มีหน้าที่แตกต่างกันไป โดยผู้ใช้อาจเรียกใช้ผ่านทาง System Call หรือเขียนโปรแกรมขึ้นมาควบคุมอุปกรณ์เหล่านั้นได้เอง
      3.จัดสรรให้ใช้ทรัพยากรระบบร่วมกัน (shared resources) ซึ่งทรัพยากรหลักที่ต้องมีการจัดสรร ได้แก่ หน่วยประมวลผลกลาง หน่วยความจำหลัก อุปกรณ์รับ/แสดงผลข้อมูลและแฟ้มข้อมูล เช่น การจัดลำดับให้บริการใช้เครื่องพิมพ์การสับหลีกงานหลายงานในหน่วยความจำหลักและการจัดสรรหน่วยความจำหลักให้กับโปรแกรมทั้งหลาย ทรัพยากร คือสิ่งที่ซึ่งถูกใช้ไปเพื่อให้โปรแกรมดำเนินไป ซึ่งเหตุที่ต้องมีการจัดสรรทรัพยากรก็เพราะ
      ■ทรัพยากรของระบบมีขีดจำกัดเช่นซีพียูในระบบมีอยู่เพียงตัวเดียว แต่ทำงานในระบบมัลติโปรแกรมมิ่งมีการทำงานหลายโปรแกรม จึงจะต้องมีการจัดสรรซีพียูให้ทุกโปรแกรมอย่างเหมาะสม
   ■ทรัพยากรมีอยู่หลายประเภท แต่ละโปรเซสหรือโปรแกรมมีความต้องการใช้ทรัพยากรเพียง อย่างเดียว หรือหลายอย่างพร้อมกัน ระบบปฏิบัติการจึงต้องจัดเตรียมทรัพยากรต่างๆ ตามความต้องการของโปรแกรม
      ดังนั้นหน้าที่อันสำคัญประการหนึ่งของระบบปฏิบัติการก็คือ การจัดสรรทรัพยากรของระบบให้เกิดประโยชน์สูงสุด โดยคำนึงถึงความยุติธรรมต่อผู้ใช้แต่ละคน และให้เกิดประสิทธิภาพเป็นหลักสำคัญ ถ้าระบบปฏิบัติการจัดสรรทรัพยากรได้อย่างมีประสิทธิภาพ ระบบก็สามารถรันโปรแกรมได้อย่างรวดเร็วและได้งานเพิ่มขึ้น ทรัพยากรหลักที่ระบบปฏิบัติการจัดสรรได้แก่ โปรเซสเซอร์ (ซีพียู),หน่วยความจำ,อุปกรณ์นำข้อมูลเข้า/ออก และข้อมูล เป็นต้น
       *ระบบปฏิบัติการอาจเป็นได้ทั้ง Hardware Software หรือ Firmware หรือผสมผสานกันก็ได้ โดยมี เป้าหมายเดียวกันคือสามารถช่วยให้ผู้ใช้คอมพิวเตอร์สามารถใช้คอมพิวเตอร์ได้ดังที่ได้กล่าวมาแล้ว
      1.Hardware OS เป็น OS ที่อยู่ในรูปของอุปกรณ์ ถูกสร้างขึ้นเพื่อควบคุมการทำงานของเครื่องคอมพิวเตอร์และเป็นส่วนหนึ่งของฮาร์ดแวร์มีความเร็วในการทำงานสูง แต่ราคาแพงและแก้ไขยาก ไม่นิยมในการแก้ไขส่วนมากจะเป็นการเปลี่ยนอุปกรณ์มากกว่าการแก้ไข
       2.Software OS เป็น OS ที่เป็นโปรแกรมที่เขียนขึ้นเพื่อควบคุมการทำงานของเครื่องคอมพิวเตอร์ เช่นเดียวกัน มีความเร็วช้ากว่า Hardware OS แต่เป็นที่นิยมมากที่สุดเพราะง่ายแก่การแก้ไข และราคาถูก
       3.Firmware OS เป็น OS ที่เป็นส่วนของโปรแกรมที่เก็บไว้เป็นส่วนหนึ่งของเครื่องคอมพิวเตอร์ เขียนขึ้นโดยใช้คำสั่งไมโคร หลายๆ คำสั่งของคำสั่งไมโครรวมกันเรียกว่าไมโครโปรแกรม มีความเร็วสูงกว่า Software OS แต่ช้ากว่า Hardware OS

วิวัฒนาการและชนิดของระบบปฏิบัติการ
     ในสมัยก่อนที่เริ่มมีการประดิษฐ์เครื่องคำนวณ ผู้ประดิษฐ์เครื่องจะเป็นผู้เดียวที่สามารถใช้เครื่องนั้นได้ หรือไม่ก็ต้องเป็นผู้ที่มีความรู้เกี่ยวกับการทำงานของเครื่องอย่างถ่องแท้เท่านั้นที่จะใช้เครื่องได้ จุดประสงค์ของการสร้างเครื่องคำนวณก็เพื่อช่วยเหลือนักวิทยาศาสตร์ในการคำนวณฟังก์ชั่นต่างๆที่ยุ่งยากสลับซับซ้อน และเสียเวลาในการคำนวณนาน เมื่อสร้างเป็นเครื่องจักรขึ้นมาจึงทำให้นักวิทยาศาสตร์ไม่ต้องเสียเวลาในการคำนวณฟังก์ชั่นเหล่านั้น เพียงแต่ส่งให้เครื่องคำนวณช่วยคำนวณให้ อย่างไรก็ตามนักวิทยาศาสตร์ก็ยังต้องอาศัยผู้สร้างซึ่งเป็น ผู้เดียวที่สามารถใช้เครื่องนั้นได้ การพัฒนาเครื่องคำนวณเหล่านี้มีมาตลอดจนกระทั่งมาเป็นเครื่องคอมพิวเตอร์ ในปัจจุบัน เครื่องคอมพิวเตอร์ในยุคแรกๆ ก็ยังมีปัญหาเช่นเดียวกับเครื่องคำนวณ คือ ผู้ประดิษฐ์เครื่องเท่านั้น ที่จะเขียนโปรแกรมควบคุมมันได้ ทั้งนี้เพราะโปรแกรมต้องอาศัยความเข้าใจในการทำงานทุกขั้นตอนของเครื่องและต้องใช้คำสั่งเป็นภาษาเครื่อง (machine language) เท่านั้น ซึ่งภาษาเครื่องนี้ผู้ประดิษฐ์เครื่องจะเป็นผู้กำหนดขึ้นเอง ซึ่งจะลำดับวิวัฒนาการระบบปฏิบัติการดังต่อไปนี้
1.การป้อนงานแบบกลุ่มด้วยมือ (Manual batch system) พ.ศ. 2483 – 2492
ในสมัยแรกเริ่มราวปี พ.ศ.2483-2492 เครื่องคอมพิวเตอร์มีแต่เครื่องเปล่าๆ ยังไม่มีระบบปฏิบัติการใดๆ เลย ผู้ใช้เครื่องต้องเขียนโปรแกรมเป็นภาษาเครื่องทั้งหมด รวมถึงควบคุมเครื่อง ตระเตรียมงาน ตรวจสอบ และทำโปรแกรม และลักษณะการใช้เช่นนี้ ทำให้ประโยชน์ใช้สอย (utilization) ของเครื่องต่ำมาก โดยเฉพาะเมื่อเครื่องในสมัยก่อนมีราคาแพงมากเมื่อเทียบกับเครื่องในสมัยนี้ ซึ่งมีความสามารถทัดเทียมกัน ดังนั้น จึงมีการจ้างพนักงานคุมเครื่อง (operator) เพื่อลดเวลาที่เสียไปในการตระเตรียมงาน (set-up time) และเวลาที่ต้องเก็บกวาด (tear-down time) ซึ่งนอกจากพนักงานคุมเครื่องอาชีพจะชำนาญกว่าผู้ใช้แล้ว ยังสามารถจัดงานที่มีลักษณะคล้ายคลึงกันไว้พวกเดียวกัน เช่น งานที่ต้องใช้ตัวแปลภาษา (translator หรือ compiler) ตัวเดียวกัน ลักษณะนี้เรียกว่า เป็นการป้อนงานแบบกลุ่มด้วยมือ (manual batch system) ระบบการทำงานแบบนี้ทำให้เกิดปัญหาคือการสั่งงานแต่ละครั้งซึ่งใช้เวลานาน เพราะในขณะที่มีการนำตัวแปลภาษาเข้าหรือออกจากหน่วยความจำหลักนั้นใช้เวลาในการติดตั้งนานแล้วยังทำให้สูญเสียเวลาของหน่วยประมวลผลโดยเปล่าประโยชน์ และต้องทำขั้นตอนเดิมๆ กับงานทุกงานที่เข้ามาในระบบ นอกจากนี้ยังเกิดข้อผิดพลาดในโปรแกรมและจะต้องเริ่มต้นใหม่เสมอ
2.การป้อนงานแบบกลุ่มโดยอัตโนมัติ (Automatic batch processing) พ.ศ. 2493 - 2497
แม้ว่าจะมีการใช้พนักงานคุมเครื่องมืออาชีพ แต่เวลาของเครื่องก็ยังทิ้งเสียเปล่าในขณะที่พนักงาน ตรวจสอบความต้องการของงาน หางาน (ซึ่งโดยปกติอยู่ในรูปของบัตรเจาะรู และเทปแม่เหล็ก) และป้อนงานเข้า สู่เครื่อง (เช่นใส่บัตรในเครื่องอ่านบัตร หรือใสเทปในตู้เทป) รวมถึงการนำงานนั้นๆ ออกจากเครื่อง (เช่น เก็บเทป เก็บบัตร หรือฉีกกระดาษผลลัพธ์เป็นต้น) ดังนั้นในช่วงต้นทศวรรษที่ 5 General Motors Research Laboratories ได้พัฒนาระบบปฏิบัติการรุ่นแรก ออกมาโดยใช้กับเครื่อง IBM 701 ที่ใช้กันอยู่ในห้องทดลองนั้นเรียกว่าเป็นการประมวลผลแบบกลุ่มอัตโนมัติ (automatic batch processing) ระบบปฏิบัติการรุ่นแรกนี้ เป็นเพียงโปรแกรมเล็กๆ ซึ่งอยู่ในเครื่องตลอดเวลา (resident monitor) ประกอบด้วย 3 ส่วน คือ โหลดเดอร์ (loader) ตัวจัดลำดับงานโดยอัตโนมัติ (automatic job sequencing) และตัวแปรบัตรควบคุม (control card interpreter) ซึ่งตัวมอนิเตอร์นี้ ทำหน้าที่ส่งงานเข้าไปในระบบอย่างต่อเนื่องโดยอัตโนมัติ และอยู่ในหน่วยความจำหลักตลอดเวลาที่เครื่องคอมพิวเตอร์ทำงาน โดยมีการแบ่งหน่วยความจำหลักเป็น 2 ส่วน ส่วนหนึ่งสำหรับโปรแกรมของผู้ใช้ และอีกส่วนหนึ่งเป็นของระบบปฏิบัติการเมื่อเริ่มต้นระบบ ตัวระบบปฏิบัติการ(มอนิเตอร)์จะถูกเรียกใช้ โดยโหลดเดอร์จะนำโปรแกรมระบบและโปรแกรมผู้ใช้เข้าสู่หน่วยความจำหลักแล้วส่งการควบคุมไปยังโปรแกรมเพื่อทำงานต่อไป หลังจากสิ้นสุดการทำงานของโปรแกรมหนึ่งๆ จะส่งการควบคุมกลับไปยังตัวระบบปฏิบัติการ เพื่อนำงานชิ้นต่อไปเข้ามา และจะส่งมอบการควบคุมเครื่องให้กับโปรแกรมของผู้ใช้ทีละโปรแกรมเรียงลำดับตามกันไป ซึ่งในกรณีนี้ จะต้องมีข้อมูลปะหน้าและท้ายโปรแกรม เพื่อยกงานออกจากกัน รวมทั้งบอกระบบปฏิบัติการถึงลักษณะงาน เช่น ตัวแปลภาษาที่ต้องใช้ ตู้เทป และเลขหมายของม้วนเทป เป็นต้น ซึ่งเกิดเป็นภาษาใหม่ขึ้น คือ ภาษาคุมงาน (job control language หรือ JCL)ปัญหาที่สำคัญอีกประการหนึ่ง คือ ความแตกต่างของความเร็วระหว่างหน่วยประมวลผลกลาง กับอุปกรณ์นำข้อมูลเข้า/ออก แม้ว่าจะได้มีการพัฒนาอุปกรณ์นำข้อมูลเข้า/ออกแล้วก็ตาม แต่ขีดจำกัดของเครื่อง กลไกก็ยังทำให้อุปกรณ์เหล่านี้ช้ากว่าหน่วยประมวลผลกลางซึ่งทำงานด้วยความเร็วของวงจรอิเล็กทรอนิกส์เป็นหลายพันเท่า ความแตกต่างนี้ทำให้การใช้ประโยชน์ของหน่วยประมวลผลกลางต่ำมาก ตัวอย่างเช่น การแปลภาษาเครื่องของงานหนึ่ง ใช้เวลาของหน่วยประมวลผลกลางเพียง 4.8 วินาที ขณะที่การอ่านโปรแกรมนั้น (1,579 บัตร ความเร็ว 1,200 บัตรต่อนาที) ใช้เวลา 78.9 วินาที ดังนั้นหน่วยประมวลผลกลางจะต้องรอเครื่องอ่านบัตร 74.1 วินาที หรือร้อยละ 93.9 ของเวลาที่ใช้ในการทำงานชิ้นนี้ เรียกได้ว่าการใช้ประโยชน์ (utilization) ของหน่วยประมวลผลกลางเป็นเพียงร้อยละ 6.1 เท่านั้น ซึ่งหากรวมความล่าช้าในการแสดงผลเข้าไปด้วยแล้ว การใช้ประโยชน์ของหน่วยประมวลผลกลางก็ยิ่งต่ำลงไปอีก วิธีแก้ปัญหานี้ นับจากสมัยแรกเริ่ม ได้แก่การใช้ระบบ buffering ระบบ off-line และระบบ spooling
■การทำงานแบบ Buffering
แนวความคิดนี้คือ ให้หน่วยนำข้อมูลเข้า/ออกทำงานขนานไปพร้อมกันกับหน่วยประมวลผลกลางมากที่สุดเท่าที่จะทำได้ วิธีการคือ ขณะที่หน่วยประมวลผลกลางประมวลผลข้อมูลจำนวนหนึ่ง หน่วยรับข้อมูลจะอ่านข้อมูลถัดไปเข้ามาไว้ในหน่วยความจำ ส่วนที่เตรียมไว้เพื่อการนี้ ซึ่งเรียกว่าบัฟเฟอร์ (buffer) ซึ่งหากการอ่านข้อมูล (หรือการพิมพ์ผลลัพธ์) สำหรับข้อมูลแต่ละหน่วย ใช้เวลาเท่ากับการประมวลผลข้อมูลแต่ละหน่วยพอดี อุปกรณ์ทั้งสองประเภทนี้ไม่ต้องรอซึ่งกันและกัน ทำให้ได้ประโยชน์ใช้สอยเต็มที่ คือร้อยละร้อย แต่ในความจริงแล้วจะเกิดความเหลื่อมล้ำ (mismatch) ของเวลาการทำงานสำหรับข้อมูลแต่ละหน่วย ความเหลื่อมล้ำนี้ ขึ้นกับสาเหตุที่สำคัญสองประการคือ อัตราความเร็วของอุปกรณ์ต่างๆ และประเภทของงานที่ต่างกันสำหรับสาเหตุของอัตราความเร็วของอุปกรณ์ต่างกันนั้น ไม่ว่าเครื่องคอมพิวเตอร์ประเภทใด หน่วยประมวลผลกลางจะมีความเร็วสูงกว่าหน่วยนำข้อมูลเข้า/ออกมาก แม้จะมีบัฟเฟอร์ แต่หน่วยประมวลผล ก็ยังต้องรออยู่ดี ส่วนสาเหตุประเภทของงานต่างกันนั้น หากงานที่เป็นพวกที่ใช้หน่วยนำข้อมูลเข้า/ออกมากๆ (I/O bounded) หน่วยประมวลผลกลางจะทำงานน้อย เพราะต้องรอข้อมูลจากหน่วยรับข้อมูล (หรือรอให้หน่วยแสดงผลนำผลที่ได้ไปแสดง) ในทำนองกลับกัน หากงานเป็นประเภทที่ใช้หน่วยประมวลผลกลางมากๆ (CPU bounded) ช่วงเวลาที่หน่วยประมวลผลกลางจะว่างก็ลดลง จนอาจถึงกับไม่ว่างเลย กลายเป็นว่าหน่วยนำข้อมูลเข้า/ออกต้องเป็นฝ่ายรอหน่วยประมวลผลกลางในสมัยเริ่มแรกนั้น (หรือแม้แต่ในปัจจุบันก็ตาม) ความเหลื่อมล้ำระหว่างหน่วยประมวลผลกลางกับหน่วยนำข้อมูลเข้า/ออก จะออกไปในทางที่ทำให้การใช้ประโยชน์หน่วยประมวลผลกลางต่ำมาก วิธีการแก้ทางหนึ่งคือ เพิ่มความเร็วของหน่วยนำข้อมูลเข้า/ออก แต่วิธีนี้ทำได้ยาก เพราะอุปกรณ์เหล่านั้นเป็นเครื่องกลไกซึ่งมี ข้อจำกัดทางด้านความเร็วเป็นธรรมดาอยู่แล้ว จึงได้มีการนำอุปกรณ์ที่มีความเร็วสูงขึ้นอีกระดับ เช่น เทปและจานแม่เหล็กมาคั่นระหว่างหน่วยประมวลผลกลาง และหน่วยนำข้อมูลเข้า/ออก ส่วนอีกวิธีหนึ่งคือ การทำงานหลายๆ งานพร้อมกัน เพื่อไม่ให้หน่วยประมวลผลกลางต้องอยู่เฉย ขณะรอการรับข้อมูลหรือแสดงผลของงานหนึ่งงานใด ซึ่งลักษณะนี้ คือการทำมัลติโปรแกรมมิ่ง (multiprogramming) ซึ่งจะกล่าวถึงต่อไป
■การทำงานแบบ Off-line
การทำงานแบบนี้เป็นวิธีการนำมาเพื่อแก้ปัญหาความเหลื่อมล้ำของความเร็ว สามารถผ่อนหนักเป็นเบาได้วิธีหนึ่ง โดยการใช้เทปแม่เหล็กมาแทนเครื่องอ่านบัตรหรือเครื่องพิมพ์ที่มีความเร็วต่ำมาก วิธีการคือการจำลองข้อมูลจากบัตรลงบนเทปแม่เหล็ก เมื่อโปรแกรมต้องการอ่านบัตร ระบบปฏิบัติการจะเปลี่ยนไปอ่านเทปให้แทน ส่วนการพิมพ์ผลก็ทำทำนองเดียวกัน โดยการพิมพ์ลงเทปแม่เหล็กก่อน แล้วนำเทปนั้นไปถ่ายออกเครื่องพิมพ์อีกที การถ่ายเทข้อมูลผ่านเทปนี้กระทำได้สองวิธีคือ ใช้เครื่องอ่านบัตรและเครื่องพิมพ์ที่ออกแบบมาเป็นพิเศษ สามารถถ่ายเทข้อมูลกับเครื่องอ่านเทปแม่เหล็กได้โดยตรง ไม่ต้องผ่านหน่วยประมวลผลกลาง ส่วนอีกวิธีหนึ่งคือ ใช้อุปกรณ์มาตรฐานปกติ แต่ใช้เครื่องคอมพิวเตอร์ขนาดเล็ก เป็นตัวถ่ายเทข้อมูล แทนที่จะใช้เครื่องใหญ่การทำงานโดยอาศัยเทปแม่เหล็กนี้ จะต้องได้รับความช่วยเหลือจากระบบปฏิบัติการในอันที่จะให้คำสั่งรับข้อมูลหรือแสดงผล (input/output operation) ในโปรแกรมของผู้ใช้สามารถเปลี่ยนไปใช้กับอุปกรณ์ ใดๆก็ได้ ขึ้นอยู่กับความเหมาะสมในการบริหารระบบ ลักษณะการทำงานเช่นนี้เรียกว่า อิสระภาพจากอุปกรณ์ (device independence)ข้อเสียของระบบ off-line คือ โปรแกรมจะต้องผ่านขั้นตอนมากขึ้น และในการเก็บข้อมูลลงเทปแม่เหล็ก ต้องรอให้มีหลายๆ โปรแกรมเสียก่อน จึงค่อยนำเข้าเครื่องคอมพิวเตอร์ใหญ่เสียทีหนึ่ง ทำให้ผู้ใช้ต้อง รอนานขึ้น แม้ว่าประโยชน์ใช้สอยของหน่วยประมวลผลกลางจะดีขึ้นก็ตาม
■การทำงานแบบ Spooling
เมื่อเทคโนโลยีของจานแม่เหล็กได้รับการพัฒนามากขึ้น ระบบปฏิบัติการก็เริ่มหันมาใช้จานแม่เหล็กแทนเทปแม่เหล็กด้วยเหตุผลสำคัญประการหนึ่งที่เห็นได้ชัด คือ การไม่สามารถทำการประมวลผลข้อมูลในเทป ไปพร้อมๆ กับที่ถ่ายเทข้อมูลจากเครื่องอ่านบัตร ลงเทปม้วนเดียวกันนั้นได้ หลักการใช้จานแม่เหล็กมีลักษณะคล้ายกับเทปแม่เหล็ก ข้อแตกต่างที่สำคัญมีด้วยกันสองประการคือเนื่องจากการเข้าถึง (access) ของจานแม่เหล็กเป็นแบบตรง (direct) ไม่ใช่แบบเรียงลำดับ (sequential) อย่างเทปแม่เหล็ก จึงทำให้สามารถแยกงานออกจากกันได้ โดยสร้างตารางบ่งบอกว่าข้อมูล (หรือผลลัพธ์) ของงานใดอยู่ในส่วนใดของจานบันทึกเมื่อการใช้จานแม่เหล็กเป็นแบบตามสาย หรือต่อตรง (on-line) หน่วยประมวลผลที่ใช้ในการถ่ายเทข้อมูลระหว่างจานและอุปกรณ์นำข้อมูลเข้า/ออก จึงต้องเป็นตัวเดียวกับที่ใช้ในการประมวลงานของผู้ใช้ หรือกล่าวอีกนัยหนึ่งคือต้องมีโปรแกรมพิเศษตัวหนึ่ง ทำงานคู่ขนานไปกับโปรแกรมของผู้ใช้ เพื่อทำการถ่ายเท ข้อมูลกับจานแม่เหล็ก จึงเกิดเป็นการทำมัลติโปรแกรมมิ่งแบบพื้นฐานขึ้น หลักการใช้จานแม่เหล็กแทนอุปกรณ์นำข้อมูลเข้า/ออกนี้ เรียกว่า spooling ซึ่งย่อมาจาก Simultaneous Peripheral Operation On-Lineข้อดีที่สำคัญของ spooling คือความจำเป็นที่ต้องพัฒนาระบบมัลติโปรแกรมมิ่งแบบพื้นฐานขึ้น ซึ่งก่อให้เกิดความก้าวหน้าต่อวงการโดยเฉพาะทางศาสตร์ด้านระบบปฏิบัติการ ระบบนี้ทำให้สามารถเหลื่อมการประมวลผลของงานหนึ่งกับการรับข้อมูลและแสดงผล (โดยผ่านโปรแกรม spool) ของอีกงานหนึ่งได้ จุดนี้ต่างกับการใช้บัฟเฟอร์ ตรงที่การใช้บัฟเฟอร์นั้นเป็นการเหลื่อมกันระหว่างการประมวลผล และการรับและแสดงข้อมูลของโปรแกรมเดียวกัน ซึ่งก็ไม่อาจทำได้มากเท่าไรนัก ด้วยจำกัดอยู่ที่ขั้นตอนการทำงานของโปรแกรมนั้นๆข้อดีอีกประการหนึ่งของ spooling คือ ลักษณะการเข้าถึงแบบตรงของจานแม่เหล็กงานที่ถูกป้อนเข้ามาแบบเรียงลำดับ สามารถถูกจัดแยกเป็นอิสระ เกิดเป็น job pool ซึ่งระบบปฏิบัติการสามารถเลือกงานเข้าประมวลผลตามความเหมาะสมได้ เช่น ตามความสำคัญของงานซึ่งกำหนดโดยผู้ใช้หรือผู้บริหารระบบ หรือตามระดับและลักษณะการใช้งานอุปกรณ์ต่างๆ ในระบบ เช่น เลือกงานที่ใช้เทป เมื่อมีตู้เทปว่าง เป็นต้น ทำให้เกิดเป็นระบบคัดเลือกงาน (job scheduling) แบบพื้นฐานขึ้น
3. ระบบมัลติโปรแกรมมิ่ง (Multiprogramming system) ระบบปฏิบัติการรุ่นที่ 2 พ.ศ. 2498-2508
แม้ว่า Spooling จะเป็นการทำงานแบบมัลติโปรแกรมมิ่งอย่างง่ายๆ โดยมีโปรแกรมวิ่งขนานกันอยู่สองโปรแกรม คือ โปรแกรม spool และโปรแกรมของผู้ใช้ (ในลักษณะการประมวลผลแบบกลุ่ม) แต่ลักษณะของโปรแกรมที่เกี่ยวข้อง ก็ยังไม่อาจใช้ประโยชน์องค์ประกอบต่างๆ ของคอมพิวเตอร์ได้เต็มที่ เหตุเพราะโปรแกรมของผู้ใช้อาจทำงานร่วมกับเทปแม่เหล็ก ซึ่งมีความเหลื่อมล้ำทางความเร็วกับหน่วยประมวลผลกลางมากอยู่ดี ในสมัยต่อมาจึงได้มีการขยายการทำมัลติโปรแกรมมิ่งออกไป เพื่อให้ประโยชน์ใช้สอยของระบบสูงขึ้นหลักการของระบบมัลติโปรแกรมมิ่ง คือ การที่ระบบยอมให้มีโปรแกรมอยู่ในหน่วยความจำหลักพร้อมที่จะถูกประมวลผลได้หลายๆ โปรแกรม ดังที่แสดงในรูปที่ 1.4 เพื่อให้การใช้ประโยชน์หน่วยประมวลผลกลางเป็นไปอย่างเต็มที่ โดยในช่วงเวลาขณะหนึ่งระบบปฏิบัติการจะเลือกโปรแกรมมาตัวหนึ่งให้หน่วยประมวลผลกลางทำการประมวลผลไปเรื่อยๆ เพียงงานเดียวในระยะเวลาอันสั้น ซึ่งถ้าโปรแกรมนั้นต้องหยุดคอยอะไรสักสิ่งหนึ่ง เช่น รอให้พนักงานคุมเครื่องใส่เทปแม่เหล็กเข้าตู้เทป หรือรอให้เครื่องอ่านบัตรอ่านข้อมูลชิ้นถัดไปเข้ามา หรือการรอป้อนข้อมูลทางแป้นพิมพ์ ซึ่งเป็นผลทำให้หน่วยประมวลผลกลางว่างลง ในลักษณะมัลติโปรแกรมมิ่งนี้หน่วยประมวลผลกลางจะไม่อยู่เฉย โดยระบบปฏิบัติการจะคัดเลือกโปรแกรมงานอื่นที่พร้อมจะถูกประมวลผลมาให้หน่วยประมวลผลกลางทำการดำเนินต่อไปโดยทันที นั่นคือหน่วยประมวลผลกลางจะเปลี่ยนไปทำงานที่พร้อมเข้าประมวลผลเช่นนี้ไปเรื่อยๆ และในที่สุดงานแรกที่ค้างไว้ก็จะวนกลับมาพร้อมให้ทำการประมวลผลอีก เนื่องจากสิ่งที่รออยู่นั้นสำเร็จลุล่วงไปแล้ว ซึ่งเมื่อหน่วยประมวลผลกลางว่าง ก็จะหันกลับมาทำงานแรกนั้นต่อไปลักษณะของมัลติโปรแกรมมิ่งนี้ มีตัวอย่างที่เห็นได้ชัดในชีวิตประจำวันโดยทั่วไป เช่น ผู้จัดการบริษัทสั่งเลขานุการ ให้ติดต่อกับผู้จัดการของอีกบริษัทหนึ่ง ขณะที่เลขาฯ หมุนโทรศัพท์ติดต่อ ผู้จัดการผู้นั้นก็สามารถหันไปทำงานอื่น รอจนเลขาฯ ติดต่อได้แล้ว จึงหันกลับมาคุยโทรศัพท์อาจถือได้ว่า ระบบมัลติโปรแกรมมิ่ง เป็นต้นกำเนิดของศาสตร์ทางระบบปฏิบัติการก็ว่าได้ เนื่องจากระบบมัลติโปรแกรมมิ่งไม่ว่าจะเป็นแบบใดจะซับซ้อนมาก การที่จะทำงานหลายงานพร้อมๆ กัน ระบบปฏิบัติการต้องคอยควบคุมและจัดการองค์ประกอบต่างๆ เช่น การจัดสรรเนื้อที่ในหน่วยความจำหลักที่มีจำกัดให้แก่งานเหล่านั้น ทั้งต้องสับหลีกงานเมื่อมีงานหลายๆ งาน พร้อมที่จะให้ทำการประมวลผล และรวมถึงการจัดการอุปกรณ์รอบข้างให้มีประสิทธิภาพในการใช้งานสูง นอกจากนี้ความต้องการทรัพยากรของงานต่างๆ อาจเกิดความขัดแย้งและสับสน ในลักษณะนี้เรียกว่า deadlock ซึ่งระบบปฏิบัติการจำเป็นต้องหาทางป้องกันหรือแก้ไข และเมื่อมีการทำงานพร้อมๆ กันหลายงาน ก็ต้องคำนึงถึงสวัสดิภาพ และความลับของงานแต่ละงานต่างๆ เหล่านี้เป็นต้น ซึ่งจะเห็นได้ในหัวข้อต่อๆ ไปว่า หัวข้อต่างๆ ในศาสตร์ด้านระบบปฏิบัติการ จะเกี่ยวพันกับจุดประสงค์ของการทำระบบมัลติโปรแกรมมิ่ง
3.1 ระบบแบ่งเวลา (Time Sharing)
ในสมัยแรกเริ่มผู้ใช้คอมพิวเตอร์ต้องเข้าจองและครอบครองเครื่อง ตลอดจนช่วงเวลางานของเขา เรียกได้ว่าเครื่องเป็นของผู้ใช้คนนั้นๆ โดยสมบูรณ์ ในช่วงเวลานั้นเขาสามารถทำอะไรๆ เกี่ยวข้องกับงานได้ตามประสงค์ เช่น แก้ไขโปรแกรม ตรวจสอบดูข้อมูลในหน่วยความจำหลัก ฯลฯ แต่เมื่อมีการผลักดันให้ใช้เครื่องอย่างมีประสิทธิภาพ เพราะเครื่องมีราคาแพงมากเกินกว่าจะปล่อยให้ผู้ใช้มานั่งขบคิดแก้ไขโปรแกรมอยู่หน้าเครื่องได้ ความสะดวกในการใช้เครื่องของผู้ใช้ก็ลดลงเรื่อยๆ ยิ่งเมื่อมีระบบป้อนงานแบบกลุ่มออกมาใช้เป็นที่แพร่หลาย ผู้ใช้ส่วนมากก็แทบไม่ได้เห็นเครื่องคอมพิวเตอร์เลย แต่เมื่อการใช้เครื่องแพร่หลายขึ้น ผนวกกับความก้าวหน้าของศาสตร์ด้านโปรแกรมระบบ ทำให้เกิดแรงผลักดันที่จะให้ผู้ใช้ได้เป็นเจ้าของเครื่องอีก หรืออย่างน้อยก็เสมือนว่า ผู้ใช้ได้เป็นเจ้าของเครื่องผู้เดียว
■การทำงานแบบโต้ตอบ (Interactive system)
ลักษณะการทำงานแบบป้อนงานเป็นกลุ่ม (batch processing) นั้น ผู้ใช้และเครื่องติดต่อกันโดยผ่านภาษาควบคุมงาน และผ่านผลลัพธ์ที่ได้ออกมาจากเครื่อง เรียกได้ว่าเป็นการสื่อสารแบบไร้สาย (off-line) คือไม่ได้ทำงานโดยตรงกับเครื่อง แต่เป็นลักษณะการทำงานโต้ตอบ (interactive system) ผู้ใช้ติดต่อกับเครื่องในลักษณะตามสาย (on-line) โดยผู้ใช้ได้รับผลสนองตอบจากเครื่อง หรือจากระบบปฏิบัติการหรือจากโปรแกรมของผู้ใช้เอง โดยทันทีหรือเกือบจะทันที หลังจากผู้ใช้ป้อนคำสั่งใดๆ เข้าไป ลักษณะการสื่อสารเช่นนี้ มักกระทำผ่านเทอร์มินัล (terminal) ซึ่งประกอบด้วยอุปกรณ์รับข้อมูล คือแป้นพิมพ์ดีด (keyboard) และอุปกรณ์แสดงผล คือจอภาพหรือเครื่องพิมพ์ (display / printer) ผนวกรวมอยู่เป็นอุปกรณ์เดียวกัน ในลักษณะนี้ผู้ใช้สามารถแก้ไขโปรแกรมสักเล็กน้อย แล้วสั่งให้ระบบปฏิบัติการแปลโปรแกรม และลองประมวลผลดู ซึ่งจะได้ผลลัพธ์ของการแปลและการประมวลผลออกมาบนจอภาพทันทีทันใด (ในระบบจริง จะล่าช้าบ้าง ขึ้นกับองค์ประกอบหลายประการ เช่น ขนาดของงาน ขีดความสามารถของเครื่อง ปริมาณงานในระบบ และลำดับความสำคัญของงานที่ป้อนเข้าไป เป็นต้น)
■ระบบโต้ตอบแบบมัลติโปรแกรมมิ่ง (Multiprogramming Interactive system)
ลักษณะการทำงานแบบโต้ตอบ จะเห็นได้ชัดในระบบปฏิบัติการของเครื่องขนาดเล็ก (microcomputer) ซึ่งปกติไม่มีการทำงานแบบมัลติโปรแกรมมิ่งอยู่แล้ว เนื่องจากผู้ใช้เป็นเจ้าของระบบทั้งหมด (ในขณะที่ทำงานอยู่) ความเร็วในการตอบสนอง (response time) ที่ผู้ใช้รู้สึกได้จะขึ้นกับชนิดและขนาดของงานที่ทำกับความเร็วของอุปกรณ์ต่างๆ ของเครื่องไมโครคอมพิวเตอร์เอง แต่ในการใช้ระบบตอบโต้กับเครื่องใหญ่ที่เป็นแบบมัลติโปรแกรมมิ่ง เครื่องมิได้เป็นของผู้ใดโดยเฉพาะ แต่ต้องเฉลี่ยการใช้งานออกไปและยังอาจมีการทำงานแบบกลุ่ม รวมถึงระบบ spooling อยู่ด้วย ดังนั้นหากจะให้ผู้ใดผู้หนึ่งได้รับการตอบสนองสูงสุดก็เป็นการปิดกั้นผู้ใช้และงานอื่นๆ ไป ดังนั้นในระบบมัลติโปรแกรมมิ่งจะต้องมีการประนีประนอมระหว่างอัตราการตอบสนองและความยุติธรรม ทั้งระหว่างผู้ใช้ระบบโต้ตอบด้วยกันเอง และระหว่างระบบโต้ตอบกับระบบทำงานแบบอื่นๆหลักการสร้างความยุติธรรมภายในกลุ่มผู้ใช้ระบบโต้ตอบคือ การแบ่งเวลา (time sharing) ของหน่วยประมวลผลกลางออกเป็นส่วน ๆ สำหรับผู้ใช้แต่ละคน เช่น หากมีหน่วยประมวลผลกลางที่สามารถประมวลผลได้หนึ่งล้านคำสั่งต่อวินาที และมีผู้ใช้ระบบโต้ตอบสิบคน ถ้าแบ่งการทำงานของหน่วยประมวลผลกลางออกเป็นสิบส่วนคือ หนึ่งแสนคำสั่งในแต่ละวินาที ซึ่งในแต่ละหนึ่งวินาทีผู้ใช้แต่ละคนจะมีความรู้สึกว่ากำลังทำงานโต้ตอบกับเครื่อง ซึ่งสามารถประมวลผลคำสั่งได้ จะเห็นว่าหากเครื่องมีขีดความสามารถสูง อัตราการตอบสนองผู้ใช้ก็จะสูงไปด้วย แต่หากมีผู้ใช้ระบบโต้ตอบมากอัตราการตอบสนองจะลดลง เพราะเครื่องต้องถูกแบ่งกระจายไปยังผู้ใช้บริการจำนวนมากกล่าวคือระบบแบ่งเวลาเป็นระบบที่มีผู้ใช้งานระบบหลายคน ซึ่งแต่ละคนก็จะมีเทอร์มินัลเป็นของตนเอง และสามารถใช้งานระบบหรือสามารถโต้ตอบกับเครื่องได้พร้อมๆ กันหลายคน เช่นระบบ ATM ของธนาคารต่างๆ ระบบสำรองที่นั่งเครื่องบิน ระบบการซื้อขายสินค้าในห้างสรรพสินค้า เป็นต้น ลักษณะการทำงานมีการแบ่งเวลาการใช้ซีพียูให้กับแต่ละคน ซึ่งผู้ใช้แต่ละคนจะมีความรู้สึกเสมือนว่าตนเองกำลังใช้ระบบอยู่แต่เพียง ผู้เดียว เนื่องจากความเร็วของซีพียูจึงทำให้สามารถตอบโต้กับผู้ใช้แต่ละคนได้อย่างทันทีทันใด ระบบแบ่งเวลานี้บางครั้งเรียกว่า ระบบมัลติยูสเซอร์ (Multi-User)ประโยชน์ของการทำงานแบบนี้ คือ ผู้ใช้ไม่ต้องรอผลลัพธ์จากการประมวลผลนาน นั่นคือคอมพิวเตอร์จะสามารถโต้ตอบกับผู้ใช้ได้อย่างทันอกทันใจ แต่ข้อเสียก็คือ จะมีค่าใช้จ่ายสูง เนื่องจากการ ประมวลผลแบบนี้จะต้องมีการเข้าถึงข้อมูลจากคอมพิวเตอร์ตลอดเวลา และจะต้องใช้ทรัพยากรในเครื่องมาก
3.2 ระบบตอบสนองฉับพลัน
ในงานบางประเภทความต้องการในอัตราตอบสนองจะสูงมาก นั่นคือเมื่อมีข้อมูลเข้ามาสู่เครื่อง จะต้องคำนวณประมวลผลให้เสร็จสิ้นและส่งผลลัพธ์ออกไปให้รวดเร็วที่สุดเท่าที่จะทำได้ เพราะงานระบบประเภทนี้เป็นงานที่วิกฤตในด้านการตอบสนอง ซึ่งโดยปกติจะเป็นการควบคุมเครื่องจักรกล เพราะการควบคุมนี้ต้องกระทำให้ทันกับสภาพที่แปรผันไปในงานมิฉะนั้นจะเสียหายได้ ตัวอย่างเช่น การควบคุมน้ำเข้าถังเก็บข้อมูลที่จะเข้าจะเป็นสัญญาณจากอุปกรณ์ตรวจสอบระดับน้ำ ซึ่งหากน้ำเต็มถังเครื่องคอมพิวเตอร์ต้องประมวลผลออกเป็นผลลัพธ์ในลักษณะของสัญญาณไฟฟ้าไปควบคุมให้เครื่องสูบน้ำเข้าถังหยุดทำงาน
งานระบบนี้ คำนึงถึงอัตราตอบสนองเหนือสิ่งอื่นใด ลักษณะการใช้หน่วยประมวลผลกลางจึงมักมีประสิทธิภาพต่ำมาก เพราะหน่วยประมวลผลกลางต้องว่างเกือบตลอดเวลา เพื่อที่จะได้ประมวลผลงานได้ทันทีเมื่อมีข้อมูลเข้ามา ในลักษณะนี้หน่วยงานที่ควบคุมจะกันคอมพิวเตอร์ทั้งระบบเอาไว้สำหรับงานแบบตอบสนองฉับพลันนี้โดยเฉพาะ หรือหากผนวกเข้ากับระบบประมวลผลอื่นๆ จะกำหนดให้งานประเภทนี้มีความสำคัญสูงสุด ตัวอย่างของงานประเภทนี้ได้แก่ การบันทึกข้อมูลทางด้านวิทยาศาสตร์ การตรวจสอบดูแลคนไข้ การควบคุมระบบโรงงาน และการแสดงผลบางประเภท เป็นต้น
4. ระบบเอนกประสงค์ (General purpose system) ระบบปฏิบัติการรุ่นที่ 3 พ.ศ. 2509- 2512
ระบบปฏิบัติการในยุคนี้ถูกออกแบบให้เป็นระบบปฏิบัติการเอนกประสงค์ หมายถึง เป็นระบบปฏิบัติการที่สามารถใช้กับงานทั่วๆ ไปได้ ไม่ได้เจาะจงลงไปในลักษณะงานใดงานหนึ่ง ทั้งนี้เป็นเพราะเหตุผลทางการค้า ผู้เขียนโปรแกรมระบบปฏิบัติการต้องการยอดขายให้ได้มาก จึงเขียนโปรแกรมระบบปฏิบัติการให้ใครก็ได้สามารถใช้ระบบปฏิบัติการของเขาได้ และใช้กับงานหลายประเภทได้ ส่งผลให้โปรแกรมระบบปฏิบัติการมีขนาดใหญ่ ทำงานช้าลง และราคาแพงขึ้น
5. ระบบเครือข่าย (Computer network) ระบบปฏิบัติการรุ่นที่ 4 พ.ศ. 2513 - ปัจจุบัน
เทคนิคการเขียนโปรแกรมระบบปฏิบัติการในรุ่นที่ 3 เริ่มถึงจุดอิ่มตัว กล่าวคือ ผู้ออกแบบโปรแกรมมีประสบการณ์ในการเขียนโปรแกรมระบบปฏิบัติการ และรู้ถึงวิธีที่จะเขียนโปรแกรมให้มีการทำงานได้อย่างมี ประสิทธิภาพสูงสุด ในยุคนี้โปรแกรมระบบปฏิบัติการ จึงถูกพัฒนาให้มีความสามารถในงานพิเศษด้านอื่นเพิ่มขึ้น
ระบบเครือข่ายคอมพิวเตอร์เริ่มมีการใช้กันอย่างแพร่หลายมากขึ้น ในระบบนี้ผู้ใช้สามารถใช้งานคอมพิวเตอร์ของผู้ใช้ติดต่อกับเครื่องคอมพิวเตอร์ของคนอื่นได้โดยผ่านทางเทอร์มินัลต่างๆ ซึ่งเชื่อมต่อโยงกันเป็นเครือข่ายและกระจายไปตามจุดต่างๆ เช่น ระบบคอมพิวเตอร์เครือข่ายภายในสำนักงานเดียวกัน มหาวิทยาลัยเดียวกัน เมืองเดียวกัน ประเทศเดียวกันหรือต่างประเทศก็ได้ ซึ่งขึ้นอยู่กับขีดความสามารถของระบบปฏิบัติการ
6. ระบบฐานข้อมูล (Database System)
โดยทั่วไประบบปฏิบัติการทำงานต่างๆ เพื่อบริการแก้ผู้ใช้ทุกกลุ่มในทุกๆ ด้าน ซึ่งรวมถึงโปรแกรมหลากหลายชนิด แต่สำหรับระบบฐานข้อมูลที่ต้องการให้มีการทำงานที่เฉพาะเจาะจงโดยเน้นที่ฐานข้อมูลขนาดใหญ่ ดังนั้นระบบปฏิบัติการทั่วไปอาจจะไม่เหมาะสมกับงานด้านนี้ จึงต้องมีการพัฒนาขึ้น โดยสร้างในรูปแบบของส่วนการทำงานเพิ่มเติมที่เชื่อมโยงกับระบบปฏิบัติการเดิม หรือสร้างเป็นระบบปฏิบัติการฐานข้อมูล (Database operating system) โดยให้มีการประมวลผลฐานข้อมูลแบบรวม หรือสร้างเป็นระบบปฏิบัติการฐานข้อมูลที่มีการสนับสนุนให้มีการประมวลผลแบบกระจาย แต่ทั้งนี้จะต้องสนับสนุนแนวความคิดเรื่องการปฏิบัติการที่เกิดขึ้นกับข้อมูลเป็นสำคัญ ซึ่งได้แก่ การจัดเก็บและการค้นคืนข้อมูลได้ถูกต้องและรวดเร็ว การจัดการกับข้อมูลที่มีปริมาณมหาศาลได้อย่างมีประสิทธิภาพ การควบคุมการเข้าใช้ข้อมูลพร้อมกัน และการกู้คืนได้เมื่อเกิดปัญหากับระบบ นอกจากนี้ยังมีส่วนเชื่อมโยงกับผู้ใช้ทีทำให้เรียนรู้และทำงานได้ง่าย

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

Drive A-B อยู่ไหน C-Z คิดถึงน๊ะ

       ใน My Computer ปัจจุบันจะแสดง Drive C: เป็นDriveเริ่มต้น แล้ว Drive AและB หายไปไหน? คำตอบก็คือ มันถูกสำรองใว้ (Reserve) 2 Drive ใว้เผื่อใครจะใช้ Flopy Disk เนื่องจากคอมพิวเตอร์ในยุคแรก ๆ จะต้องใช้ แผ่น Floppy Disk ในการ Boot เครื่องหรือใช้ในการโอนถ่ายข้อมูลระหว่างกัน
       ***คอมพิวเตอร์สามารถตั้งชื่อ Drive ได้ตั้งแต่ A-Z

วันอังคารที่ 17 สิงหาคม พ.ศ. 2553

15 ปี Internet Explorer

วันนี้เมื่อ 15 ปีที่แล้วเป็นวันแรกที่ไมโครซอฟท์เปิดตัว Internet Explorer หรือที่เรียกกันว่า IE รุ่น 1.0 ภายในไม่กี่เดือนหลังจากนั้นไมโครซอฟท์ก็เร่งเปิดตัวรุ่น 2.0 และรุ่น 3.0 ตามลำดับดังนี้

รุ่น 1.0 วันที่ 15 สิงหาคม 1995

รุ่น 2.0 วันที่ 22 พฤศจิกายน 1995

รุ่น 3.0 วันที่ 13 สิงหาคม 1996

รุ่น 4.0 กันยายน 1997 โดยรวมเข้าเป็นส่วนหนึ่งของ Windows Explorer

รุ่น 5.0 วันที่ 18 มีนาคม 1998

รุ่น 6.0 (มหานิยม) วันที่ 27 สิงหาคม 2001

รุ่น 7.0 วันที่ 18 ตุลาคม 2006

รุ่น 8.0 วันที่ 19 มีนาคม 2009

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



ที่มา - International Business Times, Wikipedia

คอมพิวเตอร์เป็นแบบกี่บิต

        วิธีตรวจสอบเครื่องคอมพิวเตอร์ว่าเป็นเครื่องแบบกี่บิต อย่างง่าย ๆ

        1.คลิ๊ก start > run


         2.พิมพ์คำว่า msinfo32.exe
         3.ดูที่ System Type จะแสดงข้อมูล  X86 ก็เป็น CPU แบบ 32 บิท , ถ้า X64 ก็เป็น CPU แบบ 64 บิท


วันจันทร์ที่ 16 สิงหาคม พ.ศ. 2553

คอมพิวเตอร์เบื้องต้น

คอมพิวเตอร์คืออะไร
                คอมพิวเตอร์มาจากภาษาละตินว่า Computare ซึ่งหมายถึง การนับ หรือ การคำนวณ พจนานุกรม ฉบับราชบัณฑิตยสถาน  พ.ศ.2525 ให้ความหมายของคอมพิวเตอร์ไว้ว่า "เครื่องอิเล็กทรอนิกส์แบบอัตโนมัติ ทำหน้าที่เหมือนสมองกล ใช้สำหรับแก้ปัญหาต่างๆ ที่ง่ายและซับซ้อนโดยวิธีทางคณิตศาสตร์"
ประวัติความเป็นมาของคอมพิวเตอร์
              แรกเริ่มมนุษย์ดำเนินชีวิตโดยไม่มีการบันทึกสิ่งใด มาจนกระทั่งได้มีการติดต่อค้าขายของพ่อค้าชาวแบบีลอน(Babylonian) การจดบันทึกข้อมูลต่างๆ ลงบน clay tabletsจึงได้ถือกำเนิดขึ้น และอุปกรณ์ที่ช่วยในการคำนวนระหว่างการติดต่อซื้อขายก็ได้ถือกำเนิดขึ้นเช่นกัน อุปกรณ์คำนวณในยุคแรกได้แก่ ลูกคิด(abacus)ซึ่งก็ยังคงใช้กันต่อๆ มาจนถึงปัจจุบัน
clay tablets (แผ่นดินเหนียว)
                พ.ศ. 2185 นักคณิตศาสตร์ชาวฝรั่งเศส Blaise Pascal ได้สร้างเครื่องกลสำหรับการคำนวณชื่อ pascaline ในปี
                พ.ศ. 2215 Gottfried Von Leibniz นักคณิตศาสตร์ชาวเยอร์มันได้พัฒนา pascaline โดยสร้างเครื่องที่สามารถ บวก ลบ คูณ หาร และถอดรากได้ แต่ก็ไม่มีผู้ใดทราบว่ามีความแม่นยำขนาดไหน
                พ.ศ. 2336 นักคณิตศาสตร์ชาวอังกฤษ Chales Babbage ได้สร้างดิฟเฟอเรนซ์แอนจิน difference engine ที่มีฟังก์ชันทางตรีโกณมิติต่างๆ โดยอาศัยหลักการทางคณิตศาสตร์ และคิดว่าจะสร้างแอนะลีติคอลเอนจิน (analytical engine ) ที่มีหลักคล้ายเครื่องคอมพิวเตอร์ทั่วไปในปัจจุบัน จึงมีผู้ยกย่องว่าเป็นบิดาของคอมพิวเตอร์และเป็นผู้ริเริ่มวางรากฐานคอมพิวเตอร์ในปัจจุบัน
    Herman Hollerith ได้คิดบัตรเจาะรูและเครื่องอ่านบัตร
พ.ศ. 2480 Howard Aiken สร้าง automatic calculating machine เพื่อเชื่อมโยงเทคโนโลยีทั้งทาง electrical และ mechanical เข้ากับบัตรเจาะรูของ Hollerith ด้วยความช่วยเหลือของนักศึกษาปริญญาและวิศวกรรมของ IBM สำเร็จในปี พ.ศ. 2487 โดยใช้ชื่อว่า MARK I การทำงานภายในตัวเครื่องถูกควบคุมอย่างอัตโนมัติด้วย electromagnetic relays และ arthmetic counters ซึ่งเป็น mechanical ดังนั้น MARK I จึงนับเป็น electromechanical computers และต่อมา Dr. John Vincent Atanasoff และ Clifford Berry ได้สร้างเครื่อง ABC ( Atanasoft-Berry Computer ) โดยใช้หลอดสูญญากาศ ( vacuum tubes) 
               พ.ศ. 2483 Dr.John W. Mauchy และ J. Presper Eckert Jr. พัฒนาเพิ่มเติมบนหลักการออกแบบพื้นฐานของ Dr. Atanasoff เพื่อสร้าง electronic computer เครื่องแรกชื่อ ENIAC แต่ยังไม่เป็คอมพิวเตอร์ชนิดเก็บโปรแกรมได้ ( stored program ) จึงได้รับการพัฒนาเป็นเครื่อง EDVAC ซึ่งอาศัยหลักการ stored program สมบูรณ์และได้มีการพัฒนาเป็นเครื่อง EDSAC และพัฒนาเป็นเครื่อง UNIVAC ( Universal Automatic Computer ) ในที่สุด
UNIVAC
องค์ประกอบระบบงานคอมพิวเตอร์
         คอมพิวเตอร์ทำงานอย่างเป็นระบบ (System) หมายถึงภายในระบบงานคอมพิวเตอร์ ประกอบด้วยองค์ประกอบย่อยที่มีหน้าที่เฉพาะ ทำงานประสานสัมพันธ์กัน เพื่อให้งานบรรลุตามเป้าหมาย ในระบบงานคอมพิวเตอร์
        การที่มีเครื่องคอมพิวเตอร์เพียงอย่างเดียว จะยังไม่สามารถทำงานได้ด้วยตัวเอง ซึ่งหากจะให้คอมพิวเตอร์ทำงานได้อย่างเป็นระบบและมีประสิทธิภาพแล้ว ระบบคอมพิวเตอร์ควรจะประกอบไปด้วยองค์ประกอบคือ บุคลากร (Peopleware) ฮาร์ดแวร์ (Hardware) ซอฟต์แวร์ (Software) ข้อมูล(Data) สารสนเทศ(Information) และกระบวนการทำงาน ( Procedure )

หลักการทำงานของคอมพิวเตอร์
      หลักการทำงานของคอมพิวเตอร์เกิดจากองค์ประกอบต่าง ๆ เริ่มด้วยเมื่อมีการกดปุ่มเครื่องคอมพิวเตอร์ โปรแกรมหรือชุึดคำสั่งที่อยู่ในหน่วยความจำหลัก จะทำการตรวจสอบอุปกรณ์ต่างๆให้พร้อมที่จะทำงาน (POST : Power On Selt Test)  เมื่อตรวจสอบเสร็จคอมพิวเตอร์จะแสดงให้เห็นว่าพร้อมที่จะทำงาน ก็จะมีการป้อนคำสั่งหรือโปรแกรมหรือข้อมูลโดยผ่านหน่วยรับข้อมูล แล้วนำไปเก็บไว้ที่หน่วยความจำหลัก ต่อจากนั้น หน่วยประมวลผลกลางก็จะทำการตามคำสั่งของโปรแกรมซึ่งเรียกว่า การประมวลผล แล้วนำผลลัพธ์ที่ได้เก็บไว้ที่ หน่วยความจำ และจะแสดงผลลัพธ์ผ่านหน่วยแสดงผลเมื่อมีคำสั่งให้แสดงผลลัพธ์
การทำงานของคอมพิวเตอร์ประกอบด้วยหน่วยสำคัญ 5 หน่วย คือ
     หน่วยรับข้อมูล (Input Unit)
     หน่วยประมวลผลกลาง (Central Processing Unit : CPU)
     หน่วยความจำหลัก (Main Memory)
     หน่วยความจำสำรอง (Secondary Memory)
     หน่วยแสดงผล (Output Unit)
     
      หน่วยรับข้อมูล (Input Unit) คือ เครื่องมือหรืออุปกรณ์ที่ทำหน้าที่รับข้อมูลรับข้อมูลหรือคำสั่ง จากผู้ใช้เข้าสู่เครื่องคอมพิวเตอร์ โดยแปลงข้อมูลหรือคำสั่งนั้นให้อยู่ในรูปแบบอิเล็กทรอนิกส์ เพื่อทำการประมวลผลต่อไป อุปกรณ์รับข้อมูล ได้แก่ Mouse,Keyboard,Joy Sticks,Scanner เป็นต้น
    หน่วยประมวลผลกลาง (Central Processing Unit : CPU) คือ ส่วนที่ทำหน้าที่ปฏิบัติตามคำสั่งที่รับมาจากหน่วยรับข้อมูล และควบคุมการปฏิบัติงานของเครื่องคอมพิวเตอร์ หน่วยประมวลผลกลางประกอบด้วยส่วนสำคัญ 2 ส่วน คือ
     หน่วยควบคุม (Control Unit) ทำหน้าที่ควบคุมการทำงานของอุปกรณ์ต่างๆ ในระบบทั้งหมด ให้ทำงานอย่างถูกต้อง
      หน่วยคำนวณ (Arithmetic Logic Unit) ทำ หน้าที่ประมวลผลข้อมูลทางคณิตศาสตร์และทางตรรกะ เช่น การคำนวณทางคณิตศาสตร์ ได้แก่ การบวก ลบ คูณ หาร ,  การประมวลผลทางตรรกะ (AND , OR) ,การเปรียบเทียบค่าต่าง ๆ
     หน่วยความจำหลัก (Main Memory) เป็นหน่วยความจำที่อยู่ในเครื่องคอมพิวเตอร์ แบ่งออกได้เป็น 2 ประเภท คือ
        1. รอม (ROM : Read Only Memory) เป็นหน่วยความจำหลักที่
                    - ใช้บรรจุโปรแกรมสำคัญ ที่ใช้ในการสตาร์ทอัพเครื่อง
                    - เก็บโปรแกรมคำสั่งไว้อย่างถาวร
                    - ไม่ต้องใช้กระแสไฟฟ้าเลี้ยง ข้อมูลก็จะยังคงอยู่
                    - อ่านข้อมูลได้อย่างเดียว และการเข้าถึงข้อมูลเป็นแบบสุ่ม
       2. แรม (RAM : Random Access Memory)
                    - ทำหน้าที่เก็บข้อมูลที่รับเข้ามาจากหน่วยรับข้อมูล เพื่อนำไปประมวลผล
                    - ทำหน้าที่เก็บผลลัพธ์ที่ได้ขณะทำการประมวลผลซึ่งยังไม่ใช่ผลลัพธ์สุดท้าย
                    - ทำหน้าที่เก็บผลลัพธ์ที่ได้จากการประมวลผลซึ่งเป็นผลลัพธ์สุดท้าย
                    - ทำหน้าที่เก็บชุดคำสั่งต่างๆ เพื่อใช้ในการประมวลผล
                    - เป็นหน่วยความจำที่เก็บข้อมูลหรือโปรแกรมไว้ชั่วคราว
                    - สามารถอ่านหรือเขียนทับข้อมูลลงไปได้ตามต้องการ ถ้าไฟดับข้อมูลจะสูญหาย
                    - การเข้าถึงข้อมูลเป็นแบบสุ่ม
     
      หน่วยความจำสำรอง (Secondary Memory) หน่วยความจำสำรอง เป็นหน่วยความจำที่ใช้เก็บข้อมูล และโปรแกรมที่ต้องการใช้งานในคราวต่อไปได้ ซึ่งสามารถบรรจุข้อมูลและโปรแกรมได้เป็นจำนวนมาก
อุปกรณ์ที่เป็นหน่วยความจำสำรอง ได้แก่
       จานแม่เหล็ก (Magnetic Disk) สามารถเข้าถึงข้อมูลได้โดยตรง (Direct Access) ได้แก่ ฮาร์ดดิสก์ และฟล็อปปี้ดิสก์
       เทปแม่เหล็ก (Magnetic Tape) สามารถบันทึกและเข้าถึงข้อมูลแบบเรียงลำดับ (Sequential Access) การบันทึกทำโดยสร้างสนามแม่เหล็กลงบนเนื้อเทป
       จานแสง (Optical Disk) เป็นสื่อที่ใช้บันทึกข้อมูลได้ปริมาณมากสามารถอ่านและบันทึกข้อมูลด้วยแสงเลเซอร์ เช่น CD , DVD เป็นต้น
      หน่วยแสดงผล (Output Unit) คือ อุปกรณ์ที่ทำหน้าที่แสดงผลลัพธ์ที่ได้จากการประมวลผลการแสดงผลลัพธ์ แบ่งเป็น 2 แบบ คือ
       แสดงผลทางบนจอภาพ การแสดงผลทางจอภาพ เรียกได้อีกอย่างว่าเป็น Soft Copy คือ จะแสดงผลลัพธ์ขณะที่มีกระแสไฟฟ้าอยู่ อุปกรณ์คือ จอภาพคอมพิวเตอร์ทั่วไป ซึ่งภาพบนจอประกอบด้วยจุดหรือ pixel หลายๆ pixel สามารถแสดงผลความละเอียดได้หลายระดับ เช่น 640 X 480 จุด , 800 X 600 จุด , 1024 X 786 จุด เป็นต้น
      แสดงผลทางเครื่องพิมพ์ หรือเรียกได้อีกอย่างว่าเป็น Hard Copy คือ สามารถแสดงผลลัพธ์คงทนอยู่นาน ไม่ต้องใช้กระแสไฟฟ้าเลี้ยง อุปกรณ์ที่ใช้ คือ Printer ระบบจำนวนและรหัสแทนข้อมู