ระบบไฟล์bls.buu.ac.th/~f52325/report_last_semester/%ba%b7%b7%d5... · web viewต...

56
324 บบบบบ10 File System สสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสส สสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส ส สสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสส สสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสส 10.1 File Concept สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสส ส สสสสสสสสสสสสสสสสสสสสสสสสสสส สสส สสสสสสสส สสสสสสสสสสสสสสสสสส สสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสส สสสสสสสสสส สสสสสสสส สสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส

Upload: others

Post on 24-Feb-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

324

บทท10

File System

สำ�หรบผใชสวนใหญ ระบบไฟลเปนแงมมมองเหนก�รปฏบตก�รระบบ ทำ�ใหกลไกในบรรทดเกบและทงเข�ถงขอมลและโปรแกรมของระบบปฏบตก�รและผ ใชทงหมดของคอมพวเตอรระบบ ทระบบแฟมประกอบดวยสองชดเจนสวนเปนชดของแฟมแตละจดเกบขอมลทเกยวของและโครงสร�งไดเรกทอรซงจดและจะใหขอมลเกยวกบแฟมต�ง ๆ ในระบบ ระบบแฟมอยบนอปกรณทเร�สำ�รวจเตมในบทตอไปนแตล�มป�มทน ในบทนเร�พจ�รณ�แงของไฟลและทสำ�คญไดเรกทอรโครงสร�ง นอกจ�กนเร�ยงห�รออรรถศ�สตรของก�รแชรแฟมระหว�งหล�ยกระบวนก�รผใช และคอมพวเตอร สดท�ยห�รอเร�วธก�รจดก�รไฟลก�รปองกนจำ�เปนเมอเร�มผใชหล�ยและเร�ตองก�รควบคมว�ใครส�ม�รถเข�ถงไฟลและวธไฟลจะส�ม�รถ

10.1 File Conceptคอมพวเตอรทส�ม�รถเกบขอมลเกยวกบสอต�ง ๆ ก�รจดเกบ

เชนแมเหลกดสก เทปแมเหลก และก�รมองเหนดสก เพอใหระบบคอมพวเตอรจะสะดวกในก�รใช ระบบปฏบตก�รใหฟอรมอจคลดขอมลก�รเกบรกษ� ระบบปฏบตก�ร บทคดยอ จ�กก�ยภ�พสมบตของมนก�รเกบรกษ�อปกรณเพอกำ�หนดอจคลทจดเกบหนวย แฟมไฟลนนจะถกกำ�หนดต�มระบบปฏบตก�รและอปกรณทเปนสวนประกอบภ�ยใน ซงก�รเกบรกษ�ขอมลของอปกรณเหล�นนนจะเปนแบบทเปนหนอยคว�มจำ�หลกคอ ก�รจดจำ�จะไมห�ยไปเมอไมมพลงง�นเข�ม�เลยง

แฟมเปนชอเกบรวบรวมขอมลทเกยวของทบนทกอยในทเกบขอมล จ�กมมมองของผใชไฟลมขน�ดเลกทสดของก�รแบงสวนในก�รจดเกบ ซงขอมลนไมส�ม�รถเขยนไปยงหนอยคว�มจำ�รองได

325

เวนแตจะถกจดเกบภ�ยในแฟมของขอมล ปกตนนไฟลจะถกแสดงโดยท�งโปรแกรมซงจะแสดงขอมลของไฟลดวย ขอมลทอยในไฟล จะถกแสดงออกม�เปนตวเลข ต�มตวอกษรทอยข�งใน หรอเปนเลขฐ�นสอง ไฟลนนอ�จจะเปนอสระตอกนเชนไฟลของขอคว�มหรออ�จมก�รจดรปแบบไฟลทมคว�มเขมงวด โดยทวไป ไฟลจะมขน�ดเปน ยต ไบต บรรทดหรอแถว ซงแลวแตผสร�งจะใชง�น แนวคดของไฟลจะมเหมอนกนทวไปดงททกล�วม�

ขอมลในไฟลนนจะถกกำ�หนดโดยผสร�ง ขอมลของไฟลมหล�ยประเภท ทงทเปน ขอมล , กร�ฟ , ขอมลทเปนแถว, กร�ฟฟกภ�พ, ขอมลเสยง เปนตน โครงสร�งของไฟลนน จะถกกำ�หนดว�เปนจะชนดใดกตองอยทโครงสร�งของไฟล ชนดของไฟลทเปนขอคว�มจะประกอบไปดวยขอมลของตวอกษรอกขระต�ง ๆ อยในแตละบรรทด แหลงขอมลไฟลเปนลำ�ดบของชดคำ�สงทแยกออกม�และมหน�ททต�งกนออกไป ชนดไฟลทเปนวตถ จะมลำ�ดบของขอมลเปนไบตเข�ระบบปองกนของลงเกอร และยงมไฟล ทเปนชดของระบบปฏบตก�รทส�ม�รถนำ�ม�ใชไดโดยก�รรน

10.1.1 File Attributes แฟมทถกตงชอนนเพออำ�นวยคว�มสะดวกใหแกผใชกคอ

มนษย ชอมกจะมอกขระต�ง ๆ รวมกนอย เชน example.c บ�งระบบนนคว�มแตกต�งกนเรองขน�ดของตวอกษรในระบบจะไมมคว�มแตกต�งกน โดยไฟลนจะถกสร�งขนโดยผใชซงจะเปนอสระตอกน ตวอย�งผใชสร�งไฟล example.c และตองก�รแชรไปยงผใชร�ยอนโดยสงท�งอเมลหรอคดลอกข�มเครอข�ย สงผลใหผทอยปล�ยท�งกยงคงไดรบไฟล example.c เชนเดมไมเปลยนแปลง แอททรบวของไฟลแตกต�งกนเนองจ�กระบบปฏบตก�รแตโดยปกตจะประกอบดวยสงเหล�น

- ชอ ชอไฟลทเปนสญลกษณเปนเพยงขอมลทเกบไวในรปแบบทอ�นไดโดยมนษย.

326

- ตวระบ แทกทไมซำ�กนนมกจะเปนหม�ยเลขตวระบไฟลภ�ยในระบบแฟม

- ประเภท ขอมลนจำ�เปนสำ�หรบระบบทสนบสนนประเภทต�งๆของไฟล

- ตำ�แหนง ขอมลนเปนตวชไปยงอปกรณและตำ�แหนงของแฟมทอยในอ�รดส

- ขน�ด จะบอกขน�ดปจจบนของไฟล (ไบต หรอขน�ดอนๆ) ซงขน�ดสงสดจะถกกำ�หนดเอ�ไว

- ก�รปองกน จะใชควบคมสทธในก�รเข�ถงไฟลต�ง ๆ เชน ก�รอ�นเขยนไฟล

- วนเวล�ของผใช ขอมลนจะถกเกบไวเมอมก�รแกไขไฟลนในครงล�สดซงมประโยชนสำ�หรบปองกนคว�มปลอดภย

ขอมลเกยวกบไฟลทงหมดนนถกเกบอยในไดเรกทอรซงอยในตวจดเกบรอง โดยปกตไดเรกทอรจะประกอบไปดวยชอไฟลและร�ยละเอยดทไมซำ�กน รวมทงคณลกษณะของไฟล อ�จจะใชเวล�น�นในก�รบนทกขอมลเหล�น ในระบบทมอยหล�ยไฟลไดเรกทอรทเกบไฟลกจะมขน�ดใหญต�มไปดวย เนองม�จ�กไฟลในไดเรกทอรตองก�รพนทในก�รจดเกบขอมลเชนเดยวกบขอมลชนดอน ๆ

10.1.2 File Operations ไฟลจะมชนดเปนขอมลทจบตองไมได ก�รทจะกำ�หนดไฟล

ใหเหม�ะสมไดตองพจ�รณ�ตวดำ�เนนก�รทงหมดทอยในไฟล ระบบปฏบตก�รจะชวยสนบสนนท�งด�นก�รสร�ง เขยน และอ�นไฟล หรอบ�งทกเปนก�รลบหรอตดทอนไฟล ในก�รตรวจสอบไฟลนนระบบ

327

ปฏบตก�รจะใชพนฐ�นต�ง ๆ ทมอยในก�รตรวจสอบไฟล ก�รดำ�เนนก�รจะทำ�ไดง�ยคล�ยกบก�รเปลยนชอไฟล

- ก�รสร�งไฟล จะมอยสองขนตอนในก�รสร�ง ขนแรกตองรทว�งว�มอยในระบบหรอไม ซงก�รจกสรรทว�งนนจะกล�วไวในบทท 11 สองก�รสร�งไฟลใหมนนจำ�เปนตองสร�งอยในไดเรกทอร

- ก�รเขยนไฟล ในก�รเขยนไฟลเร�จะทำ�ใหขอมลถกเขยนขนทงชอไฟลและร�ยละเอยดทถกเขยนไปยงไฟล ก�รระบชอไฟลนนจะทำ�ใหส�ม�รถห�ไดว�ทตงของไฟลอยในไดเรกทอรไหน ระบบจะทำ�ก�รเกบตวชไปยงตำ�แหนงทห�เจอในครงถดไปทเขยนอกครง ก�รปรบปรงก�รชจะเกดขนทกครงเมอเกดก�รเขยนขน

- อ�นไฟล ห�กเร�ตองก�รอ�นไฟลเร�กตองรถงตำ�แหนงของไฟลในไดเรกทอร โดยตองห�ตวชไปยงตำ�แหนงทอยของไฟล ทกครงทมก�รอ�นไฟลตวชกจะมก�รอปเดต เนองจ�กเพอประหยดพนทและลดคว�มซำ�ซอนของระบบในก�รอ�นและเขยนไฟล

- ทเกบไฟลภ�ยในแฟม ตองมไดเรกทอรทเหม�ะสมทส�ม�รถคนห�ตำ�แหนงทตงได ไฟลชตำ�แหนงคอ ตำ�แหนงททำ�ก�รระบค�ของทเกบไฟล โดยไฟลนจะไดชอว�เปนไฟลทใชในก�รคนห�

- ก�รลบไฟล ในก�รลบไฟลเร�จำ�เปนตองรตำ�แหนงไฟลในไดเรกโทร โดยเร�จะพบว�มก�รเชอมโยงกนของไฟลทอยในไดเรกทอร ก�รลบไฟลจงตองร

ตำ�แหนงทแนนอน- ก�รตดทอนไฟล ผใชอ�จจะลบเนอห�ของไฟลในบ�งสวน

แทนทจะทำ�ก�รลบไฟลทงหมดแตทำ�ก�รตดทอนเนอห�บ�งสวนทไมเอ�แทน ซงชวยใหพนทในก�รจดเกบไฟลนอยลง

328

สงเหล�นคอหกพนฐ�นของตวดำ�เนนก�รทเปนชดทนอยทสดทจำ�เปนสำ�หรบตวดำ�เนนก�รกบไฟล ก�รดำ�เนนก�รอน ๆ ทนอกเหนอจ�กนกเกดจ�กก�รนำ�ตวดำ�เนนก�รพนฐ�นเหล�นเข�ม�ผสมผส�นก�รใชกนกจะเกดเปนตวดำ�เนนก�รรปแบบใหม นอกจ�กนเร�กยงตองก�รตวดำ�เนนก�รทอนญ�ตใหเร�ตดตอหรอตงค�ไดเองกบไฟลต�ง ๆ เชน เร�อ�จตองใชตวดำ�เนนก�รเพอตรวจสอบสถ�นะของไฟลว�เร�ส�ม�รถนำ�ไฟลนม�ใชไดหรอไม และไฟลนถกสร�งโดยเจ�ของหรอบคคลอน สวนใหญของไฟลทกล�วถงตวดำ�เนนก�รจะเกยวของกบก�รคนห�ไดเรกทอรเพอนำ�ม�ใชง�นต�ง ๆ เพอหลกเลยงคว�มซบซอนระบบจงตองมคำ�สงในก�รเรยกใช เชน เปด( ) หรอ ปด ( ) เมอไฟลมก�รถกดำ�เนนก�รระบบปฏบตก�รกจะจดจำ�คำ�สงเหล�นไวเพอง�ยในก�รเรยกใชในครงตอไป

ในบ�งระบบ เมอทำ�ก�รปดไฟล ไฟลดงกล�วกจะถกปดเองโดยอตโนมต เมอก�รทำ�ง�นหรอโปรแกรมดงกล�วเกดคว�มลมเหลว ระบบสวนใหญกจะใชวธก�รนในก�รเปดปดไฟล แตยงไงกต�มระบบปฏบตก�รกตองก�รคว�มชดเจนทเกดขนกบก�รใชง�น โดยระบบปฏบตก�รจะเชคค�คว�มถกตองในสทธของผใชเพอใหผทใชง�นส�ม�รถดำ�เนนก�รต�ง ๆ กบไฟลทใชได โดยสทธของก�รเข�ถงไฟลกจะถกเกบไวในพนทเลก ๆ ในระบบปฏบตก�ร สรปแลวมขอมลทเกยวของกบไฟลดงน

