วันอังคารที่ 20 กันยายน พ.ศ. 2554

ฐานข้อมูล

ระบบฐานข้อมูล (database) หมายถึง กลุ่มของข้อมูลที่มีความสัมพันธ์กันและถูกนำมาจัดเก็บในที่เดียวกัน โดยข้อมูลอาจเก็บไว้ในแฟ้มข้อมูลเดียวกันหรือแยกเก็บหลาย ๆ แฟ้มข้อมูล แต่ต้องมีการสร้างความสัมพันธ์ระหว่างข้อมูลเพื่อประสิทธิภาพในการจัดการข้อมูลในการจัดเก็บข้อมูลในระบบฐานข้อมูลมีข้อดีกว่าการจัดเก็บข้อมูลในระบบแฟ้มข้อมูลพอสรุปประเด็นหลัก ๆ ได้ดังนี้
· มีการใช้ข้อมูลร่วมกัน (data sharing)
· ลดความซ้ำซ้อนของข้อมูล (reduce data redundancy)
· ข้อมูลมีความถูกต้องมากขึ้น (improved data integrity)
· เพิ่มความปลอดภัยให้กับข้อมูล(increased security)
· มีความเป็นอิสระของข้อมูล (data independency)
ระบบจัดการฐานข้อมูล
ระบบจัดการฐานข้อมูล(DBMS)ประกอบด้วยซอฟต์แวร์ที่ใช้ในการจัดการฐานข้อมูล, จัดเตรียมพื้นที่ในการเก็บ, การเข้าถึง,ระบบรักษาความปลอดภัย, สำรองข้อมูล และสิ่งอำนวยความสะดวกอื่นๆ ระบบจัดการฐานข้อมูลสามารถแบ่งหมวดหมู่ได้ตามแบบจำลองฐานข้อมูลที่สนับสนุน อาทิเช่น เชิงสัมพันธ์ หรือXML เป็นต้น แบ่งตามประเภทของคอมพิวเตอร์ที่สนับสนุน อาทิเช่น server cluster หรือ โทรศัพท์พกพา เป็นต้น แบ่งตามประภทของภาษาสอบถามที่ใช้ในการเข้าถึงฐานข้อมูล อาทิเช่น ภาษาสอบถามเชิงโครงสร้าง หรือXQuery แบ่งตามประสิทธิภาพในการ trade-offsอาทิเช่น ขนาดที่ใหญ่ที่สุด หรือ ความเร็วสูงสุด หรือ อื่นๆ เป็นต้น ในบาง DBMS จะครอบคลุมมากกว่าหนึ่งหมวดหมู่ เช่น สนับสนุนภาษาสอบถามได้หลายๆ ภาษา ยกตัวอย่างเช่น ในDBMS ที่นิยมใช้การอย่างแพร่หลาย MySQL, PostgreSQL, Microsoft Access, SQL Server,FileMaker,Oracle,Sybase, dBASE, Clipper,FoxPro อื่นๆ ในทุกๆ ซอฟต์แวร์ฐานข้อมูลจะมี Open Database Connectivity (ODBC) driver มาให้ด้วย เพื่ออนุญาติให้ฐานข้อมูลสามารถทำงานร่วมกับฐานข้อมูลแบบอื่นๆ ได้
การออกแบบฐานข้อมูล
การออกแบบฐานข้อมูล (DESIGNING DATABASES) มีความสำคัญต่อการจัดการระบบฐานข้อมูล (DBMS) ทั้งนี้เนื่องจากข้อมูลที่อยู่ภายในฐานข้อมูลจะต้องศึกษาถึงความสัมพันธ์ของข้อมูล โครงสร้างของข้อมูลการเข้าถึงข้อมูลและกระบวนการที่โปรแกรมประยุกต์จะเรียกใช้ฐานข้อมูล ดังนั้น เราจึงสามารถแบ่งวิธีการสร้างฐานข้อมูลได้ 3 ประเภท
1. รูปแบบข้อมูลแบบลำดับขั้น หรือโครงสร้างแบบลำดับขั้น (Hierarchical data model) วิธีการสร้างฐาน ข้อมูลแบบลำดับขั้นถูกพัฒนาโดยบริษัท ไอบีเอ็ม จำกัด ในปี 1980 ได้รับความนิยมมาก ในการพัฒนาฐานข้อมูลบนเครื่องคอมพิวเตอร์ขนาดใหญ่และขนาดกลาง โดยที่โครงสร้างข้อมูลจะสร้างรูปแบบเหมือนต้นไม้ โดยความสัมพันธ์เป็นแบบหนึ่งต่อหลาย (One- to -Many)
2. รูปแบบข้อมูลแบบเครือข่าย (Network data Model) ฐานข้อมูลแบบเครือข่ายมีความคล้ายคลึงกับฐาน ข้อมูลแบบลำดับชั้น ต่างกันที่โครงสร้างแบบเครือข่าย อาจจะมีการติดต่อหลายต่อหนึ่ง (Many-to-one) หรือ หลายต่อหลาย (Many-to-many) กล่าวคือลูก (Child) อาจมีพ่อแม่ (Parent) มากกว่าหนึ่ง สำหรับตัวอย่างฐานข้อมูลแบบเครือข่ายให้ลองพิจารณาการจัดการข้อมูลของห้องสมุด ซึ่งรายการจะประกอบด้วย ชื่อเรื่อง ผู้แต่ง สำนักพิมพ์ ที่อยู่ ประเภท
3. รูปแบบความสัมพันธ์ข้อมูล (Relation data model) เป็นลักษณะการออกแบบฐานข้อมูลโดยจัดข้อมูลให้อยู่ในรูปของตารางที่มีระบบคล้ายแฟ้ม โดยที่ข้อมูลแต่ละแถว (Row) ของตารางจะแทนเรคอร์ด (Record) ส่วน ข้อมูลนแนวดิ่งจะแทนคอลัมน์ (Column) ซึ่งเป็นขอบเขตของข้อมูล (Field) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้ เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ

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

 สามารถจำแนกหลักในการดำเนินการได้ 6 ขั้นตอน คือ
