computer science : คอมพิวเตอร์เบื้องต้น ตอนที่ 1

คอมพิวเตอร์  = อุปกรณ์อิเล็คทรอนิกส์ที่ใช้จัดเก็บและประมวลผลข้อมูล

การประมวลผล =  การคิด การจัดระเบียบข้อมูล เพื่อให้ได้ผลลัพธ์ตามต้องการ ซึ่งทำได้โดยการคำนวณ เคลื่อนย้ายข้อมูล การเปรียบเทียบ และการวิเคราะห์ข้อมูล โดยอาจใช้สูตร ทางคณิตศาสตร์ หรือวิทยาศาสตร์ วิธีการต่าง ๆเหล่านี้ ทำได้โดย อาศัยคำสั่งหรือโปรแกรมที่เขียนขึ้น [1][2]

โปรแกรมคอมพิวเตอร์  = โปรแกรมคอมพิวเตอร์ (อังกฤษ: computer program) เป็นชุดคำสั่งที่ปฏิบัติงานเฉพาะเมื่อคอมพิวเตอร์สั่งกระทำการ (execute) คอมพิวเตอร์เครื่องหนึ่งต้องการใช้โปรแกรมในการสั่งงาน และกระทำตามชุดคำสั่งในหน่วยประมวลผลกลาง [3]

องค์ประกอบของคอมพิวเตอร์
องค์ประกอบหลักแยกได้สองส่วน
1. ฮาร์ดแวร์ (hardware) หมายถึงชิ้นส่วนต่างๆของคอมพิวเตอร์
2. ซอฟต์แวร์ (software) หมายถึงชุดคำสั่งที่จัดทำขึ้นสั่งการให้ฮาร์ดแวร์ทำงานตามกำหนด

อุปกรณ์ฮาร์ดแวร์  ที่สำคัญได้แก่
1. หน่วยประมวลผลกลาง (Central Processing Unit, CPU)
2. หน่วยความจำ (Memory)
3. อุปกรณ์จัดเก็บข้อมูล (Data Storage)
4. อุปกรณ์สำหรับนำข้อมูลเข้า (Input Devices)
5. อุปกรณ์แสดงผล หรือ นำข้อมูลออก (Output Devices)
6. อุปกรณ์สื่อสาร (Communication Devices)



ซอฟต์แวร์
เพื่อให้สามารถสั่งการคอมพิวเตอร์ได้ต้องสื่อสารกับคอมพิวเตอร์ให้ได้เสียก่อน การสื่อสารกับคอมพิวเตอร์ไม่ใช้ภาษาที่มนุษย์สื่อสารระหว่างมนุษย์ด้วยกัน แต่จะใช้ภาษาที่เรียกว่า Programming Language  แบ่งได้เป็น

1. Machine Language (Computer native language) ใช้เลขฐานสอง (binary digits) ยากต่อการเข้าใจและแก้ไข  เช่น 1101101010011010  ต่อมาได้มีการพัฒนาภาษาที่เรียกว่า Assembly  Language โดยการใช้ศัพท์ภาษาอังกฤษบางคำมาแทนตัวเลขฐานสอง เช่น  ต้องการให้คอมพิวเตอร์หาผลลัพธ์ของ 2 + 3 จะเขียนแทนด้วย add 2, 3, result ซึ่งง่ายต่อการอ่าน แก้ไขมากขึ้น แต่คอมพิวเตอร์ยังเข้าใจ Machine Language อยู่ ดังนั้นจึงต้องมี ตัวแปลภาษา (Compiler) มาช่วยแปลอีกขั้นตอนหนึ่ง




การเขียนชุดคำสั่งด้วย Assembly Language ผู้เขียนจำเป็นต้องเข้าใจการทำงานของ CPU ที่กำลังจะใช้งานด้วย ในบางครั้งก็เรียก Assembly Language ว่า "Low Level Language"

2.  High Level Language  การใช้ภาษา Low-level Language คือต้องศึกษาการทำงานของ CPU ที่จะใช้งาน มองอีกด้านคือสิ่งนี้กลายเป็นอุปสรรคเมื่อต้องการนำชุดคำสั่งไปใช้งานบน CPU ที่ต่างกัน จึงได้มีการพัฒนาภาษากลุ่มที่เรียกว่า High-level Language ขึ้นมาเพื่อลดอุปสรรคข้อนี้ ภาษาในกลุ่มนี้มีความใกล้เคียงกับภาษาอังกฤษมากขึ้นผลพลอยได้ตามมาคือเรียนรู้ง่ายขึ้น

ชุดคำสั่งที่เขียนด้วยภาษากลุ่มนี้เรียกว่า "Source Code" หรือ "Source Program" เช่นเดียวกับ Low-level Language ซึ่งต้องอาศัยตัวแปลภาษามาช่วย ตัวแปลภาษาสำหรับ High-level language มีสองแบบคือ Interpreter และ Compiler

Interpreter ทำการอ่าน Source code มาจำนวนหนึ่ง แล้วทำการแปลให้เป็น Machine Language หรือ Byte Code ซึ่งคอมพิวเตอร์จะทำงานได้ทันที

Compiler ทำการอ่าน Source code ทั้งหมดมาแล้วทำแปลออกมาเป็น Machine Language แล้วจัดเก็บไว้ในรูปแบบของไฟล์ก่อนนำไปใช้งาน เรียกว่า Binary File  บางครั้งก็เรียก Application Program





ระบบปฏิบัติการ (Operating System) ถือว่าเป็นซอฟต์แวร์ที่มีความสำคัญที่สุด  ที่ได้ยินชื่อบ่อยได้แก่ Linux, Windows, iOS, MacOS, Android, DOS เป็นต้น





หน้าที่หลักของระบบปฏิบัติการคือ
1.  ควบคุม ติดตาม กิจกรรม เช่น

  • การรับข้อมูลจาก Input  devices
  • การแสดงผลออกทาง output devices  
  • ดูแลการทำงานของอุปกรณ์จัดเก็บข้อมูล
  • การรักษาความปลอดภัย ไม่ทำงานกับผู้ใช้ที่ไม่ได้รับอนุญาต
2.  การจัดสรรทรัพยากร เช่น
  • การจัดเวลาการใช้งาน CPU
  • การจัดสรรเนื้อที่บน Storage devices
3. Scheduling ในปัจจุบันคอมพิวเตอร์สามารถรองรับการทำงานของโปรแกรมได้มากกว่า 1 โปรแกรมพร้อมกัน Multiprocessing, Multi-programming, Multi-thread
Multi-programming = ระบบที่ program มากกว่า 1 program ทำงานพร้อมกัน
Multi-thread = ระบบที่ program  1 program ทำงานพร้อมกันในหลาย ๆ งาน (1  program ถูกแบ่งการทำงานออกเป็นหลายงานย่อย)
Multiprocessing  = ระบบที่ CPU มากกว่า 1 CPU (นับเป็น Core) ทำงานพร้อมกัน โดยจะนำผลลัพธ์สุดท้ายมารวมกัน



















เอกสารอ้างอิง
[1] https://th.wikipedia.org/wiki/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%A1%E0%B8%A7%E0%B8%A5%E0%B8%9C%E0%B8%A5
[2] http://www.bs.ac.th/2548/e_bs/g7/raim/in4page1.html
[3] https://th.wikipedia.org/wiki/%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B8%84%E0%B8%AD%E0%B8%A1%E0%B8%9E%E0%B8%B4%E0%B8%A7%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C

ความคิดเห็น