- ไฟลทเปนตวช ระบบจะไมตดต�มไฟลทกำ�ลงอ�น( ) และเขยน ( ) ไฟลอย แตระบบจะตดต�มก�รอ�นเขยนครงสดท�ย หรอกคอตำ�แหนงปจจบน ไฟลชตำ�แหนง ตวชของแตละกระบวนก�รจะไมซำ�กนดงนนจงตองมก�รจดเกบแยกคณลกษณะของไฟลบนดสก

- ไฟลทเปนตวนบ เนองจ�กไฟลถกปดโดยระบบปฏบตก�รซำ�แลวนนไฟลทมอยกมจำ�นวนม�กทำ�ใหเกดคว�มซบซนทำ�ให

329

ตองมตวคอยนบว�มอยกกระบวนก�รทมตวชอยเพอจะไดจดประเภทของก�รทำ�ง�นไดถก

- ตำ�แหนงบนดสกของไฟล สวนใหญก�รดำ�เนนก�รจะถกกระทำ�หรอแกไขกนภ�ยในไฟลอยแลวสวนขอมลทจำ�เปนจรง ๆ จะถกเกบอยในดสกทเปนหนวยคว�มจำ�เพอทจะทำ�ใหระบบทำ�ง�นไดอย�งสะดวกม�กขน

- สทธในก�รเข�ใช แตะละกระบวนก�รกมก�รเข�ถงไมเหมอนกน ขอมลทถกเกบเอ�ไวในกระบวนก�รกมม�ก จงตองมก�รกำ�หนดสทธในก�รเข�ใช เพอปองกนก�รขโมยขอมล โดยตองดจ�กคำ�ขอใชไฟลทรองขอเข�ม�

บ�งระบบปฏบตก�รนนกใหสงอำ�นวยคว�มสะดวกในก�รเชอมตอหรอเปดไฟลม�ใหดวย โดยจะมคยในก�รเปดไฟลเพอปองกนกระบวนก�รอนทเร�ไมตองก�รเข�ถงไฟล ไฟลทถกลอคมประโยชนสำ�หรบก�รใชไฟลรวมกนโดยหล�ย ๆ กระบวนก�ร เชนเร�ตองลอคไฟลเพอใหคนทจะจะใหจรง ๆ ม�แกไขในภ�ยหลง

นอกจ�กนยงอ�จจะใหระบบปฏบตก�รทแตกต�งกนส�ม�รถเข�ม�ใชหรอลอคไฟลรวมกนได โดยเมอมก�รลอคไฟลผใชง�นจะตองรว�ระบบปฏบตก�รทตนเองใชนนจะมกลไกในก�รปลดลอคไฟลทจะใชอย�งไรเพอใหเกดคว�มทเท�เทยมกน ผใชจงตองมคว�มสำ�คญดวยในก�รปลดลอกไฟลเหล�น

10.1.3 File type เมอเร�มก�รออกแบบระบบแฟมทอยในระบบปฏบตก�ร

เร�กตองพจ�รณ�ว�ระบบปฏบตก�รควรรจกและสนบสนนไฟลประเภทไหน เร�ตองรว�ระบบปฏบตก�รตองก�รไฟลประเภทไหนทส�ม�รถทำ�ง�นรวมกบไฟลในลกษณะทเหม�ะสมได เทคนคโดยทวไปในก�รใชประเภทของไฟลคอก�รทเร�รถงสวนหนงทอยในชอไฟล ชอจะแบงออกเปนสองสวน โดยชอและสวนทจะขย�ยจะถกคนดวยอกขระ(รปท 10.1) โดยในทนนนจะทำ�ใหระบบปฏบตก�รส�ม�รถ

330

แยกออกว�เปนไฟลประเภทไหน ระบบจะใชสวนขย�ยในก�รบอกประเภทของไฟลและประเภทของตวดำ�เนนก�รว�ส�ม�รถกระทำ�อะไรกบไฟลได โดยเฉพ�ะ .Com , .Exe และ .bat ทสวนขย�ยส�ม�รถรนไดโดยระบบปฏบตก�ร ซงไฟลประเภทนสวนใหญจะอยในรปแบบของรหส ASCII

อกตวอย�งของยทลตของประเภทไฟลทม�จ�กระบบปฏบตก�ร TOPS-20 ถ�ผใชพย�ย�มทจะรนไฟลทถกแกไข แหลงของไฟลใหมทแกไขกจะถกรวบรวมโดยอตโนมต โดยฟงกชนนจะทกใหผใชมนใจไดว�ขอผดพล�ดทเกดจ�กก�รรนจะเกดขนไดนอย ผใชจงส�ม�รถลดคว�มเสยงลงไดจ�กก�รทจะรนไฟลทเก�เกนไป โดยระบบปฏบตก�รจะตองแยกโครงสร�งของไฟลเพอทำ�ก�รตรวจสอบหรอแกไขใหได(เพอจะไดคอมไฟลเลอรไดอย�งถกตอง)

10.1.4 File Structure

331

ประเภทของไฟลนนยงส�ม�รถใชเพอแสดงโครงสร�งทอยภ�ยในของไฟลได ดงทไดกล�วไปบ�งแลวในสวนท 10.1.3 โดยโครงสร�งของไฟลจะตองตรงกบคว�มหม�ยของโปรแกรมทใชง�นอบ ก�รเพมเตมบ�งสวนของไฟลจะตองสอดคลองกบโครงสร�งทจำ�เปนของระบบปฏบตก�รตวอย�งเชน ระบบปฏบตก�รไดมก�รสร�งโครงสร�งเพอจะระบทอยในหนวยคว�มจำ� โดยก�รระบตำ�แหนงแรกของชดคำ�สง บ�งระบบปฏบตก�รไดขย�ยคว�มคดนเปนชดของระบบเพอสนบสนนโครงสร�งของไฟลกบชดคำ�สงพเศษสำ�หรบก�รดำ�เนนก�รจดก�รกบโครงสร�งของไฟล

โครงสร�งขอมล (File Structure) หม�ยถง ลกษณะก�รจดแบงพกดต�ง ๆ ของขอมลสำ�หรบแตละระเบยน (Record) ในแฟมขอมลเพอใหคอมพวเตอรส�ม�รถรบไปประมวลผลได ประกอบดวยสวนต�ง ๆ ดงน - บท (Bit : Binary Digit) บท (Bit : Binary Digit) คอ หนวยของขอมลทเลกทสดทเกบอยในหนวยคว�มจำ�ภ�ยในคอมพวเตอร ซง Bit จะแทนดวยตวเลขหนงตว คอ 0 หรอ 1 อย�งใดอย�งหนง เรยกตวเลข 0 หรอ 1 ว�เปน บท 1 บท

- ไบท (Byte) หรอ ตวอกขระ (Character) ไบท (Byte) หรอ ตวอกขระ (Character) คอ หนวยของขอมลทนำ�บทหล�ยๆบทม�รวมกน แทนตวอกษรแตละตว เชน A, B, …, Z, 0, 1, 2, … ,9 และสญลกษณพเศษอนๆ เชน $, &, +, -, *, / ฯลฯ โดยตวอกษร 1 ตวจะแทนดวยบท 7 หรอ 8 บท (1 บท แทนดวยตวอกษร 7 หรอ 8 บท) ซงตวอกษรแตละตวจะเรยกว� ไบท เชน ตว A เมอเกบอยในคอมพวเตอรจะเกบเปน 1000001 สวนตว B จะเกบเปน 1000010 เปนตน - เขตขอมล (Field) หรอคำ� (Word) เขตขอมล (Field) หรอคำ� (Word) คอ หนวยของขอมลทเกดจ�กก�รนำ�ตวอกขระหล�ยๆตวม�รวมกน เปนคำ�ทมคว�มหม�ย

332

- ระเบยน (Record) ระเบยน (Record) คอ หนวยของขอมลทมก�รนำ�เขตขอมลหล�ย ๆ เขตขอมล ทมคว�มสมพนธกนม�รวมกน หรอค�ของขอมลในแตละเขตขอมล - แฟมขอมล (File) แฟมขอมล (File) คอ หนวยของขอมลทมก�รนำ�ระเบยนหล�ย ๆ ระเบยนทมคว�มสมพนธกนม�รวมกน - ฐ�นขอมล (Database) ฐ�นขอมล (Database) คอ หนวยของขอมลทมก�รนำ�แฟมขอมลหล�ย ๆ แฟมขอมล ทมคว�มสมพนธกนม�รวมกน เชน ฐ�นขอมลในระบบทะเบยนนกศกษ� จะประกอบดวยแฟมขอมลร�ยวช� นกศกษ� ก�รลงทะเบยน ผลก�รเรยนประจำ�เทอม โปรแกรมวช� และคณะ เปนตน

10.1.5 Internal File Structure พนททอยภ�ยในไฟลมตวดำ�เนนก�รทมคว�มซบซอน ระบบ

ของดสกโดยปกตก�รกำ�หนดขน�ดของบลอคจะพจ�รณ�จ�กขน�ดของขอมลทจะเกบลงไป โดยก�รรบสงขอมลของดสกจะอยในหนวยของบลอคนนเอง (มองแบบก�ยภ�พ) และจำ�นวนบลอคกอยทขน�ดของขอมล มโอก�สทขน�ดท�งก�ยภ�พจะตรงกบขน�ดท�งไฟฟ�ทอยในดสก ก�รบนทกนนอ�จจะแตกต�งกนไปแลวแตคว�มย�วกบขน�ดในก�รบนทกขอมล โดยขน�ดของบลอคเปนปญห�ทจะพดในสวนน

ขน�ดของก�รบนทกท�งก�ยภ�พและขน�ดก�รบนทกท�งอเลกทรอนกส�ม�รถทจะถกบนทกไดโดยผใชทกำ�ลงใชง�นอยหรอแอฟฟเคชนทกำ�ลงดำ�เนนก�รอยของระบบ เนองจ�กพนทดสกทจะจดสรรในบลอคมขน�ดทต�ยตวแนนอน ห�กแตละบลอคส�ม�รถจไดเพยง 512 ไบต ขน�ดของไฟล 1949 ไบต กจะถกจดสรรลงในบลอคสบลอค(2048 ไบต) ทเหลอ อก 99 ไบต เปนพนททเกดขนเพอมไวสำ�หรบจดก�รกบตวดำ�เนนก�รต�ง ๆ ทจะเข�ม�กระทำ�ใน

333

ฮ�รดสก ซงภ�ยในจะแบงออกเปนสวนเลก ๆ และในทกระบบไฟลกจะแบงออกเปนสวนเลก ๆ เหมอนกบในฮ�รดสก

10.2 Access Methodsแฟมถกใชเกบขอมลส�รสนเทศ เมอถกใชยอมมก�รเข�ถง

เพออ�นขอมลหล�ยวธ โดยวธในก�รเข�ถงขอมลนนกแลวแตระบบปฏบตก�รว�เปนชนดไหน แตก�รเข�ถงโดยสวนใหญจะมวธดงน

10.2.1 Sequential Access วธเข�ถงโดยลำ�ดบ(Sequential Access)เปนเทคนคท

ใชในก�รเกบขอมลอย�งหนง เพอใหส�ม�รถเรยกม�ใชไดอย�งมประสทธภ�พยง ใชในโปรแกรมประเภทคลงขอมลก�รเข�ถงหนวยเกบขอมลหรอสอบ�งชนด เชน แถบแมเหลก (tape) ซงจะเกบขอมลไวโดยเรยงไปต�มลำ�ดบวธทใชในก�รเข�ถงขอมลขนอยกบระยะท�งของตำ�แหนงของขอมลท บรรจไวในสอนน ห�กขอมลถกเกบอยตอนปล�ย กว�จะเข�ถงขอมล กยอมจะเสยเวล�น�นดงรปท 10.2

10.2.2 Direct Access ก�รเข�ถงโดยตรง(Direct Access)หม�ยถง ก�รเข�ถง

ขอมลโดยใชเวล�ในก�รคนห�ขอมลไดเรวเท�กนหมด ไมขนกบตำ�แหนงทเกบ หม�ยคว�มว� ไมว�ขอมลจะเกบอยทสวนใดของสอทใชบนทก หวอ�น (read head) กจะเจ�ะตรงลงไปอ�นไดเลย เชน

334

ก�รอ�นขอมลจ�กจ�นบนทก ซงผดกบก�รอ�นขอมลจ�กแถบบนทก (tape) ทตองอ�นเรยงไปต�มลำ�ดบตงแตตนเทปไปจนกว�จะถงขอมลทตองก�รทก ครง ทำ�ใหช�กว�กนม�ก