1.การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล
2.การเลือกระบบจัดการฐานข้อมูล
3.การออกแบบฐานข้อมูลในระดับแนวคิด
4.การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล
5.การออกแบบฐานข้อมูลในระดับกายภาพ
6.การนำฐานข้อมูลไปใช้และการประเมินผล

การออกแบบฐานข้อมูลในระดับตรรกะ
การออกแบบฐานข้อมูลในระดับตรรกะ หรือในระดับแนวความคิด เป็นขั้นตอนการออกแบบความสัมพันธ์ระหว่างข้อมูลในระบบโดยใช้แบบจำลองข้อมูลเชิงสัมพันธ์ ซึ่งอธิบายโดยใช้แผนภาพแสดงความสัมพันธ์ระหว่างข้อมูล (E-R Diagram) จากแผนภาพ E-RDiagram นำมาสร้างเป็นตารางข้อมูล (Mapping E-R Diagram to Relation) และใช้ทฤษฏีการNormalization เพื่อเป็นการรับประกันว่าข้อมูลมีความซ้ำซ้อนกันน้อยที่สุด ซึ่งการออกแบบเชิงตรรกะนี้จะบอกถึงรายละเอียดของ Relation , Attribute และ Entity


Google Plus


         Google+ (Google Plus) คือโครงการของ Google ที่มีความพยายามมานานหลังจากมีการออกมายอมรับก่อนหน้านั้นว่า Google ขยับตัวช้าไปในเรื่องนี้แถมยังมีข้อเสนอพิเศษให้กับพนักงานที่สามารถคิดโครงการ Social Networks ให้ออกมาประสบความสำเร็จอีกด้วย
โดยก่อนหน้านี้เราคงเห็นปุ่ม
 Google + ที่เปิดตัวกันไปก่อนหน้านี้แล้วซึ่งหลายคนก็ยังมีข้อสงสัยกันอยู่ว่ากดไปแล้วมันจะได้อะไร แหล่งปลายทางของข้อมูลที่กด Google+
วันนี้ทาง
 Google เปิดตัว Social Networks ของตัวเองแล้วโดยใช้ชื่อว่า Google + (Plus) นั่นเองโดยเข้าไปเล่นกันได้ที่ https://plus.google.com

