การจัดบล๊อคและบัฟเฟอร์ (Blocking and Buffering)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เฉลยใบงานที่ 1 องค์ประกอบและหลักการทำงานของคอมพิวเตอร์
Advertisements

การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
BY KIADTIPONG YORD. CHANDRA 2004 :: COMPUTER NETWORK ระบบเครือข่ายคอมพิวเตอร์ และการกระจาย Computer Network and Distributed LAN Software เกียรติพงษ์ ยอดเยี่ยมแกร.
การทำงานของระบบคอมพิวเตอร์
คอมพิวเตอร์ช่วยสอน (CAI)
หน่วยที่ 3 ภาษาคำสั่งพื้นฐานที่ใช้เขียนโปรแกรม PLC
ซอฟต์แวร์ระบบที่รู้จักกันดี คือซอฟต์แวร์ควบคุมการปฏิบัติการ ของคอมพิวเตอร์ที่เรียกว่า ระบบปฏิบัติการ ระบบปฏิบัติการเป็นชุดคำสั่งที่ใช้ควบคุมระบบฮาร์ดแวร์และ.
โครงงาน เรื่อง อินเทอร์เน็ต(Internet)
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม
เครือข่ายคอมพิวเตอร์
วัตถุประสงค์ 1. แสดงรายการของโปรแกรม ที่และสถานการทำงานของ โปรแกรม 2. แสดงรายการบริการที่มี บน ระบบปฏิบัติการ 3. แสดงกราฟการใช้ ตัว ประมวลผล 4. แสดงกราฟการทำงานการ.
วิชา. การใช้โปรแกรมสำเร็จรูปในชีวิตประจำวัน บทที่ 2
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
ซอฟต์แวร์และการเลือกใช้
องค์ประกอบของคอมพิวเตอร์
การ สืบค้นสารสนเทศ อินเทอร์เน็ต แหล่งสารสนเทศของ ภาษาไทย แหล่งสารสนเทศของ ภาษาอังกฤษ นายวรรธนะ คำสอนทา ID ED1B B06.
งานเทคโนโลยีสารสนเทศ ( หน่วยเทคโนโลยี บริการ ) โครงการอบรมพัฒนาบุคลากร คณะแพทยศาสตร์ และ โรงพยาบาล มหาวิทยาลัยนเรศวร งานเทคโนโลยีสารสนเทศ ( หน่วยเทคโนโลยี
ARRAY & PRINTF สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
เตชิษฐ์ เรือง ไพศาล.  คอมพิวเตอร์เป็นอุปกรณ์ไฟฟ้าที่ใช้ไฟฟ้า กระแสตรงทำงาน  ข้อมูลภายในเป็นข้อมูลดิจิตอล  …..  แทนข้อมูลเหล่านี้ด้วยแรงดันไฟฟ้า.
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
บทที่ 2 โครงสร้างและหน้าที่ การทำงาน ของระบบคอมพิวเตอร์
INTRODUCE SUBJECT สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
หลักสูตรการอบรมวิทยากรตัวคูณ ระดับจังหวัด ครั้งที่ 1 ภาคกลางตอนบน ( วันที่สอง ) ณ โรงแรมริชมอนด์ จังหวัดนนทบุรี ระหว่างวันที่ 9 – 11 มีนาคม 2558.
Microsoft Powerpoint Microsoft Powerpoint อีกโปรแกรม หนึ่งของชุด Microsoft Office โปรแกรม Powerpoint นี้ใช้สำหรับการทำพรีเซ็นเทชั่น หรือการนำเสนอข้อมูล.
MTH 261 File Management. File Management File Management จะอธิบายเกี่ยวกับการเขียน ส่วนจัดการแฟ้มข้อมูล เราสามารถที่จะเขียน โปรแกรมเพื่อเรียกใช้แฟ้มข้อมูลที่เรามี
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
งานวิชา เทคโนโลยี สารสนเทศ 4/3 เรื่อง INPUT และ OUTPUT จัดทำโดย นาย ชาญชัย ศรีน้อย เลขที่ 3 นาย ณัฐดนัย จันทมาศ เลขที่ 4 นาย อุดมศักดิ์ เกื้อนะ เลขที่
วิชาเทคโนโลยีสารสนเทศเพื่อชีวิต
Chapter 10 Data Files.
Material requirements planning (MRP) systems
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
Microsoft Access 2007 การสร้างฟอร์ม
โครงสร้างโปรแกรมภาษา C
การจัดการโปรเซส T.Kunlaya Charoenmongkonvilai
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โปรแกรมย่อย อาจารย์สมเกียรติ ช่อเหมือน
IP-Addressing and Subneting
IP-Addressing and Subneting
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การพัฒนาการใช้งานในระบบเว็บ
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
Information and Communication Technology Lab2
ดิจิตอล + เลขฐาน บทที่ 2.
โครงสร้างภาษา C Arduino
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
บทที่ 1 โครงสร้างคอมพิวเตอร์พื้นฐาน
Virus Computer.
Basic Input Output System
บทที่ 13 การจัดการไฟล์ (File Management)
บทที่ 1 ระบบสารสนเทศ (Information System)
ชุดที่ 1 ไป เมนูรอง.
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
บทที่ 8 การควบคุมระบบสารสนเทศทางการบัญชี : การควบคุมเฉพาะระบบงาน
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
Object-Oriented Programming Paradigm
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
หน่วยความจำ Memory Unit
บทที่ 2 การประมวลผลข้อมูล
Week 5 C Programming.
เอกสารประกอบการสอน รายวิชา ประติมากรรมเพื่อการพาณิชย์ (Commercial Sculpture) โดย อาจารย์สันติสุข แหล่งสนาม ภาคการศึกษาที่ 2/2559.
หน่วยการเรียนรู้ การเขียนโปรแกรมภาษาขั้นพื้นฐาน เรื่อง โครงสร้างพื้นฐาน HTML 5 รหัส รายวิชา ง23102 การงานอาชีพและเทคโนโลยี 6 กลุ่มสาระ การงานอาชีพและเทคโนโลยี
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
สถาปัตยกรรมของฐานข้อมูล
ฟังก์ชันของโปรแกรม Computer Game Programming
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
เมนูหลัก ส่วนประกอบของคอมพิวเตอร์ ผลการเรียนรู้ที่คาดหวัง
ใบสำเนางานนำเสนอ:

การจัดบล๊อคและบัฟเฟอร์ (Blocking and Buffering) Apirada Thadadech

การกำหนดบล็อกของ Record การทำงานของ CPU เร็วมากเมื่อเทียบกับการทำงานของสื่อเก็บข้อมูล การอ่าน-เขียนข้อมูล ของผู้เขียนโปรแกรม ( ผู้ใช้จะเขียน ) ครั้งละ 1 Logical Record การอ่าน-เขียนข้อมูลจากสื่อบันทึกข้อมูล ครั้งละ 1 Record แล้วประมวลผลนั้น ทำให้ประสิทธิภาพในการทำงานด้อยลง การรวบรวมข้อมูลเป็นกลุ่ม ๆ แล้วเขียน หรืออ่านครั้งละหลายๆ Record ส่งผลให้การประมวลผลมีประสิทธิภาพมากขึ้น 02/08/62 อภิรดา ธาดาเดช

การกำหนดบล็อกของ Record (ต่อ) การอ่าน-เขียนข้อมูล ครั้งละหลาย ๆ Record เรียกว่า Blocking การอ่าน-เขียนข้อมูลลงบนสื่อ (Disk , Tape) จะกระทำครั้งละ 1 หน่วยของสื่อนั้นๆ เช่น Disk เขียนครั้งละ 1 Cluster (อาจจะเป็น 1 Physical Record หรือจำนวนเท่าของ Record) Block คือหน่วยที่เล็กที่สุดที่ข้อมูลถูกอ่าน หรือเขียนไปยังสื่อบันทึกข้อมูล 02/08/62 อภิรดา ธาดาเดช

ข้อดีของการทำ Blocking ช่วยลดเวลาในการเข้าถึง และเรียกใช้ไฟล์ข้อมูล ลดจำนวนครั้งในการอ่าน-เขียนข้อมูลลงบนสื่อ ลดเวลาในการทำงานของโปรแกรม 02/08/62 อภิรดา ธาดาเดช

ตัวอย่างการทำ Blocking ข้อมูล 10,000 Record เขียนบน Floppy Disk จะเขียน 10,000 ครั้งถ้าทำ Block แต่ถ้า จัด Block ละ 10 Record จะเขียน 1,000 ครั้ง (สมมติ เวลาที่ใช้เขียน .008 ms/ครั้ง) 02/08/62 อภิรดา ธาดาเดช

ตัวอย่างการทำ Blocking จาก Ex. ถ้าจัด Block เป็น 10,000 จะดีที่สุดเพราะสั่งให้เขียนเพียง 1 ครั้งเท่านั้น 02/08/62 อภิรดา ธาดาเดช

ข้อจำกัดของการทำ Blocking 02/08/62 อภิรดา ธาดาเดช

การส่งผ่านชุด Record จากสื่อจัดเก็บสู่หน่วยความจำ Main Memory PROGRAM Input Rec. Work Area Get Disk Read 02/08/62 อภิรดา ธาดาเดช

การจัดการบัฟเฟอร์ Buffer คือพื้นที่ (holding area) ที่ประสานเชื่อม ระหว่างการทำงานของสื่อจัดเก็บข้อมูลที่ทำงานได้ช้ากว่า CPU การจัดการประสานการทำงานของ Buffer เรียกว่า Buffer Interface แบ่งได้เป็น 2 ลักษณะ Deblocking Routine (Buffering Input ) เป็นกระบวนการอ่านข้อมูลจาก File Blocking Routine (Buffering Output) เป็นกระบวนการเขียนข้อมูลเก็บไว้ใน File 02/08/62 อภิรดา ธาดาเดช

การจัดการบัฟเฟอร์ (ต่อ) การจัดการ Buffer มีหลายวิธี เช่น Single Buffering, Double Buffering หรืออาจมีหลายๆ Buffer ก็ได้ โดยประสิทธิภาพในการทำงานต่างกัน Logical Read , Logical Write Physical Read , Physical Write 02/08/62 อภิรดา ธาดาเดช

องค์ประกอบของระบบคอมพิวเตอร์ที่เกี่ยวข้องกับการประมวลผลของ I/O I/O Channel ประสานกับ Control Unit อ่าน/เขียนไปยัง Device - Device -Device -Device -Device CPU Main Memory Channel Control Unit 02/08/62 อภิรดา ธาดาเดช

การอ่านข้อมูล 1 Record จาก File (Single Buffer) Data storage Block #1 Block #2 Block #n - 1 Block #n Rec.1 Rec.2 Rec.3 Rec.4 Rec.5 Record i Get#1 File Blocked Records การทำงานส่วนที่เป็น Buffering Input 02/08/62 อภิรดา ธาดาเดช

การเขียน Record เพื่อเก็บใน File (Single Buffer) Data storage Buffer Block #1 Rec.1 Rec.2 Rec.3 Rec.4 Rec.5 Record i Put #1 Put #5 eof การทำงานส่วนที่เป็น Buffering Output 02/08/62 อภิรดา ธาดาเดช

การคำนวณเวลาการเก็บแบบ Buffer และไม่เป็น Buffer สมมติมีข้อมูล 2,000 Record แต่ละ Record มีขนาด 100 Byte เก็บใน File A แบบไม่กำหนดขนาด Block เก็บใน File B แบบ กำหนดขนาด 25 Record ต่อ 1 Block การส่งผ่านข้อมูล 100 Byte เวลา .008 ms การอ่าน-เขียน Physical Record ใช้ Overhead Time = 50 ms อยากทราบว่าเก็บแบบ File A ,File B ใช้ เวลาเท่าไร 02/08/62 อภิรดา ธาดาเดช

วิธีทำ File A = 2000 x (50 + .008) ms = 100016 = 1.667 นาที = 4016 File B = (2000/25) x (50 + (.008 x 25)) = 4016 = 0.067 นาที 02/08/62 อภิรดา ธาดาเดช

การอ่านข้อมูล 1 Record จาก File (Double Buffer) File Blocked Records Data storage Block #1 Block #2 Block #n - 1 Block #n Rec.1 Rec.2 Rec.3 Rec.4 Rec.5 Record i Get#2 Rec.6 Rec.7 Rec.8 Rec.9 Rec.10 Get#5 Buffer 2 02/08/62 อภิรดา ธาดาเดช

การเขียน Record เพื่อเก็บใน File (Double Buffer) Data storage Block #1 Rec.1 Rec.2 Rec.3 Rec.4 Rec.5 Record i Put #1 Put #5 eof Rec.6 Rec.7 Rec.8 Rec.9 Rec.10 Put #6 02/08/62 อภิรดา ธาดาเดช

องค์ประกอบในการประมวลผลแฟ้มข้อมูล Rec.1 Rec.2 BOF Programmer buffer Buffer fp1 fp2 file Read/write EOF EOF 02/08/62 อภิรดา ธาดาเดช

การใช้ block ในภาษา COBOL DATA DIVISION. FILE SECTION. FD filename LABEL RECORD RECORDS IS ARE STANDARD OMITTED [ BLOCK CONTAINS integer1 TO integer2 RECORDS ] CHARACTERS ] [ RECORD CONTAIN integer3 TO integer4 CHARACTERS ] [ DATA RECORD IS dataname1 ] RECORDS ARE 02/08/62 อภิรดา ธาดาเดช

ตัวอย่างการนำไปใช้งาน DATA DIVISION. FILE SECTION. FD MATER LABLE RECORD ARE STANDARD BLOCK CONTAINS 20 RECORDS DATA RECORD IS MASTER-REC. 02/08/62 อภิรดา ธาดาเดช

การใช้ block ในภาษา C คำสั่งที่เกี่ยวข้อง setbuf(*fp,buf) setvbuf(*fp,buf,mode,size) mode มี 3 แบบ _IONBF, _IOFBF, _IOLBF fflush(*fp) fflushshall() นำข้อมูลจากทุก buffer เขียนลง file บนสื่อ 02/08/62 อภิรดา ธาดาเดช

ตัวอย่างการนำไปใช้งาน #include <stdio.h> char mybuf[8192]; void main() { FILE *f, *g, *h; f = fopen(“f1.dat”,”r+”); g = fopen(“f2.dat:,”r+”); h = fopen(“f3.dat:,”r+”); setvbuf(f,NULL,_IONBF,0); setvbuf(g,mybuf,_IOFBF,sizeof(mybuf)); setvbuf(h,NULL,_IOFBF,1024); } 02/08/62 อภิรดา ธาดาเดช