โดยจำ�นวนของบลอคจะถกปองกนโดยระบบปฏบตก�รทจะใชหม�ยเลขฝนก�รปองกน ซงก�รเรยงลำ�ดบของบลอคคอ 0 ถดไปกเปน 1 ในคว�มเปนจรงบลอคทอยในอ�รดสกอ�จจะเปน 14703 สำ�หรบจดเรมตนและ 3192 เปนลำ�ดบถดไป ก�รใชหม�ยเลขกำ�กบในแตละบลอคชวยใหระบบปฏบตก�รตดสนใจใชไฟลและชวยปองกนไฟลจ�กก�รเข�ถงทไมตองก�รได โดยระบบทมหม�ยเลขกำ�กบอยกบบลอคจะเรมตนท 0 สวนระบบอนจะเรมตนท 1

10.2.3 วธการเขาถงอนๆ วธก�รเข�ถงแบบอนทส�ม�รถทำ�ไดนอกจ�กวธก�รเข�ถง

แบบ direct-access วธก�รเหล�นโดยทวไปแลว เกยวของกบโครงสร�งของตวชของ file ตวชของ file นกเหมอนกบ หน� index ของท�ยเลมหนงสอ ประกอบไปดวย ตวชตำ�แหนงในหล�ย ๆ สวน เอ�ไวสำ�หรบคนห�ขอมลใน file ในก�รคนห�ครงแรกพวกเร�ใชดชนและใชตวชในก�รเข�ถง file และ คนห�ขอมลทเร�ตองก�ร

ยกตวอย�ง retail-price อ�จจะเปนร�ยขอมลของรหสสนค� (UPCs) ของสนค� ซงมคว�มเกยวของกบร�ค�สนค� โดยแตละบนทกจะเกบตวเลข 10 ตว UPC และ 6 ตวสำ�หรบ ร�ค�สนค� สำ�หรบ 16 byte ในแตละบนทก ถ�ดสมขน�ด 1024 bytes ตอหนง block เร�ส�ม�รถทจะเกบได 64 บนทกตอหนง block โดย file 120000 บนทกจะใช พนทประม�ณ 2000 block (2 ล�น bytes ) โดยเรยงลำ�ดบต�ม UPC , พวกเร�ส�ม�รถกำ�หนดดชนทประกอบไปดวย UPC เปนตวแรกในแตละ block ดชนนจะม 2000 อนสำ�หรบ 10 ตวเลข หรอ 20000 bytes และ ดงนนมนจะถกเกบอยในหนวยคว�มจำ� ก�รคนห�ร�ค�ของสนค�นน พวกเร�ส�ม�รถคนห�ดวยวธ binary search ของดชน

335

สำ�หรบก�รคนห� เร�ส�ม�รถเรยนรวธก�รทถกตองซงในแตละ block นนจะประกอบไปดวย บนทกและก�รเข�ถง block โครงสร�งนอนญ�ตใหคนห� file ขน�ดใหญทำ�โดย I/O เลก ๆ

File ขน�ดใหญ ดชนของตวมนกจะมขน�ดใหญต�มไปดวยทถกเกบลงหนวยคว�มจำ� หนงวธก�รทจะสร�งดชนของดชนของ file ดชนแรกของ file ประกอบดวย ตวช สำ�หรบลำ�ดบทสองของดชน file ซงแตละจดจะตองมขอมลอยจรง

ตวอย�ง IBM indexed sequential-access เปนวธก�รเข�ถงของ IBM (ISAM) ใชดชนขน�ดเลกของตวชไปยง block รอง ของตวช ดชนรองนจะเปนจดทนำ�ไปยงขอมลจรงๆ file จะถกเกบโดยเรยงลำ�ดบจ�ก key สำ�หรบก�รห�สนค�ทเกยวของ ตอนแรกทำ�ก�รใช binary search สำ�หรบดชนหลก ซงจะใหบรก�รเลขของดชนรอง โดยบลอกนอ�นเข�ม� และอกครงท binary search ใชในก�รคนห�บลอกทประกอบไปดวยขอมลทตองก�ร ท�ยทสด บลอกนคนห�โดยเรยงลำ�ดบ ในวธนหล�ย ๆ บนทกมพนทจ�ก key โดยสวยม�กจะใช direct-access อ�น

10.3 โครงสราง Directoryม�ถงจดน พวกเร�ไดสนใจพดคยกนอยทเรองของ ระบบไฟล

ในคว�มเปนจรงแลว ระบบไฟลอ�จจะมศนยหรออ�จจะมม�กว� และ ระบบไฟลอ�จจะมหล�ยชนด ยกตวอย�งเชน โดยปกตแลว Solaris อ�จจะใชระบบไฟล UFS เปนสวนใหญ ม VFS เพยงระบบเดยว และ อ�จจะม NFS บ�งเลกนอย ร�ยละเอยดของระบบไฟลจะถกกล�วถง

ในบท 11

336

ระบบไฟลของคอมพวเตอรนนยงส�ม�รถขย�ยออกไปไดอกในบ�งระบบ บรรจไฟลไวเปนล�นไฟลใน disk ขน�ด terabyte ก�รทเร�จะจดก�รกบขอมลทงหมด เร�จะตองมก�รจดก�รทด วธก�รจดก�รนนจะเกยวกบก�รใช directories ในบทนพวกเร�จะสำ�รวจหวขอของโครงสร�งของ directory ในตอนแรก ดงนนเร�จะอธบ�ยโครงสร�งพนฐ�นบ�งอย�งของโครงสร�ง directory ทเปนจดเดนสำ�หรบก�รเกบขอมล

10.3.1 โครงสรางการเกบขอมล ในหนง disk เร�ส�ม�รถใชไดหล�ยระบบไฟลบ�งครงมน

เปนเรองทน�ยนดทใชไฟลไดหล�ยๆระบบบน disk เดยว หรอจะแบง disk ออกเปนสวน ๆ สำ�หรบแตละระบบไฟล และสวนอนๆสำ�หรบอะไรสกอย�งกได เชน ก�รสลบพนทแบบทไมมรปแบบบน disk พนทตรงสวนนเรยกว� partitions,slices หรอ IBM เรยกว� minidisks ระบบไฟลหนงส�ม�รถแบงพนทออกเปนสวน ๆ บน disk จะเหนไดจ�กบทตอไป พนทสวน ๆ นเอ�ม�รวมกนเปนโครงสร�งขน�ดใหญเร�รจกกนในชอ volumes และระบบไฟลส�ม�รถสร�งบนพนทเหล�นนได ในตอนนคว�มชดเจนทพวกเร�ยกตวอย�งและอ�งถงทบรรจเกบไวใน volumes , ในแตละ volume ส�ม�รถแบงออกม�เพอเปน disk ได volumes ส�ม�รถมระบบไดหล�ยระบบปฏบตก�ร และอนญ�ตใหบทหรอรนไดม�กกว�หนงในแตละ volumes ทมระบบไฟลอยจะตองเกบขอมลของระบบไฟลเอ

337

ไวดวย ในขอมลนนจะเกบ device directory หรอ volume table of contents device directory กคอ directory บรรจไปดวย d ชอ , ทอย , ขน�ด และ ชนดของไฟลสำ�หรบทงหมดของไฟลบน volumes ในรปท 10.5

10.3.2 ภาพรวมของ Directory Directory ส�ม�รถดไดจ�ก สญลกษณก�รเปลยนชอไฟลไป

เปนเปน directory ถ�พวกเร�สงเกตเร�กจะเหนวธก�รจดก�รกบ directory ไดหล�ยวธ พวกเร�ตองก�รทจะเพม , ลบ , คนห� , ดทงหมด ใน directory ได ในบทนเร�จะดหล�ย ๆ วธสำ�หรบก�รกำ�หนดโครงสร�งท�งก�ยภ�พของระบบ directory

เมอพจ�รณ�ไปในโครงสร�งจอง directory โดยเฉพ�ะแลว พวกเร�จะเปนตวจดก�รทมประสทธภ�พบน directory

- คนห� พวกเร�ตองก�รคนห�ไฟลทตองก�รจนกระทงเครองหม�ยของชอและชอทเหมอนกนทบงบอกซงคว�มสมพนธระหว�งไฟลพวกเร�อ�จจะตองก�รคนห�ไฟลทงหมดทชอมรปแบบทเหมอนกน

- สร�งไฟล เมอไฟลอยน�นเกนไปเร�ตองก�รทจะลบมนออกจ�ก directory

338

- ดไฟลใน directory พวกเร�ตองก�รดไฟลใน directory และขอมลใน directory และขอมลใน directory นนดวย

- เปลยนชอ เพ�ะว�ชอของไฟลนนมหล�กหล�ยเนอห�และหล�กหล�ยผใช เร�ตองส�ม�รถเปลยนชอ เมอเนอห�ภ�ยในถกเปลยนหรอมก�รใชไฟลนนเปลยนแปลงไป

- ก�รข�มไฟล ก�รเข�ถงในหล�ย ๆ directory และหล�ย ๆ ไฟลภ�ยในโครงสร�ง directory สำ�หรบคว�มน�เชอถอ คว�มคดทดคอบนทกเนอห�ของไฟลระบบและโครงสร�งของไฟลทบอยครงทเกดชองว�ง เร�จงตองมก�รข�มไฟล

10.3.3 Single-Level Directory โครงสร�งต�ง ๆ ของ directory กคอ single-level

ไฟลทงหมดจะถกเกบไวใน directory เดยวมนง�ยทจะศกษ�และเข�ใจ รป 10.6

Single-level มคว�มสำ�คญอยทขอกำ�จดของมน อย�งไรกต�มเมอตวเลขของไฟลเพมขนหรอระบบมม�กกว�หนงผใชไฟลทงหมดทอยใน directory เดยวกนชอตองไมเหมอนกน ถ�ผใชเรยกไฟลทมชอเดยวกนขนม�มนจะเปนก�รฝ�ฝนกฎ unique-name

ตวอย�งเชน ในคล�สก�รเขยนโปรแกรมหนงนนมนกเรยน 23 คนตองก�รเรยกง�นชอ prog2 อก 11 คนเรยกโปรแกรม assign2 ถงแมว�ไฟลทถกเลอกโดยทวไปนนจะแสดงใหเหนเนอห�

339

ของไฟลจะแสดงใหเหนเนอหอของไฟล บอยครงทมเรองขอจำ�กดจองคว�มย�ว ย�กทจะทำ�ใหชอไฟลไมเหมอนกน ระบบปฏบตก�ร MS-DOS ใชตวอกษรในก�รตงชอไฟล 11 ตวอกษร UNIX ใช 255 ตวอกษร

ยงไปกว�นน ผใชเพยงคนเดยวบนระบบปฏบตก�ร single-level directory อ�จจะย�กตอก�รคนห� จดจำ�ไฟลทงหมด รวมไปถงจำ�นวนไฟลทเพมขนม� มผใชจำ�นวนไมนอยทมไฟลเปนรอยบนเครองคอมพวเตอรเครองเดยว

ยงไปกว�นนผใชเพยงคนเดยวบนระบบปฏบตก�ร single-level directory อ�จจะเปนเรองย�กทจะคนห� จดจำ� ไฟลทงหมดรวมไปถงจำ�นวนไฟลทเพมขนม�ทมผใชจำ�นวนไมนอยทมไฟลเปนรอยใครเครองคอมพวเตอรเครองเดยวและเท�กบจำ�นวนตวเลขไฟลบนระบบอน มนคงจะเปนเรองทน�กลวม�ทเร�จะเกบเสนท�งทงหมดของไฟลไว

10.3.4 Two-Level Directory พวกเร�ไดเหนม�แลวว� single-level directory บอย

ครงททำ�ใหสำ�สน ชอไฟลระหว�ผใชหล�ยคน นวธก�รม�ตรฐ�นทจะม�แกเรองนทจะม�แบง directory สำ�หรบแตละ user

ในโครงสร�งของ two-level directory แตละผใชจะม directory ของตนเอง (UFD) UFDs จะสร�งโครงสร�งจำ�ลองขนม�แตละสำ�หรบผใชเพยงคนเดยว เมอผใชเรมใชง�น ระบบหลก (MFD) ถงจะทำ�ก�รคนห� MFD จะเปนตวดชนสำ�หรบผใช และแตละจดจะเปนทไปยงผใชแตละคน

340

เมอผใชอ�งองไฟลจะมเพยง UFD เดยวทจะถกคนห� ดงนนผใชหล�ย ๆ คนถงจะมไฟลชอเหมอนกนได ตร�บเท�ทยงมไฟลทงหมดทอยในแตละ UFD ทเหมอนกน ทจะสร�งไฟลสำ�หรบผใช

ระบบปฏบตก�รจะทำ�ก�รค�ห�ว�ไฟลนนมอยแลวหรอไม