Google Plus มีของเล่นหลักๆให้เล่น 4 อย่าง
 1. Cycles คือ เอาไว้จัดกลุ่มว่าเราจะให้บุคคลที่เรากำลังติดตามอยู่ เค้าไปอยู่กลุ่มไหน ไม่ว่าจะเป็น เพื่อน ครอบครัว ที่ทำงาน แก๊งบ้าดารา แก๊งปั่นจักรยาน แก๊งตัดอ้อย แก๊งกรีดยาง เราสามารถจัดให้พวกเข้าเหล่านั้นเข้าไปอยู่ในแก๊งที่เราต้องการได้
2. Hangouts คือโปรแกรม VDO chat ต้องติดตั้งก่อน ออกแนวๆว่า เราเลือก Cycles หนึ่งหรือรวมๆ เลยก็ได้ แล้วเลือก Hangouts ในส่วนนี้ ผู้เล่น Google Plus ที่กำลังเหงาๆ อยากจะ Hangouts กับเพื่อนๆในกลุ่ม อยากจะเม้าอยากจะทำนู้นทำนี่ก็เปิดทิ้งไว้ เผื่อที่ใครจะเหงาหรืออยากจะคุยกับคนอื่นเบื่อๆอะไรแบบนี้ก็จะเข้ามาเจอกันโดยที่เราไม่จำเป็นต้องขอกล้องไป ตอบกล้องกลับเหมือน msn เหมือนเรากำลังออกไปข้างนอก (ท่องอินเตอร์เน็ต) แล้วไปเจอเพื่อนโดยบังเอิญ(เปิด Hangoutsทิ้งไว้) แล้วก็คุยกัน มันก็เกิดสังคมขึ้นมาอย่างสนุกสนาน หลายๆ คน อาจจะเข้าใจว่า เหมือน Face time หรือ VDO call    
3. Huddles คือ โปรแกรม instant massage หรือว่าการส่งข้อความโดยตรง ทั่วไปเหมือน Skype msn face book chat        แชทกันเม้ากันเป็นกลุ่มๆไปไม่มีอะไรแตกต่างมากมาย
4. Sparks คือ Feed  เรื่องที่เราสนใจ  หากเราสนใจเรื่องไหนเราก็แค่ add  เข้ามาในใน Google+  จากนั้นข่าวสารเรื่องที่เราสนใจก็จะมีให้เราเข้ามาอ่านอยู่เรื่อยๆ หากเรามีเรื่องที่จะแชร์ เราก็สามารถแชร์ลงใน Sparks 

วิธีใช้
1. จัดการ Circle
add เพื่อนแล้วลากเข้า Circle เพื่อแบ่งกลุ่ม ซึ่งการแบ่ง Circle ย่อยๆ นี้จะไม่มีผู้ใช้คนอื่นมารู้ได้ว่าเราให้เพื่อนคนไหน  ไป อยู่ Circle ไหน  เป็นข้อดีมากๆ เราอาจจะแบ่ง Circle เป็นระดับเช่น เพื่อนที่ไม่เคยคุยกันก็ใส่Circle a, เพื่อนรู้จักกันใส่ Circle b, เพื่อสนิท Circle c เป็นต้น
2. หน้า Stream คล้ายๆหน้า Wall ของ Face book
เวลาโพส Topic จะต้องเลือกก่อนว่าจะให้สิทธิ์ใครมองเห็น Topic
Public คือเห็นหมดเลย
Your Circle คือให้เห็นเฉพาะทุกคนที่เรา Add ไว้ใน Circle
Extended Circle คือให้คนใน Circle ของเพื่อนมองเห็นด้วย
Limit เป็น status ที่บอกว่าข้อความนี้กำหนดให้เห็นเฉพาะบาง Circle หรือบางคนเท่านั้น
2.1 นอกจากนี้กรณีที่เราเพิ่งเพิ่มเพื่อนใหม่เข้า Circle x เพื่อนคนนี้ก็จะมองเห็นทุกๆ Topic ที่เราเคยแชร์ไว้ให้Circle x ทันที
2.2   ข้อดีเหนือ Face book คือ Topic ใครที่กำหนดเป็น public เราจะเข้าไปเขียน comment ได้เลยโดยไม่ต้องอยู่ใน Circle ของเจ้าของ Topic
3. เทคนิคการโพสข้อความ [+Alex Quinn]
• _
italic text italic text
• *
bold text bold text
• -
strikethrough text (ใช้ได้เฉพาะกับภาษาอังกฤษเท่านั้น:+Chankit Yongpiyakul)
• mention คนอื่น@Alex Quinn หรือ +Alex Quinn 
 +Alex Quinn