ก�รลบระบบปฏบตก�รจะกำ�หนดขอบเขตก�รคนห�อยในแตละ UFD ฉะนน มนจะไมส�ม�รถจะไปลบไฟล มนจงไมส�ม�รถไปลบไฟลทชอเหมอนกนของผใชคนอนได

ผใชในแตละ directory ส�ม�รถสร�งและลบสงทจำ�เปนของพวกเข�เองได ในโปรแกรมแบบพเศษส�ม�รถทำ�ง�นโดยใชขอมลของผใชทจดสรรไวได โปรแกรมจะสร�ง UFD และเพงสวนของมนไปท UFD ดวย ก�รทำ�ล�ยโปรแกรมทำ�ไดโดยผดแลระบบ กำ�จดก�รพนทสำ�หรบผใชส�ม�รถจดก�รไดโดย เทคนคทจะพดถงในบทท 11

Two –level จะเปนก�รแกปญห�ของ name-collision แตมนกมขอเสย มนมผลทำ�ใหผใชแยกออกจ�กกนไดสนเชง ก�รแยกออกจ�กกนนนจะมโยชนกตอเมอมนอยดวยตวของมนเองโดยสมบรณแบบ แตมนไมมประโยชนถ�ผใชตองก�ร ก�รทำ�ง�นรวมกนบนง�นและก�รเข�ถงไฟลอน ๆ บ�งระบบไมอนญ�ตใหผใชไปเข�ถงไฟลของคนอนดวย

341

ถ�ก�รเข�ถงไฟลถกขดขว�ง ผใชคนหนงจะตองรชอของไฟล ซงกจะมคว�มเฉพ�ะเจ�ะจงใน two-level directory พวกเร�ตองมทง username และ ชอไฟล two-level directory กเหมอนกบโครงสร�งแบบตนไมทมคว�มสง 2 มร�กคอ MFD ใบกคอไฟลต�ง ๆ ทสบทอดม�จ�ก UFD ชอผใชและชอไฟลทถกกำ�หนดโดย path name

ก�รเพมสญลกษณ เพอระบก�รเกบไฟล เชน MS-DOS จะใช Colon เชน c:\userb\test เปนตนในกรณพเศษทเกดขนในระบบไฟล โปรแกรมจดก�ร path ของระบบพวก loader, assemblers,compilers และอน ๆ อก เมอมก�รทำ�ง�นหล�ย ๆ คำ�สงระบบตองทำ�ก�รคนห�ในแตละ UFD มวธทจะคดลอกไฟลไปแตละ UFD แตก�รคดลอกไฟลระบบทงหมดมนตองมก�รใชพนทบน disk ม�ก เชน ถ�ไฟลระบบใช 5 MB ม 12 ผใช ก 5*12 = 60 MB

วธก�รคนห�พนฐ�นสำ�หรบคนห� ผใชพเศษจะเปนคนกำ�หนดสงทบรรจอยในไฟลระบบเมอไหรกต�มทไฟลถกใชง�น ระบบจะไปห�ใน UFD เปนทแรกจ�เจอทใชกใชมน ถ�ไมเจอระบบจะคนห�จ�กผใชพเศษโดยอตโนมต ก�รกระทำ�นเรยกว� search path วธนใชกนม�กใน Unix และ MS-DOS

10.3.5 โครงสรางแบบ Tree-structured directory

พวกเร�ไดเหนโครงสร�งแบบ two-level หรอว�ตนไมแบบ two-level ไปแลว โครงสร�งตนไมต�มรป 10.8 โดยทวไปแลวอนญ�ตใหผส�ม�รถสร�ง directory ยอยของตวเองไดเพอทจะจดก�รไฟลทบนทก Directory จะบรรจไปดวยเซตของไฟล หรอ directory ยอย directory จะเกบไฟลอย�งง�ย ๆ แตมนกรกษ�เสนท�งพเศษให directory ทงหมดตองมรปแบบภ�ยในทเหมอนกนหมด 1 บตใน directory จะกำ�หนดใหไฟลเปน 0 หรอ 1 ระบบ

342

พเศษจะเรยกใชสร�งและลบ directory ปกตก�รใชในแตละกระบวนก�รจะม directory เรยกว� current directory เมอมก�รอ�งถงไฟล corrent directory จะถกคนห� เมอผใชตองก�รทจะระบเสนท�งหรอ เปลยนตำ�แหนง directory ไปทตำ�แหนงอน

ก�รเปลยน directory ระบบจะกำ�ก�รรยกบรก�รโดยมชอของ directory เปนตวระบ และใชมนเปนก�รกำ�หนด directory ใหม ดงนนผใชส�ม�รถเปลยน directory ไดต�มตองก�รจ�ก�รเปลยนตำ�แหนง ระบบจะเรยกตำ�แหนงถดไปถงทงหมดทมคนห�ใหเจอต�มทระบ ขอสงเกต ก�รคนห� path จะคนห�จ�ก directory ปจจบนเสมอ

ก�รระบ directory ปจจบน shell ของผใชถกทำ�ก�ร login ระบบจะทำ�ก�รคนห�ผใชใหตรงกบ directory ททำ�ก�รเลอกไว ในบญชผใชแตละคนจะมตวบอกตำ�แหนง directory ปจจบนไว มนคดลอกม�จ�กตวแปรพนทของผใชทระบ directory เรมตนใช

343

จ�ก shell กระบวนก�รกจะทำ�ก�รว�งจดไว directory ปจจบนทว ๆ ไปกจะเปนบรรพบรษกตอเมอเกดก�รว�งจดเอ�ไว

Path มสองชนดคอ absolute path name กบ reletive path name ,absolute จะเรมตงแต root ลงม�ข�งล�ง เวล�ทเร�ตองก�รระบ path name relative path จะระบจ�ก directory ปจจบน

นโยบ�ยของ directory ทมโครงสร�งแบบ tree-structred ถ� directory นนว�งกส�ม�รถลบไดเลยอย�งไรกต�มถ� directory นนไมว�งกจะมวธจดก�ร อย�งเชน ใน MS-DOS ระบบ directory ไมไดเลยถ�มนไมว�งเสยกอน ถ�ม subdirectory อยตองทำ�ก�รลบแบบเรยกตวเองซำ�ใน Unix ใชคำ�สง rm ทมตวเลอกใหใชม�กม�ย แตมนกเปนเรองทอนตร�ยทใชเพยงคำ�สงเดยวลบมนทงหมด

ใน directory แบบ tree-structured ส�ม�รถมคว�มย�วม�กว� path name แบบ two-level ได OS ตระกล Microsoft (95,98,NT,2000,XP) จะใชแบบ two-level directory structure

10.3.6 Acyclic-Graph Directories พจ�รณ�โปรแกรมเมอรสองคนททำ�โปรเจครวมกน ไฟล

ง�นจะถกเกบใน directory ยอย โดยแบงออกเปนตองแตละคน และทงสองคนมก�รตอบสนองตอโปรเจคเท� ๆ กน ทงสองคนตองก�รม directory ยอยของตวเอง โดยปกตแลวเร�จะใชวธก�รแชร ก�รแชรไฟลหรอ directory ในระบบอ�จจะม 2 หรอม�กว�ตอหนงก�รแชร ขอห�มของก�รแชรไฟลหรอ directory อนญ�ตใหแชร directory ยอยหรอไฟล ต�มรปท 10.9 ไฟลทเหมอนกนทต�งกนในสอง directory acyclic graph จะทำ�ต�มแผนทว�งไว

344

คว�มสำ�คญคอไมเหมอนก�รคดลอกไฟลสองอนซงสองคดลอก

โปรแกรมเมอรจะดไฟลจ�กตวสำ�เน�ม�กกว�ตวตนฉบบ แตถ�มโปรแกรมเมอรเปลยนแปลงไฟลจะไมปร�กฏทสำ�เน�อน ๆ ซงก�รแชรไฟลนนจรง ๆ แลวจะมไฟลจรง ๆ เพยงไฟลเดยวเท�นน ดงนนก�รเปลยนแปลงจ�กใครคนหนงจะทำ�ใหใครอกคนหนงมองไมเหน

ก�รแชรไฟลและ directory นนส�มรถทำ�ไดหล�ยวธ โดยในท�งปฏบตแลว ยกตวอย�งในระบบ Unix ก�รสร�ง directory entry นนเรยกว� link link เปนก�รใช pointer ชไปยงไฟลหรอ directory ยอย ๆ link อ�จถกใชเปนเครองมอหรอใชในก�รแสดงคว�มสมพนธของ path name เพออ�งองถงไฟลทเร�สร�ง

พวกเร�ส�ม�รถคนห� directory ได ถ� directory นนมก�รทำ�ให link อย เมอชอของไฟลจรง ๆ ถกรวมเข�กบขอมลของ link พวกเร�ตกลงทจะใช link โดยก�รใช path name ทแบง file จรง ๆ link นนใชง�นง�ยโดยก�รกำ�หนดรปแบบใน directory แตละอนและเปนก�รใช pointer โดยออม ระบบปฏบตก�รไมสนใจ link เมอมนทองอยใน directory tree ททำ�ใหคงอยในโครงสร�งแบบ acyclic

345

วธอน ๆ ก�รแชรไฟลอย�งง�ย ๆ ก�รจำ�ลองไฟลทงสองในก�รแชร directory ดงนน ทงสองจะเหมอนกนและเท�กน link นนแตกต�งจ�กไฟลเก�อย�งสนเชงปญห�หลกชอง duplicate directory คอก�รซำ�ซอนของขอมลทมก�รแกไข

Acyclic-graph มนส�ม�รถปรบใหเข�กบสถ�นก�รณ โดยก�รสร�งตนไมแบบง�ยๆได แตมนเปนเรองทยงย�กไฟลอ�จจะมหล�ย path name ดงนนมนแตกต�งอย�งชดเจนทจะอ�งถงไฟลเดยวกน ถ�เร�ตองก�รคนห�ไฟล เกบสะสมสถตของไฟลทงหมดหรอสำ�รองไฟลทงหมดเอ�ไว พวกเร�ไมส�ม�รถทองไปในโครงสร�งแบบแชรไดม�กกว�หนงครง

อกปญห�หนงทพบพวกเร�มพนทว�งในก�รแชรไฟลเร�ตองก�ร เร�ตองก�รพนทตรงนนม�ใชใหม เมอเร�ลบไฟลนนไปแลว pointer ยงคงอยและมนถกแขวนไวมนไมไดอ�งองไฟลไหน

ในระบบทใชก�รแชรแบบ link ในสถ�นก�รณแบบนเปนเรองทง�ยม�ก link จะห�ยไปกตอเมอ file นนถกลบออกไป และผใชจะตองเข�ใจว�ไฟลนนถกลบออกไปแลวหรอถกแทนท Microsoft windows กใชวธนเหมอนกน

ปญห�ก�รลบนนยงคงอย จนกระทงจดอ�งองทงหมดถกลบทงไป พวกเร�อ�จจะตองมกลไกม�กำ�หนด เมอก�รอ�งองครงสดท�ยถกลบไป พวกเร�เกบ list ของก�รอ�งองทงหมดไว เมอมก�รสร�ง link ขนม�ใหมกจะถกเพมเข�ไปใน list เมอมก�รลบ list กจะถกลบทงไปดวย ไฟลนนจะถกลบทงเมอ file-reference นนว�งเปล�

สงทน�หนกใจกคอขน�ดทใหญของ file-reference ซงเร�ส�ม�รถแกไขไดโดยก�รเกบเฉพ�ะจำ�นวนเท�นน ถ�จำ�นวนของไฟลนนเปน 0 ไฟลนนคอไฟลทถกลบไปแลว

346

ในก�รเลยงปญห�ก�รแชร บ�งระบบไมอนญ�ตใหแชร link หรอ directory เชน MS-DOS โครงสร�งของ directory คอ ตนไมทม�กกว� acyclic graph

10.3.7 กราฟทวไปของ directory ปญห�หลกของก�รใช acyclic-graph แนนอนทมนไมใช

โครงสร�งทสมบรณแบบ ถ�เร�เรมจ�ก two-level และอนญ�ตใหผใชสร�ง directory ยอย โครงสร�งแบบ tree-structure คอคำ�ตอบ เร�จะเหนว�เปนเรองทยตธรรมของก�รสร�งไฟลและ directory ยอยทมอยแลวใน tree-structured ซงเปนธรรมช�ตของมน อย�งไรกต�มเมอเร�เพม link ทมอยแลวเข�ไป tree-structure จะถกทำ�ล�ยดงรปท 10.10

คว�มไดเปรยบของ acyclic graph คอ คว�มสมพนธทมคว�มเรยบง�ยของอลกอลทมทจะทองไปในกร�ฟ และก�รกำ�หนดเมอทไมมก�รอ�งองไฟลเพมเตมอก พวกเร�ตองก�รทจะเลยงก�รทองไปในก�รแชรของพนททแบงไวของ acyclic graph เปนครงทสอง เหตผลกเพอประสทธภ�พเปนหลก ถ�พวกเร�มก�รคนห�แบบเฉพ�ะเจ�ะจงโดยไมตองทำ�ก�รคนห� พวกเร�ตองก�รเลยงก�รค�ห�อกครงหนง ก�รคนห�ครงทสองทำ�ใหเร�เสยเวล�

ถ�ใหเกดคว�มสมบรณแลวกคออนญ�ตใหมก�รซำ�กนไดใน directory ถ�เร�ออกแบบอลกอลทมไดไมดพอจะเกดก�รทำ�ง�นทไมจบสนมวธก�รแกโดยก�รกำ�หนดจำ�นวน directory ระหว�งทำ�ก�รคนห�

347

ก�รเกบรวบรวมขยะเปนสงทจำ�เปนเนองจ�กเปนสงทเปนไปไดในก�รเกดวฎจกรทแสดงอยในกร�ฟ ดงนนกร�ฟทมโครงสร�งไมเปนวฏจกรจะง�ยในนำ�ไปใช เปนเรองทย�กในก�รหลกเลยงก�รใชวฏจกรเข�ไปเชอมตอในโครงสร�งทมอย อย�งไรกต�มเร�ส�ม�รถทร�บไดว�วฏจกรนนจะเสรจสมบรณเมอไรได ในกระบวนก�รขนตอนในก�รลบวฏจกรในกร�ฟทแสดงออกม� อย�งไรกต�มมนจะใชกระบวนก�รในก�รใชง�นทสนเปลอง โดยเฉพ�ะอย�งยงเมอเร�จะทำ�ก�รจดเกบกร�ฟลงในดสก เปนกระบวนก�รคดทง�ยในกรณพเศษทใชกบไดเรกโทรและส�ม�รมเชอมโยงข�มไดเรกโทรทมก�รกดขว�งได วฎจกรทจะหลกเลยงและไมใชกรณพเศษจะมตำ�แหนงทจะเกดขอผดพล�ด

10.4 File-System Mountingไฟลทเร�จะใชง�นตองมก�รเปดขนม�กอนถงจะใชง�นได เชน

เดยวกนไฟลระบบจะตองมก�รตดตงกอนถงจะส�ม�รถทำ�ง�นไดบนระบบ โดยเฉพ�ะอย�งยงโครงสร�งของไดเรกโทรส�ม�รถสร�งไดจ�กหล�ยกระบวนก�ร ซงจะตองมก�รตดตงเพอใหส�ม�รถใชง�นไดภ�ยในพนทของไฟลระบบนน

348

ขนตอนในก�รตดตงโดยตรงนน ระบบปฏบตก�รจะใหชอแกอปกรณททำ�ก�รตดตง ซงตำ�แหนงทอปกรณถกตดตงอยจะมไฟลทแนบอยดวยเพอเอ�ไวบอกว�นคออปกรณชนดใด โดยปกตจดททำ�ก�รตดตงนนจะเปนทว�งทอยในไดเรกโทร ตวอย�งเชน บนระบบยนกซทม ไดเรกโทร home อ�จตดตงอยท /home ก�รเข�ถงไดเรกโทรโครงสร�งภ�ยในระบบไฟลส�ม�รถทำ�ไดโดย /home ใน /homr/jane ก�รตดตงภ�ยใตระบบแฟม /users จะสงผลใหก�รเข�ถงไดเรกโทรเปน /users/jane

ถดจ�กนนระบบปฏบตก�รจะทำ�ก�รยนยนว�เครองทใชอยนมไฟลทถกตองอยในระบบแลว และจะทำ�ก�รขอไดรเวอรอปกรณเพอทำ�ก�รยนยนอกทว�รปแบบทใชนนเปนไปอย�งถกตอง สดท�ยระบบปฏบตก�รจะทำ�สญลกษณในโครงสร�งของไดเรกเทอรทมก�รตดตงอยบนระบบโดยทำ�ก�รระบจเอ�ไว ซงแผนก�รแบบนจะชวยใหระบบปฏบตก�รตรวจสอบโครงสร�งของไดเรกโทรทอยในระบบไฟลไดอย�งเหม�ะสม

อธบ�ยไฟลในระบบแฟมต�มรปท 10.11 ตรงรปส�มเหลยมจะเปนตวแทนของร�กในแบบจำ�ลองตนไมในไดเรกเทอรทเปนท�งแยก โดยรปท 10.11(a) แสดงระบบแฟมทมอย ในขณะทรป

349

10.11(a) จะแสดงไฟลทมอยใน /device/dsk ในขนตอนนเฉพ�ะไฟลทอยในระบบแฟมจงจะส�ม�รถทำ�ง�นได รปท 10.12 จะแสดงผลทไดจ�กก�รเพมคว�มจทอยใน /device/dsk ม�กกว� /users ห�กคว�มจทเพมขนม�เปนจดทไมมก�รบนทกในระบบแฟม ระบบแฟมกจะทำ�ก�รเรยกคนไปยงภ�พรปท 10.11

ระบบจะกำ�หนดเครองหม�ยเพอใหเกดคว�มชดเจนของฟงกชนทใช ตวอย�งเชน ระบบอ�จจะไมตดตงไฟลทอยเหนอไดเรกเทอรทมอย หรอ อ�จจะทำ�ก�รตดตงระบบแฟมทมไดเรกเทอรทมคว�มสบสน(ห�ทม�ไมได) จนกว�จะทำ�ก�รยกเลกไฟลนนทอยในระบบและคนค�ก�รเข�ถงไฟลตนฉบบในไดเรกเทอร ตวอย�งอน เชน ระบบอ�จยอมใหตดตงระบบแฟมทมคว�มเหมอนกนแตตดตงอยในทต�งกน หรอ อ�จจะอนญ�ตใหตดตงเฉพ�ะแคระบบแฟมเดยวเท�นน

พจ�รณ�สงทเกดขนในระบบแมคอนทอช เมอใดกต�มทระบบพบดสกเปนครงแรก(ฮ�รดดสกจะถกบตเปนทแรกตอนเปดเครอง และไดรอน ๆ จะถกเหนกตอเมอทำ�ก�รลงไดรเวอรแลว) ระบบแมคอนทอช จะใชระบบนในก�รคนห�อปกรณ ถ�ห�กพบหนงอนแลว อนถดไปจะถกพบโดยอตโนมตในระบบแฟมทแบงเปนระดบ โดยทำ�ก�รเพมโพลเดอรทถกกำ�กบดวยชอทอยในระบบแฟม(เปน

350

โฟลเดอรทจะทำ�ก�รจดเกบไดเรกเทอรของอปกรณโดยเฉพ�ะ) จ�กนนผใชส�ม�รถคลกเลอกทไอคอนเพอทำ�ก�รตดตงอปกรณต�ง ๆ ในระบบแฟมไดเลย

ระบบปฏบตก�รในตระกลของไมโครซอฟ (95 , 98 , NT , small2000 , XP) ส�ม�รถขย�ยโครงสร�งของไดเรกเทอรไดเปนสองระดบ กบอปกรณและคว�มจในก�รกำ�หนดลกษณของไดรฟแตละไดรฟ คว�มจนนโดยทวไปจะเปนกร�ฟโครงสร�งของไดเรกเทอรทจะมคว�มเกยวของกนกบสญลกษณทระบอยบนไดรฟ ท�งทจะไปยงไฟลทเฉพ�ะเจ�ะจงจะมรปแบบดงน \path\to\file และยงเมอเรว ๆ นระบบปฏบตก�ร Windows ยงไดพฒน�ระบบแฟมเพอทส�ม�รถจะตดตงระบบไดทกทในไดเรกเทอรเหมอนกบระบบบนยนกซ ระบบปฏบตก�ร Windows ยงทำ�ก�รคนห�อปกรณทงหมดเองโดยอตโนมตและบนทกจดจำ�ระบบแฟมททำ�ง�นในเวล�บตเครองอกดวย

10.5 File Sharingในตอนนแลว เปนก�รเกรนนำ�ททำ�ใหเร�ตองก�รใชไฟลรวมกน

และบ�งสวนของปญห�ทเกยวของกบก�รอนญ�ตใหผใชส�ม�รถใชไฟลรวมกนได ก�รแชรไฟลสำ�หรบผใชทตองก�รรวมมอกนและพย�ย�มเพอทจะบรรลเป�หม�ยเดยวกนใหได ดงนนผใชจงตองยอมรบปญห�ทอ�จจะเกดดวยกน

ในบทน เร�จะตรวจสอบเพมเตมเรองก�รแชรไฟล เร�จะเรมโดยก�รคยถงปญห�ทเกดขนเมอผใชแบงปนไฟลกน เมอผใชหล�ยร�ยไดรบอนญ�ตใหแบงปนไฟลกจะเกดก�รขย�ยคว�มรวมมอกนเพอใชในระบบหล�ยระบบรวมถงก�รใชง�นผ�นระยะท�งทไกล ๆ และทำ�ใหเกดแนวท�งในก�รใชง�นใหม ๆ สดท�ยเร�จะม�พจ�รณ�ว�จะทำ�อย�งไรกบคว�มขดแยงทเกดขนในก�รแชรไฟล ตวอย�งเชน ถ�ผ

351

ใชหล�ยร�ยเกดเขยนไฟลเดยวกนขนม�และระบบกยอมใหทำ�แบบนนแลวเร�ควรจะทำ�อย�งไรในก�รแกปญห�

10.5.1 Multiple Users เมอระบบปฏบตก�รรองรบผใชหล�ยคน ก�รแชรไฟล ก�ร

ตงชอไฟล และก�รปองกนไฟล จงมคว�มสำ�คญทม�กขน โดยก�รใชโครงสร�งของไดเรกเทอรเข�ม�ชวยในก�รจดแบงไฟลของผใชทตองก�รจะแชรไฟลกน ระบบส�ม�รถอนญ�ตใหผใชส�ม�รถเข�ถงไฟลของผใชร�ยอน ๆ ไดโดยตองมก�รตงค�กำ�หนดสทธของผใชเอ�ไว ปญห�เหล�นนนจะครอบคลมไปถงบทท 10.6

เมอตองก�รใชไฟลและก�รปองกนรวมกน ระบบจะตองมคว�มส�ม�รถในก�รทำ�ง�นทดขน หรอเหมอนกบระบบทเปนแคก�รใชง�นคนเดยว แมว�หล�ยวธก�รจะไดรบก�รพฒน�ต�มแนวคดทว� ก�รเข�ถงแฟม(หรอไดเรกเทอร) เจ�ของ(ผใช) และ กลมก�รใชง�น เจ�ของนนเปนผใชทส�ม�รถเปลยนแปลงค�และสทธในก�รเข�ใชง�นและส�ม�รถควบคมก�รใชง�นไฟลได สวนกลมของค�ทตงไวเปนเซตยอยผใชทตองก�รจะทำ�ก�รแชรไฟลกตองเข�ไปตงสทธในก�รใชดวยเชนกนเพอไมใหเกดคว�มซำ�ซอนแลวปองกนผทไมประสงคดเข�ม�ใชง�น โดยร�ยละเอยดในก�รตงค�ต�ง ๆ จะอธบ�ยไวในบทถดไป

เจ�ของไฟลหรอกลมของไอดทเปนเจ�ของไฟล (หรอ ไดเรกเทอร) ทมสวนประกอบต�ง ๆ อยในไฟล เมอมก�รรองขอม�จ�กไอดทวไปเพอเข�ไปใชง�นในไฟล ไอดทวไปนส�ม�รถรองขอให เจ�ของไฟลหรอกลมของไอดทเปนเจ�ของไฟล เปลยนแปลงสทธในก�รใชง�นได ก�รทำ�ง�นแบบนเปนก�รทำ�ง�นในรปแบบก�รทำ�ง�นของผใชหล�ย ๆ คนทมก�รแบงสทธของผใชเพอคว�มปลอดภย

หล�ย ๆ ระบบส�ม�รถทจะใชง�นในรปแบบหล�ยคำ�สงหรอหล�ยคนไดในระบบเดยว โดยเร�ตองระวงเรองคว�มปลอดภยของ

352

ขอมลทอยในฐ�นขอมลของเร�เนองจ�ก จ�กเกบขอมลใชรวมกน ก�รกระทำ�ก�รใดๆกทำ�ก�รโดยตรงกบฐ�นขอมลเดยวกนดงนนก�รแกปญห�นจงตองมก�รแบง ไอด เพอกำ�หนดขอบเขตก�รใชง�นของผใชทจะเข�ไปใชง�นในไฟลนนได

10.5.2 Remote File System ก�รม�ถงของระบบเครอข�ย (บทท 14) เปนก�รสอส�ร