• หลังจากโพสแล้วคลิกที่ปุ่ม dropdown arrow (
ตรงขวาบน จะสามารถ Disable Comments จากคนอื่น หรือ Disable Reshape ไม่ให้คนเอา topic เราไป reshape ได้
• กด “k” หรือ “j” เพื่อเลื่อนขึ้นลงใน stream ได้
• กด Tab แล้วตามด้วย Enter หลังจากเขียน comment เสร็จ จะส่งข้อความให้ได้ สะดวกกว่าเอาเมาส์คลิก
4. Event ทุกอย่างที่เกิดขึ้นเกี่ยวกับเราจะมี Notification เตือน ดูทางมุมขวาบน กล่องสีแดงๆ
เช่น
มีคนมาตอบใน topic ของเรา
เราไปโพส comment ใน topic คนอื่นแล้วมีคนมาโพสต่อจากเรา ก็จะมี notification มา
มีคน mention เรา   นอกจากนี้เราสามารถคุยโต้ตอบใน Topic นั้นๆ ผ่าน notification ได้เลย อันนี้สุดยอด สะดวกกว่า  Face book มากๆ
สรุป
ข้อเด่นของ G+ ที่สัมผัสได้ชัดเจนคือ เราสามารถ Add ใครก็ได้มาอยู่ใน Circle ของเรา โดยไม่ต้องรอการอนุมัติใดๆ
ด้วยพลังของการจัดการ Circle ที่ดี ทำให้เราสามารถกำหนดการพูดคุยออกเป็นหลายๆ ระดับได้ ทำให้สามารถสร้างวงพูดคุยเฉพาะกลุ่มได้อย่างสะดวกมาก
- Notification เป็นศูนย์รวมการโต้ตอบกับ Event ต่างๆ ได้อย่างยอดเยี่ยม
ส่วนการรักษาความปลอดภัยของ Google  สามารถระบุการตั้งค่าการรักษาความปลอดภัยบนหน้าโปรไฟล์ของ Google ของคุณส่วนหนึ่งที่เวลา

วันเสาร์ที่ 13 สิงหาคม พ.ศ. 2554

Pipeline


Pipeline คือ เทคนิคทำให้คำสั่งหลายๆ คำสั่งทำงานพร้อมๆ กัน แต่ละส่วนจะทำงานให้เสร็จในส่วนของมัน แต่ละส่วนจะทำงานต่างกัน แต่ละส่วนเรียกว่า "Pipe Stage" และแต่ละส่วนจะทำงานต่อเนื่องเป็นทอด ๆ เขาเลยเปรียบเทียบ pipeline กับสายพานเครื่องจักรไงครับ เวลาที่ใช้เคลื่อนที่จากส่วนหนึ่ง (Pipe Stage) ไปยังอีกส่วนหนึ่ง เราเรียกว่า "Machine Cycle" เนืองจากทุกๆ ส่วนทำงานพร้อมกันดังนั้น ค่า Machine Cycle จะดูจากเวลาที่ใช้ใน Pipe Stage ที่ช้าที่สุด

...เป้า หมายสูงสุดของ Pipeline ก็คือ ต้องการให้ความยาวของ Pipeline แต่ละขั้นตอนเกิดความสมดุล ถ้าขั้นตอนแต่ละขั้นตอนสมดุลกันแล้วเวลาที่ใช้ต่อ 1 คําสั่งใน Pipeline จะเท่ากับการใช้ Pipeline จะส่งผลทําให้เวลาการทํางานต่อคําสั่ง 1 คําสั่งลดลง

...ดังนั้น ถ้ามีจำนวน Pipeline เยอะๆ ก็จะช่วยให้การประมวลผลคำสั่งได้เร็วยิ่งขึ้นไงครับ แต่ทั้งนี้ก็ขึ้นอยู่กับการออกแบบ Pipeline และองค์ประกอบอื่นๆ ด้วยครับ เพราะว่าคำอธิบายการทำงานมันก็เป็นแค่ทฤษฎีครับ

จริงๆ มันก็คือ การออกแบบขั้นตอนการประมวลต่อ 1 คำสั่งให้ใช้เวลาน้อยที่สุดอ่ะครับ จะได้ไม่เปลือง Clock และถ้ามีหลายๆ Pipeline มันก็จะช่วยประมวลผลพร้อมๆ กัน ทำให้เพิ่มความเร็วในการประมวลได้ครับ ไม่จำเป็นต้องเพิ่มความถี่สัญญาณนาฬิกา (Clock) ให้สูงเสมอไปไงครับ

pipeline จะแบ่งการทำงาน 1 งาน ออกเป็นงานย่อยแล้วทำพร้อมๆกัน เช่นการทำงานของ CPU แบ่งเป็นสมมติว่าแบ่งเป็น 5 ขั้นตอน
1. อ่านคำสั่ง
2. แปลคำสั่ง
3. ประมวลผล
4. อ่านข้อมูลจากหน่วยความจำ
5. เขียนค่ากลับไปยังรีจิสเตอร์
พอ อ่านคำสั่งที่ไปแล้วก็จะเริ่มแปลคำสั่งในขณะที่แปลคำสั่งก็อ่านคำสั่งต่อไป เลย (เหมือนที่คุณ PSNR อธิบายแหละ) สมมติว่าแต่ละงานใช้เวลาอย่างละ 1 วินาที ถ้าทำทีละอย่าง 1 คำสั่งจะใช้เวลา 5 วินาที แต่พอใช้ pipeline จะทำให้โดยรวมแล้ว(ไม่นับ 4 วินาทีแรก) ทำได้ 1 คำสั่งใน 1 วินาที ทีนี้มันมีปัญหาตรงที่ว่าการทำงานแต่ละงานบางครั้ง(จริงๆแล้วส่วนใหญ่)มัน ไม่ได้ทำคำสั่งตามลำดับ 1 2 3 .. เช่นการเขียนโปรแกรมโดยใช้เงื่อนไข IF คือพอ pipeline ประมวลผลเสร็จสรุปได้ว่าต้องกระโดดไปทำงานที่คำสั่งอื่น แต่ว่าไอ้คำสั่งที่มันอ่านเข้ามาแล้วมันเป็นคำสั่งถัดไปซึ่งไม่ใช่คำสั่งที่ ต้องการ (เพราะตอนที่อ่านเข้ามามันยังไม่รู้เลยว่าจะต้องกระโดดไปเนื่องจากคำสั่ง IF ที่เป็นเงื่อนไขยังทำงานไม่เสร็จ) ทีนี้จะแก้ยังไงดี ก็แก้โดยการล้างท่อทิ้ง แล้วเริ่มอ่านคำสั่งที่ถูกต้อง(ที่จะใช้งาน) เข้ามาแทน ซึ่งจะทำให้เสียเวลามากขึ้นเพราะต้องไปเริ่มกระบวนการใหม่ (คือเริ่มตั้งแต่ 1 อ่านคำสั่ง สรุปแล้วจะมี 5 วินาทีที่ทำได้แค่คำสั่งเดียวเกิดขึ้นอีกครั้ง) ถ้ามีคำสั่งที่เป็นเงื่อนไขมากๆ การทำงานของ pipeline ก็จะลดประสิทธิภาพลงเพราะต้องกลับไปเริ่มกระบวนการใหม่ตั้งแต่ขั้นตอนที่ 1 มากขึ้น ก็เลยมีการแก้ปัญหานี้โดยการเพิ่มจำนวน pipeline ให้มากขึ้น เพื่อให้แต่ละ pipeline เดาว่าคำสั่งถัดไปมันน่าจะเป็นคำสั่งอะไรดีแล้วอ่านเข้ามาถ้าโชคดีก็จะมี pipeline สักอันนึงที่เดาถูกว่าคำสั่งถัดไปเป็นอะไร แล้วก็ใช้ผลจาก pipeline ที่เดาถูกอันนั้น แต่ถ้าโชคร้ายไม่มีอันไหนเดาถูกเลยต้องล้างท่อทิ้งทั้งหมดอยู่ดี

ดัง นั้นการมีหลาย pipeline จึงไม่ได้ช่วยกันทำงานพร้อมๆ กัน ตัวอย่างเช่น เดิมมี 1 pipeline ทำ 1 คำสั่งเสร็จใน 1 วินาที(โดยเฉลี่ย) ถ้าเพิ่มเป็น 2 pipeline จะทำได้เสร็จใน ครึ่งวินาที มันจะไม่เป็นอย่างนั้นครับ แต่มันจะช่วยลดปริมาณการล้างท่อลง

โครงสร้างของระบบ คอมพิวเตอร์


โครงสร้างหลักๆ ของระบบคอมพิวเตอร์ในส่วนของฮาร์ดแวร์ ได้แก่ อุปกรณ์นำข้อมูลเข้า/ออก หน่วยประมวลผลกลาง และหน่วยความจำ โดยที่หน่วยประมวลผลกลางและตัวควบคุมอุปกรณ์เชื่อมต่อกันด้วยบัส (BUS) เพื่อให้เข้าถึงหน่วยความจำหลักที่จะใช้ร่วมกันได้ หน้าที่หลักอันหนึ่งของระบบปฏิบัติการคือการควบคุมอุปกรณ์นำข้อมูลเข้า/ออก เพื่อทำงานให้กับโปรเซสที่ร้องขอจากอุปกรณ์ที่มีอยู่ในระบบ โดยการส่งคำสั่งไปยังอุปกรณ์เหล่านั้น ดักจับสัญญาณการขัดจังหวะ (สัญญาณอินเทอร์รัพต์) จัดการกับข้อผิดพลาดที่เกิดขึ้นและมีส่วนเชื่อมโยงระหว่างอุปกรณ์ต่างๆ และส่วนอื่นๆ ของระบบคอมพิวเตอร์ให้ใช้งานได้และไม่ผูกติดกับประเภทของอุปกรณ์ ซึ่งจำแนกโครงสร้างหลักของระบบคอมพิวเตอร์ได้ดังนี้
2. หน่วยความจำ (Memory) เป็นส่วนที่สร้างขึ้นเพื่อนำมาเก็บข้อมูลหรือคำสั่งที่คอมพิวเตอร์หรือผู้ใช้ต้องการเอาไว้ใช้ โดยแยกเป็นหน่วยความจำหลักซึ่งมีหน้าที่ติดต่อกับซีพียูโดยตรง ซึ่งประกอบด้วยหน่วยความจำ ROM และ RAM และหน่วยความจำสำรองซึ่งเป็นส่วนหนึ่งของอุปกรณ์นำข้อมูลเข้า/ออก ที่มีหน้าที่นำมาเก็บ ข้อมูลตามที่ต้องการ
3. หน่วยประมวลผลกลาง (Central Processing Unit : CPU) เป็นส่วนที่ทำหน้าที่ปฏิบัติตามคำสั่ง ที่รับมาจากส่วนของอุปกรณ์นำเข้ามาประมวลผลเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ การปฏิบัติตามคำสั่งหรือการประมวลผลนี้เรียกว่า การเอ็กซีคิ้ว (execute) หรือการรันโปรแกรม

ซีพียู (CPU)


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

ความหมายของสารสนเทศ


สารสนเทศ (Information) หมายถึง ข้อมูลที่มีสาระอยู่ในตัว สามารถสื่อความหมายให้เกิด
การเข้าใจกับผู้ที่ต้องการใช้ข้อมูลนั้น และสามารถที่จะนำไปใช้ประโยชน์ต่อไปได้
การที่จะได้มาซึ่งสารสนเทศที่ต้องการนั้นจะต้องนำข้อมูล (data) ที่เกี่ยวข้องกับเรื่องที่สนใจ
มาทำการประมวลผลเสียก่อน โดยข้อมูลที่นำมาประมวลผลนั้นอาจจะมาจากแหล่งข้อมูลทั้ง
ภายในหรือภายนอกองค์การ

ความหมายของเครื่องคอมพิวเตอร์


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