ท�งไกลระหว�งคอมพวเตอรทมคว�มเปนไปได เครอข�ยจะชวยในก�รจดสรรทรพย�กรทมอยใหกระจ�ยไปทวในเขตแตละเขตหรอแมแตทวโลกกต�ม สงทส�ม�รถมองเหนไดอย�งชดเจนกคอเพอก�รแบงปนขอมลในรปแบบของไฟลนนเอง ก�รววฒน�ของเทคโนโลยท�งด�นเครอข�ยและขอมลมก�รเปลยนแปลงไปม�กทำ�ใหวธก�รในก�รใชง�นเปลยนแปลงไป อย�งแรกกคอ ก�รดำ�เนนก�รถ�ยโอนไฟลระหว�งเครองโดยผ�นโปรแกรมจำ�พวก FTP ทมคว�มเปลยนแปลง อย�งทสองคอก�รใชระบบก�รกระจ�ยของแฟม(DFS) ในระยะท�งไกลโดยไดเรกเทอรส�ม�รถถกมองเหนไดจ�กเครองทอยในเครอข�ยเดยวกน ในบ�งวธอย�งตวอย�งทส�มคอ ก�รใชบรก�รอนเตอรเนต กส�ม�รถทำ�ก�รถ�ยโอนขอมลไดเหมอนกน โดยบร�วเซอรตองมคำ�สงก�รใชง�นก�รสอส�รท�งไกลเข�ม�ชวยเพอทำ�ก�รถ�ยโอนขอมล

FTP ทใชอยนนมทงแบบทเข�ถงโดยไมเปดเผยและแบบกำ�หนดสทธในก�รใช ก�รเข�ถงโดยไมเปดเผยชวยใหผทใชง�นส�ม�รถโอนไฟลในระยะท�งไกลไดโดยผ�นท�งระบบอนเตอรเนตทไมตองระบชอไฟลและเปนก�รแลกเปลยนแบบเฉพ�ะ ระบบแบบกระจ�ยของแฟม (DFS) จะใชม�กในก�รตดตอกบเครองทอยห�งไกลในก�รเข�ถงไฟลและแฟม ซงจะมคว�มซบซอนในก�รใชง�นทเร�จะอธบ�ยในบทน

ระบบก�รสอส�รระยะไกลส�ม�รถอนญ�ตใหคอมพวเตอรตดตอไฟลทใชง�นระหว�งกนได ซงในกรณนเครองทเปนเซรฟเวอร

353

ส�ม�รถทจะเข�ถงเครองทเปนเครองลกข�ยได โดยเครองทเปนเซรฟเวอรกบทเปนลกข�ยจะมคว�มสมพนธกนในระบบเครอข�ย โดยทวไปนนเซรฟเวอรจะระบถงทรพย�กรทส�ม�รถใชรวมกนไดในทนหม�ยถงเครองทเปนลกข�ยทส�ม�รถเข�ม�ใชง�นได เซรฟเวอรนนส�ม�รถทจะมไดหล�ยลกข�ยและลกค�นนส�ม�รถทจะใชไดหล�ยเซรฟเวอรขนอยกบร�ยละเอยดทลกข�ยไดกำ�หนดเอ�ไวกบเซรฟเวอร

เครองทเปนเซรฟเวอรนนส�ม�รถกำ�หนดสทธในก�รเข�ถงก�รใชง�นต�งไดหล�ยระดบขนอยกบก�รออกแบบ เครองทเปนลกข�ยเองกตองทำ�ต�มกฎทไดกำ�หนดเอ�ไว โดยเครองลกข�ยส�ม�รถทจะตดตอกบเครองทเปนเซรฟเวอรไดโดยผ�นชอหรออย�งอนทส�ม�รถห�เจอได ซงสวนใหญจะใช ไอพแอดเดรสในก�รตดตอ แตเครองทเปนลกข�นนตรงมก�รกำ�หนดชองท�งตดตอใหตรงกบเครองทเปนเซรฟเวอรไดกำ�หนดไวใหเพอทำ�ก�รเชอมตอ จะตอมคยในก�รทจะกำ�หนดรหสคว�มปลอดภยในก�รเชอมตอนนดวย เนองจ�กถ�ไมทำ�อย�งนคว�มแตกต�งกนของก�รกำ�หนดค�จะทำ�ใหเกดปญห� ดงนนจงตองมก�รกำ�หนดค�ใหถกตองในก�รใชง�น

ในกรณของระบยนกต(UNIX) ก�รเชอมตอไฟลกมเหมอนกน โดยก�รใช NFS ในก�รแชรไฟล โดย Network File System (NFS) ถกพฒน�ขนโดย บรษท Sun Microsystems ใน ป 1980 เพอใหระบบไฟล และไดเรคทอรทอยต�งเครองกนส�ม�รถใชง�นรวมกนผ�นท�งเครอข�ยได โดยระบบปฏบตก�รของเครองเหล�นนไมจำ�เปนตองเปนระบบปฏบตก�รเดยว กนกบเครองแมข�ยทใหบรก�รเอนเอฟเอส หรอ “NFS” กได

10.5.2.1 Distributed Information systems

ก�รทำ�ระบบเกยวกบเครองลกข�ย--เซรฟเวอรนนมก�รทง�ย ในระบบประมวลผลแบบกระจ�ย เร�จพเปนตองรถงผทใหเร�

354

ใชบรก�รเพอเข�ถงขอมลสำ�หรบคอมพวเตอรในระยะท�งไกล โดยระบบนกคอระบบชอโดเมน (DNS) ทจะบอกถงชอโฮสทอยในเครอข�ยบนระบบอนเตอรเนต(ตองทำ�ก�รเชอตออนเตอรเนตกอน) กอนทจะมก�รใชง�นระบบชอโดเมน ก�รสงขอมลแบบเดมนนจะถกสงท�ง จดหม�ยอเลกทรอนกส หรอก�รโอนถ�ยขอมลแบบ FTP ระหว�งเครอข�ยทงหมด เร�ส�ม�รถศกษ�ระบบชอโดเมนเพมเตมไดในสวนของบทท 14

ระบบก�รประมวลผลแบบกระจ�ยอย�งอนกมเชนในระบบปฏบตก�รยนกส ทสร�งขนโดยบรษท ซน ก�รประมวลผลแบบกระจ�ยจะเรยกว� Network information service หรอ NIS สวนในกรณของ ไมโครซอฟ จะเรยกว� Common Internet File System (CIFS) เปน โปรโตคอลม�ตรฐ�นทใหโปรแกรมทำ�คำ�ขอสำ�หรบไฟลและบรก�รบนเครอง คอมพวเตอรท�งไกลบนอนเตอรเนต CIFS ใชแบบจำ�ลองโปรแกรม ลกข�ย/เซรฟเวอร(client/server) โปรแกรมลกข�ยทำ�คำ�ขอโปรแกรมแมข�ย (ต�มปกตในคอมพวเตอรอกเครอง) สำ�หรบก�รเข�ถงไฟลหรอสงผ�นข�วส�รไปยงโปรแกรมทเรยกใชในเครอง แมข�ย โดยแมข�ยทำ�ก�รกระทำ�คำ�ขอและสงออกก�รตอบสนอง CIFS เปนอนพนธ public หรอเปดของโปรโตคอล Server Message Block ทพฒน�และใชโดย Microsoft โปรโตคอล SMB ไดรบก�รใชอย�งกว�งกบเครอข�ยทองถน (LAN) ในปจจบนสำ�หรบก�รเข�ถงไฟลและก�รสงพมพ CIFS เหมอนกบโปรโตคอล SMB ทเรยกใชในระดบสงม�กกว�ใชในโปรโตคอล TCP/IP นอกจ�กน CIFS ไดรบมองเปนสวนประกอบของโปรโตคอลโปรแกรมประยกตอนเตอรเนต

ท�งด�นธรกจยงมอกตวหนงทถกใชในก�รเชอมตอนนกคอ Lightweight Directory Access Protocol ( LDAP ) เปนโปรโตคอลใชสำ�หรบตดตอกบ ไดเรกทอรเซอรวส  (Directory

355

Service) อยในระดบแอบพลเคชน เลเยอรทำ�ง�นอยบนโปรโตคอล TCP/IP ม�ตรฐ�น LDAP ใหคำ�จำ�กดคว�มทง 4 รปแบบ ซงแนะนำ�ใหคณไดใช directory ซงรปแบบมก�รสงเสรมก�รทำ�ง�นรวมกนระหว�ง ก�รตดตง directory ในขณะทคณส�ม�รถจะตดไปยง directory   ทคณ ตองก�รเฉพ�ะได ซงแนะนำ�ผพฒน� directory เมอลกค� และผใช software มก�รออกแบบ และกำ�ลงปฏบตก�ร LDAP LDAP จะม APIs: ใชโปรแกรม ภ�ษ� C ใชไดกบ netcape's java SDK , sunsoft's JNDI และ Microsoft active Directory Service interface (ADSI) ก�รเปลยนแปลงขอมลของ LDAP (LDIF) เปนม�ตรฐ�น รปแบบตวอกษรสำ�หรบอธบ�ยในขอมล directory LDIF ส�ม�รถอธบ�ยก�รสร�ง directory หรอปรบปรงเพอประยกตใชกบ directory ขอมล ใน directory ส�ม�รถสงออก จ�กทหนงไปยงทหนง โดยใช LDIF โดยทวไปมกใชไดกบคำ�สงซงจะมประโยชนทงอ�นและเขยน LDIF

10.5.2.3 Failure Modes ระบบภ�ยในเครอข�ยส�ม�รถทจะลมเหลวไดก�รลม

เหลวนนมไดหล�ยส�เหตรวมทงผลจ�กก�รลมเหลวจ�กดสกทเกบขอมลทมระบบไฟลทเสยห�ยท�งด�นโครงสร�งของขอมล (เรยกรวมว�เมต�ด�ต�) รวมทงระบบภ�ยในดสกไมส�ม�รถควบคมไดคอเกดคว�มเสยห�ย นอกจ�กนผใชหรอผดแลระบบกทำ�ใหเกดคว�มลมเหลวของไฟลขอมลหรอไดเรกทอรได และหล�ย ๆ ปจจยเหล�นกจะทำ�ใหโฮสตเกดคว�มผดพล�ดไดและเร�นเองกตองเข�ไปแทรกแซงซอมแซมคว�มเสยห�ยทเกดขนน

ระบบก�รสอส�รท�งไกลกมโอก�สม�กเหมอนกนทจะเกดคว�มลมเหลว อนเนองม�จ�กคว�มซบซอนของระบบเครอข�ยทงระหว�งก�รตดตอสอส�รและปญห�ทเกดขนอกม�กม�ยทไปแทรกแซงระบบก�รทำ�ง�นได ในกรณของระบบเครอข�ย ปญญ�จะ

356

เกดขนระหว�งททำ�ก�รตดตอระหว�งกน เกดปญห�ท�งด�นฮ�รดแวรในก�รตดตอเกดก�รลมเหลว ก�รเสอมสภ�พของฮ�รดแวร หรอเกดปญห�ตดขดท�งด�นระบบททำ�ก�รตดตอกน ซงก�รตดตอกนทมจำ�นวนม�กกจะทำ�ใหปญห�ทเกดขนม�คว�มซบซอนขนต�มไปดวยซงส�ม�รถตรวจสอบเจอปญห�เหล�นไดโดยก�รใชคำ�สงทเดยวของในก�รตรวจสอบ

พจ�รณ�เครองลกข�ยทใชง�นระบบก�รสอส�รระยะท�งไกล มนจะมไฟลทเปดจ�กรโมทโฮสตซงไฟลททำ�ก�รคนห�นส�ม�รถเปดอ�นและบนทกไฟลไปม�ระหว�งกนได ซงก�รตดตอระหว�งกนนเองทส�ม�รถเกดคว�มผดพล�ดขนม�ได ดงนนเพอปองกนก�รเกดขอผดพล�ดจงตองใช โปรโตคอลในก�รตดตอสอส�ร เพอใหเกดขอผดพล�ดทนอยลง ซงทกระบบปฏบตก�รกจะมชดของโปรโตคอลเพอทำ�ก�รเชอมตอระหว�งกนเอ�ไว

เมอตองก�รทจะทำ�ก�รกคนคว�มลมเหลวทเกดขนกบขอมลททำ�ก�รเกบรกษ�ในเครองลกข�ย จะตองไปดทเซรฟเวอรว�มก�รเปดไฟลและเกบรกษ�ไฟลทเปนตอนฉบบไวหรอไมถ�มกส�ม�รถทจะกคนขอมลทเกดจ�กคว�มลมเหลวนได ในสถ�นก�รณทเครองเซรฟเวอรเกดคว�มผดผดพล�ดตองตระหนกว�ถ�เร�เปนเครองลกข�ยก�รทำ�ก�รซอมแซมกบเครองเซรฟเวอรจะตองทำ�จ�กระยะท�งไกลโดยก�รใชระบบก�รถ�ยโอนขอมลแบบ NFS หรอใชวธทง�ยกว�นคอระบบชอโดเมน(DNS) ก�รทำ�ง�นของระบบจะเกดขนไดจะตองทำ�ใหเครองเซรฟเวอรทำ�ง�นเปนปกตกอนก�รเปดไฟลเขยนไฟลจ�กระยะท�งไกลจงจะเกดขนได

10.5.3 Consistency Semantics ก�รเข�ใจในก�รใหเหตผลและก�รศกษ�เกยวกบ

สญลกษณเปนเกณฑสำ�คญในก�รประเมนเกยวกบระบบไฟลขอมลทสนบสนนในก�รแชรไฟล สญลกษณเหล�นจะระบว�ผใชทใชอยนนส�ม�รถใชไฟลไหนไดนกนนกเพอเปนก�รกำ�หนดสทธภ�ยในตวของ

357

มนเอง โดยเฉพ�ะก�รเข�ไปแกไขสทธทผใชแตละคนไดรบนนจะเปนไปไดง�ยผใชส�ม�รถสงเกตเหนไดอย�งสะดวก สญลกษณเหล�นมกจะถกกำ�หนดต�มรหสทอยในระบบไฟลขอมล

คว�มเข�ใจในเรองเกยวกบสญลกษณทมคว�มเกยวของกบกระบวนก�รและมคว�มเข�ใจทตรงกนกบกระบวนก�รในก�รแกปญห�จ�กบทท 6 นน เปนบททบอกถงคว�มซบซอนของกลไกในก�รแกปญห� แตคว�มซบซอนทใชในบททไดกล�วถงไปมกจะไมถกดำ�เนนก�รในกรณของไฟล I/O เนองจ�กก�รเข�ถงไฟลทแอบแฝงและอตร�ก�รถ�ยโอนขอมลระหว�งดสกและเครอข�ยนนช�

ตอไปนจะเปนตวอย�งของชดคำ�สงทจะทำ�ใหเร�ส�ม�รถเข�ถงไฟลได (นนคอก�รอ�นและเขยนไฟล) ซงผใชส�ม�รถตดตอไปยงไฟลไดโดยจะมวงเลบลอมรอบเอ�ไวเชนเปด( ) และ ปด( ) โดยก�รทเร�จะใชง�นชดคำ�สงใดไดนนเร�จะตองมคว�มรเรองสญลกษณกอนเร�จงจะนำ�ไปใชง�นได

10.5.3.1 Unix Semantics (ความหมายของ UNIX)

ระบบไฟลในระบบปฏบตก�รยนกตUNIX (จะกล�วถงในบทท 15) จะมคว�มหม�ยตอไปน

- ก�รทเร�จะเขยนหรอบนทกไฟลไดนนผใชตองมองว�ไฟลนมผอนใชหรอไมเมอทำ�ก�รเปดไฟล

- หนงในโหมดทมก�รแชรกนชวยแบงปนใหผใชส�ม�รถเข�ถงไฟลของแตละคนไดโดยใชตวชไปยงตำ�แหนงของขอมลทมอย โดยไฟลทถกชตำ�แหนงนนจะถกมองเหนไดโดยทงสอง

358

ไฟลททำ�ก�รแชรกน ซงไฟลทแชรกนส�ม�รถทจะถกเข�ถงไดโดยง�ยโดยไมคำ�นงถงระบบปองกนใด ๆ

ในระบบยนกต UNIX อธบ�ยว� ไฟลนนมคว�มเกยวของกนท�งก�ยภ�พรวมถงทรพย�กรทใช ก�รเข�ถงไฟลทใชพรอมกนจะทำ�ใหเกดคว�มล�ช�ในกระบวนก�รก�รเรยกใช

10.5.3.2 Session Semantics ระบบแฟมแบบแอนดว (AFS) (บทท 15) ทถกใชจะม

คว�มหม�ยดงตอไปน- ก�รทเร�จะเขยนหรอบนทกไฟลผใชจะมองไมเหนว�

ไฟลนมผอนใชหรอไมเมอทำ�ก�รเปดไฟล- เมอมไฟลทถกเขยนใหมแลวถกปดลง ก�ร

เปลยนแปลงททำ�ไวจะปร�กฏออกม�หลงจ�กทเรมเปดใหมในภ�ยหลง สวนไฟลทเปดอยแลวจะไมแสดงออกถงคว�มเปลยนแปลงทเกดขนเหล�น ต�มคว�มเปนจรงนนไฟลเหล�นอ�จจะเชอมโยงชวคร�ว

กบหล�ยๆสวนในเวล�เดยวกน ดงนนเมอมผใชหล�ยร�ยไดรบอนญ�ตใหดำ�เนนก�รทงก�รเขยนและอ�นภ�ยในไฟลเดยวกนโดยจะไมเกดคว�มล�ช�ในก�รเข�ถง ซงเปนไปไดว�อ�จจะไมมขอจำ�กดในก�รกำ�หนดเวล�เข�ใช

10.5.3.3 Immutable – Shared – Files Semantics

ก�รแชรไฟลทไมซำ�กน เมอมก�รประก�ศไฟลทใชรวมกนแลวมนจะไมส�ม�รถแกไขได ก�รทไมมก�รเปลยนคณสมบต ซงกคอมชอไฟลไมเหมอนกนแตเนอห�ข�งในอ�จเหมอนกน ก�รดำ�เนนก�รเหล�นจะใชในก�รประมวลผลแบบกระจ�ย (บทท 15) ซงเปนเรองทง�ยในก�รใชง�นรวมกน

359

10.6 Protectionเมอขอมลถกเกบไวในระบบคอมพวเตอรสงทเร�ตองก�รคอ

คว�มปลอดภยท�งด�นก�ยภ�พ และคว�มปลอดภยท�งด�นก�รเข�ถงขอมล

คว�มเชอถอของก�รทเกดคว�มซำ�ซอนของสำ�เน�ของไฟล คอมพวเตอรในทกวนนมระบบหรอโปรแกรมททำ�ง�นโดยอตโนมตอยแลว(หรอคอมพวเตอรมระบบททำ�ง�นอตโนมตเองอยแลว)ก�รคดลอกไฟลระหว�งดสกนนเร�ส�ม�รถทำ�ไดเปนระยะ ดงนนควรมก�รแบคอพขอมลเอ�ไว เพอปองกนก�รทแฟมถกทำ�ล�ยโดยบงเอญ ไฟลในระบบนนส�ม�รถทจะรองรบคว�มเสยห�ยจ�กปญห�ท�งด�นฮ�รดแวรได (เชน ขอผดพล�ดในก�รอ�นและเขยน) ไมมไฟเลยง หรอ เกดคว�มผดพล�ดลมเหลวจ�กก�รทหวอ�นขอมลสกปรก อณหภมภ�ยในเครองสง หรอจ�กปญห�อน ๆ ขอผดพล�ด (BUG) ทอยในระบบไฟล ยงส�ม�รถทำ�ใหไฟลสญห�ยได ซงร�ยละเอยดส�ม�รถศกษ�ไดในบทท 12

ดงนนก�รปองกนก�รสญห�ยของขอมลจงเปนเรองสำ�คญซงอ�จจะไมเหนคว�มสำ�คญในขณะทใชเครองเพยงคนเดยวหรอไมไดมก�รตดตอกบเครองอน ๆ แตมนจะสำ�คญม�กขนเมอมก�รตดตอระหว�งกนมก�รแชรไฟลระหว�งกน ก�รปองกนขอมลจงมคว�มสำ�คญม�กขน

10.6.1 Types of Access คว�มจำ�เปนในก�รปองกนไฟลนนเปนผลม�จ�กก�รทม

ก�รแชรไฟลแลวส�ม�รถเข�ถงไฟลนนได เมอมไฟลทผใชไมตองก�รเปดเผยจำ�เปนตองมก�รปองกนเพอไมใหผอนเข�ม�ใชง�น เมอเปนเชนนเร�จงตองมก�รปองกนขอมลทสมบรณโดยก�รไมใหเข�ถงขอมลหรอกคอใหเร�เข�ถงไฟลเพยงคนเดยว ทงสองวธนนเปนวธ

360

ก�รปองกนทดสำ�หรบก�รใชง�นทว ๆ ไป และอะไรคอก�รควบคมก�รเข�ถงก�รใชง�น

ก�รปองกนโดยก�รควบคมก�รเข�ถงของขอมลโดยก�รกำ�หนดสทธของผใชว�มประเภทเปนอะไรซงเร�ส�ม�รถกำ�หนดมนได โดยเครองแมข�ยจะมประเภทในก�รกำ�หนดชนดดงน

อ�น (Read) อ�นขอมลจ�กไฟล เขยน (Write) เขยนหรอเขยนซำ�ไฟล ดำ�เนนก�ร (Execute) อ�นไฟลแลวเอ�เข�ไปใน

หนวยคว�มจำ�แลวดำ�เนนก�รกบไฟลนน เพม (Append) เขยนขอมลใหมจนกระทงจบไฟล ลบ (Delete) ลบไฟลอกไปทำ�ใหเกดพนทว�ง ร�ยก�ร (List) แสดงชอและสวนประกอบต�ง ๆ

ของไฟล ก�รดำ�เนนก�รอน ๆ เชน ก�รคดลอก เปลยนชอ และแกไข

ไฟลเร�ส�ม�รถดำ�เนนก�รไดทงหมด สำ�หรบชดคำ�สงทมจำ�นวนม�กและซบซอนเหล�นนนจะทำ�ง�นในระดบทสงขนไปโดยจะดำ�เนนก�รดวยระบบโปรแกรมทจะทำ�ใหเครองคอมพวเตอรส�ม�รถลดก�รใชทรพย�กรลงไปได

กลไกในก�รปองกนขอมลนนไดรบก�รพจ�รณ�เปนระยะ ซงแตละกลไกมทงขอดและขอเสยและจะตองเหม�ะสำ�หรบคว�มสมครใจทจะใชดวยไมส�ม�รถบงคบกนได ในระบบเครอข�ยคอมพวเตอรขน�ดเลกทมสม�ชกเพยงไมกคนก�รปองกนอ�จจะยงมไมม�กนก แตก�รปองกนตองเพมม�กขนเมอเปนองคกรขน�ดใหญซงกคอคอมพวเตอรทใชสำ�หรบง�นวจย ก�รเงนและบคล�กร ก�รปองกนทลกกว�นเร�จะศกษ�ม�กขนในบทท 17

10.6.2 Access Control สวนใหญวธในก�รปองกนปญห�นนจะขนอยกบขอมล

เฉพ�ะของตวผใช ผใชทแตกต�งกนอ�จจะตองกำ�หนดสทธเพอใหเข�ไปใชไฟลหรอไดเรกทอรทกำ�หนดไวเท�นน โดยทวไปนนก�รเชอมโยงของไฟลในแตละไดเรกทอรจะใชวธก�รเข�ถงโดยก�ร

361

ควบคม(access-control list(ACL)) ซงวธก�รนตองระบถงชอผใชและประเภทของก�รเข�ถงจะอนญ�ตใหใชไดเฉพ�ะร�ยเท�นน

Access Control List (ACL) นำ�ม�ใชในก�รกำ�หนดสทธก�รเข�ถงฟงกชนก�รทำ�ง�นต�ง ๆ ในก�รกำ�หนดสทธนจะแบงก�รกำ�หนดค�ต�ง ๆ ออกเปนสองสวนหลก ๆ กคอ สวนของ AROs (Access Request Objects) ตรงนจะเปนก�รกำ�หนด Object ททำ�ก�ร Request ฟงกชนก�รทำ�ง�น (action) ซงโดยสวนใหญแลวจะหม�ยถง กลมของผใช หรอตวผใชเอง ส�ม�รถกำ�หนดเปน n-level ได หม�ยถง กลมของผใช หรอผใชจะส�ม�รถถกแบงเปนระดบยอย ๆ ไดหล�ยระดบ

สวนของ ACOs (Access Control Objects) ตรงนจะใชกำ�หนดทรพย�กรต�งในระบบของเร�ทเร�ตองก�รจะกำ�หนดสทธใหกบ ผใชบ�งกลมหรอบ�งคนในก�รเข�ถงทรพย�กรต�ง ๆ ของระบบเร� ซงสวนนส�ม�รถกำ�หนดเปนระดบยอยไดเชนกน

ประเภทในก�รเข�ถงไฟลโดยก�รควบคมจำ�แนกสทธของผใชออกเปนส�มประเภทคอ

เจ�ของ (Owner) เปนเจ�ของไฟลส�ม�รถกำ�หนดสทธใหแกผใชง�นทวไปได

กลม (Group) เปนกลมของผใชซงจะแชรไฟลใชง�นระหว�งกนไดและตองก�รก�รเข�ถงทคล�ยกนเปนกลมหรอทำ�ง�นกลม

ทงหมด (Universe) เปนกลมของผใชทงหมดทมอยในระบบก�รปองกนทเชอมโยงกบไฟลมดงน

362

ซ�ร� ควรจะเหนก�รดำ�เนนก�รทงหมดทมอยในไฟล

จม ด�วร และ จน ส�ม�รถเข�ม�อ�นและเขยนไฟลไดแตพวกเข�ไมส�ม�รถลบไฟลทอยในทนได

ผใชง�นทวไปทกคนส�ม�รถเข�ม�อ�นไฟลไดแกไมส�ม�รถเขยนหรอบนทกไฟลได(เนองม�จ�ก ซ�ร�ไดเข�ม�กำ�หนดสทธของผใชง�นเอ�ไวว�ใหกลมไฟลใชง�นอะไรได)

เพอบรรลผลก�รปองกนนน เร�ตองสร�ง กลมคำ�พด,ขอคว�ม ใหม ดวย สม�ชก Jim, Dawn และ Jill ชอของกลมขอคว�ม ตองเกยวของกบ file และสทธในก�รเข�ถงจำ�เปนตองมก�รตงค�เกยวทเนองกนกบนโยบ�ยทเร�มเค�โครงรปแบบอย

ผเข�ดจะถกกำ�หนดต�มสทธก�รเข�ถง file ใหเข�ถงไดแคบทท 1 ผเยยมชมไมส�ม�รถเพมขอคว�มจดกลม เพร�ะว�สงนนจะทำ�ใหเข�เข�ถงทก ๆ บท กลมอน ๆไมส�ม�รถเพมเข�สบทท 1 ได เพร�ะว� file หนงๆนนจะส�ม�รถอยเฉพ�ะในกลมหนงเท�นนดวยก�รเพมฟงชนก ก�รเข�ถง,ก�รควบคม ผเยยมชม ส�ม�รถเพมวธก�รจดก�รกบ file ของบทท 1 ได

สำ�หรบโครงก�รนเพอใชง�นอย�งเหม�ะสม และสทธก�รควบคมก�รเข�ใชร�ยก�รตองไดรบก�รควบคมอย�งแนนหน� หนวยควบคมนส�ม�รถมคว�มส�ม�รถหล�ยท�ง ตวอย�งเชน ระบบ UNIX กลมทงหล�ยส�ม�รถถกสร�ง และ แกไขได เฉพ�ะผจดก�รของสถ�นทนน ๆ (หรอโดย superuser) ดงนน ก�รควบคมน ถกทำ�ใหบรรลผล โดยมนษย ในระบบ VMS ผเปนเจ�ของของ file ส�ม�รถสร�ง และแกไขร�ยก�รน ก�รเข�ถงร�ยก�ร ไดอธบ�ยเพมเตมไวอยในสวนท 17.5.2

Limited ของก�รปองกนมเพยงแค 3 field ซงทง 3 field นตองก�ร ก�รกำ�หนดก�รปองกน บอยๆท ขอมล สวนใหญ

363

อยในรป ของกลม bit แตละ bit จะมก�รยอมใหเข�ใช หรอ จะมก�รปองกนก�รเข�ถงขอมลทเกยวของกบมน ตวอย�งเชน ระบบ UNIX กำ�หนด 3 field เปน rwx ซง r คอ ก�รอ�น w คอ ก�รเขยน x คอ ก�ร execution

Field ทถกจดแลว แบงเปน ก�รเข�ถงในระดบต�งๆ ของผใชง�น โดยแบงเปน สำ�หรบเจ�ของ file, สำ�หรบ File, s group และ สำ�หรบ user คนอน ในโครงก�รน เก�บตตอ file ตองก�รบนทกก�รปองกนขอมล ดงนนเร�ปองกน field สำ�หรบ file book มดงน

สำ�หรบเจ�ของ Sara บตทงหมดไดรบก�รกำ�หนดค�; สำ�หรบกลม text r และ w บตถกกำ�หนดค� สำ�หรบ universe r บต เท�นนทถกกำ�หนดค�

แนวท�งหนงทย�กในก�รรวม ก�รเข�ถงไวใน user interface ผใชจะตองส�ม�รถบอกเมอตวเลอก ACL สทธไดรบก�รกำ�หนดค�ใน file ในตวอย�ง Solaris เชน "+" ตอท�ยปกตสทธ เชน

19 -rw-r--r---+ 1 jim staff 130 May 25 22:13 file1

แยกชดคำ�สง setfacl และ getfacl, มก�รใชเพอจดก�ร ACLs.

ผใชของ Windows XP โดยปกตจะจดก�รเข�ถง-ควบคมร�ยก�รผ�น GUI รปท 10.13 แสดง file-permissons หน�ต�งใน Windows XP เปนระบบ file แบบ NTFS. ในตวอย�งนผใช "guest" ถกปฏเสธก�รเข�ถง file 10.txt

ทย�กอกคอเมอ permission กบ ACLs ขดแยงกน ตวอย�งเชนห�ก Joe อยใน file’s group ทไดรบอนญ�ตใหอ�นได แต ACL อนญ�ต ใหอ�น และ เขยนได ก�รเขยน file นจะเกดขนไดหรอไม ต�มกฎทวไปทนนขอกำ�หนดควรมคว�มสำ�คญ

364

รปท 10.13 Windows XP access-control list management.

10.6.3 แนวทางการปองกนอนๆ อกวธก�รในก�รปองกนปญห�ทจะเชอมโยงกบรหสผ�น

ทfile แตละ file เชนเดยวกบก�รเข�สระบบคอมพวเตอรนนมกจะควบคมโดยรหสผ�นเข�ใชfile แตละ file ส�ม�รถควบคมในทำ�นองเดยวกน ห�กรหสผ�นจะถกเลอกแบบสมและก�รเปลยนแปลงบอยจะมประสทธภ�พในก�รจำ�กดก�รเข�ถง file อย�งไรกต�มก�รใชรหสผ�นมขอเสยเหมอนกน ขนแรกจำ�นวนของรหสผ�นทผใชตองจำ�อ�จมขน�ดใหญ สองห�กรหสผ�นหนงรหสใชสำ�หรบทก file เมอถกคนพบ file ทงหมดส�ม�รถเข�ถงได บ�งระบบอนญ�ตใหผใชเชอมโยง password กบไดเรกทอรยอยแทนทจะเชอมโยงกบแตละ file กบปญห�น ระบบปฏบตก�ร IBMVM / CMS ยอมใหส�มรหสผ�นสำ�หรบ minidisk โดยแตละอนสำ�หรบอ�น เขยน และ multiwrite

บ�งระบบปฏบตก�รเชนของ MS-DOS และรนกอนหน�ของแมคอนทอชระบบปฏบตก�รกอนหน� Mac OS X ในด�นก�ร

365

ปองกน file นนมเพยงเลกนอย ในสถ�นก�รณท ระบบเก�เหล�นจะมก�รว�งไวในเครอข�ยทแชรfile และก�รสอส�รทจำ�เปนตองมก�รปองกนกลไก retrofitted ก�รออกแบบระบบปฏบตก�ร ใหมจะง�ยกว�ก�รเพมคณสมบตใหระบบปฏบตก�รทมอย ก�รปรบปรงดงกล�วมกจะมประสทธภ�พนอย

ใน multilevel ไดเรกทอรโครงสร�งเร�จงตองปองกนไมเพยงแตละ file แตยงตองปองกนชดของ file ในไดเรกทอรยอยทเร�ตองใหมกลไกก�รปองกนไดเรกทอร ไดเรกทอรทำ�ง�นทตองมก�รปองกนทคอนข�งแตกต�งจ�กก�รดำ�เนนง�น file เร�ตองก�รควบคมก�รสร�งและลบ file ในไดเรกทอร. นอกจ�กนเร�อ�จตองก�รควบคมว�ผใชส�ม�รถตรวจสอบก�รทำ�ง�นของ file ในไดเรกทอร บ�งครงก�รรจกชอของ file กมคว�มทสำ�คญในตวเอง ดงนนร�ยก�รเนอห�ในไดเรกทอรตองปองกนก�รดำ�เนนง�น ในทำ�นองเดยวกนห�กเสนท�งดทชอ file ในไดเรกทอรของผใชจะตองไดรบอนญ�ตใหเข�ถงทงไดเรกทอรและ file ในระบบทมหล�ย file หล�ยชอ path ทใหผใชอ�จมสทธในก�รเข�ใชทแตกต�งกนหนง file ขนอยกบก�รใชชอ path

สรปfile เปนชนดขอมลน�มธรรมกำ�หนดและดำ�เนนก�รโดยระบบ

ปฏบตก�ร เปนลำ�ดบขอมล logic. ขอมล logic อ�จเปนไบต,

366

บรรทดหรอร�ยก�รขอมลเพมเตมทซบซอน ระบบปฏบตก�รอ�จแยกประเภทหรออ�จจะออกไปยงแอปพลเคชนโปรแกรม

ง�นทสำ�คญสำ�หรบระบบปฏบตก�รทจะทำ�ก�รแมป logic file ลงสเชนจ�นแมเหลกเทปหรอดสก. เนองจ�กขน�ดของอปกรณอ�จไมเท�กบ ขน�ด ขอมล logic อ�จเปนก�รสนบสนนระบบปฏบตก�รหรอเหลอทสำ�หรบแอปพลเคชนโปรแกรม

แตละ อปกรณ ใน file system เกบปรม�ณต�ร�งของเนอห�หรออปกรณไดเรกทอรร�ยก�รตำ�แหนงของ file บนอปกรณ นอกจ�กนจะมประโยชนในก�รสร�งไดเรกทอรเพอให file ทจะจดระเบยบ single-level ไดเรกทอรใน multiuser ทำ�ใหระบบก�รเรยกชอปญห�ของแตละ file ตองมชอเฉพ�ะ two-level ไดเรกทอรแกปญห�นโดยก�รสร�งไดเรกทอรทแยกจ�กกนสำ�หรบผใชแตละร�ย. ผใชแตละร�ยจะมไดเรกทอรซงประกอบดวย file เปนของตวเอง เรยงร�ยก�รไดเรกทอรของ file โดยใชชอและตำ�แหนงบนดสก,คว�มย�ว,ประเภท,เจ�ของ,เวล�ของก�รสร�ง และ ครงสดท�ยทใช

ธรรมช�ตลกษณะทวไปของ two-level ไดเรกทอรคอโครงสร�งแบบตนไม โครงสร�งแบบตนไม ของไดเรกทอรอนญ�ตใหผใชสร�ง ไดเรกทอรยอยในก�รจดระเบยบ file Acyclic-graph ไดเรกทอรโครงสร�งผใชใชในก�รแบงปน file และ ไดเรกทอรยอย แตซบซอนในก�รคนห�และลบ โครงสร�งทวไปกร�ฟจะชวยใหเกดคว�มยดหยนในก�รใชง�นรวมกนของ file และไดเรกทอรแตบ�งครงตองเกบรวบรวมขยะเพอกคนไวในสวนทไมไดใชพนทดสก

ดสกจะถกแบงออกเปนหล�ยสวนหรอแตละทม file system file ระบบอ�จมก�รตดตงไวในระบบของก�รตงโครงสร�งเพอใหส�ม�รถใชง�นได โดยมทตงทแตกต�งกนโดยระบบปฏบตก�ร เมอมก�รตดตง file ภ�ยในวอลมทมก�รใชง�น file system อ�จจะเปดก�รใชง�นหรอเพอก�รบำ�รงรกษ�

367

ก�รแชร file ขนอยกบก�รใหคว�มหม�ยโดยระบบ file นอ�จมหล�ยผอ�นหล�ยผเขยนหรอจำ�กดก�รใชง�นรวมกน ก�รกระจ�ย file system เพอให client host หรอไดเรกทอรจ�กเซรฟเวอรตร�บเท�ทพวกเข�ส�ม�รถเข�ถงกนและกนข�มเครอข�ย ก�รเข�ถง file จ�กระยะไกล file system ปจจบนท�ท�ยในเรองคว�มเชอถอไดของขอมล ประสทธภ�พและคว�มปลอดภย ก�รกระจ�ยขอมลระบบรกษ�ผใชโฮสตและก�รเข�ถงขอมลเพอใหไคลเอนตและเซรฟเวอรส�ม�รถแบงปนขอมลสถ�นก�รณใชก�รจดก�รและเข�ถงได

เนองจ�ก file เปนขอมลหลกในเกอบทกระบบของคอมพวเตอร ก�รปองกน file จงมคว�มตองก�รม�ก ก�รเข�ถง file ส�ม�รถควบคมแยกกนสำ�หรบแตละประเภทก�รเข�ถง อ�น เขยน รน ลบร�ยก�รไดเรกทอร และแชร ก�รปองกน file ส�ม�รถใหก�รปองกนโดยรหสผ�น โดยเข�ถงร�ยก�ร หรอเทคนคอน ๆ