ระบบแฟ้ม
Home  Contents KMArticlesMembersSponsorsAbout us

ปรับปรุง : 2556-11-14 (ปรับรูปแบบ)
ขอบซ้ายขอบบน
ระบบแฟ้ม
[แสดงภาพ] สารบัญ :: #1 :: #2 :: #3 :: #4 :: #5 :: #6 :: #7 :: #8 :: #9 :: #10 :: #11 :: #12 ::

สาระการเรียนรู้
1. โครงสร้างระบบแฟ้ม
2. โครงสร้างไดเรกทอรี่
3. วิธีการเข้าถึง
4. การอนุญาตให้เข้าถึงแฟ้ม

จุดประสงค์การสอน
1. เข้าใจโครงสร้างระบบแฟ้ม
2. สามารถจัดการกับโครงสร้างไดเรกทอรี่ได้
3. เข้าใจวิธีการเข้าถึง
4. สามารถเขียนภาพแสดงการเข้าถึงได้
5. เข้าใจการอนุญาตให้เข้าถึงแฟ้ม
6. สามารถบอกลักษณะการอนุญาตเข้าถึงแฟ้มได้

เกริ่นนำ
    การจัดเก็บแฟ้มของ Windows ในระบบ FAT (File Allocation Table) จะใช้ตาราง FAT และ ตาราง Directory โดยแบ่งพื้นที่ของฮาร์ดดิสก์ออกเป็น cylender และ cluster และ track และ sector และ block แต่ละแฟ้มจะต้องใช้พื้นที่ที่อยู่ในแต่ละ block หากขนาดแฟ้มเล็กกว่า 1 block ก็จะใช้กินพื้นที่ 1 block เพื่อให้หัวอ่านทำงานได้เร็ว โดยอ่านข้อมูลครั้งละ 1 block ทำให้หัวอ่านเคลื่อนตัวไปเท่าจำนวน block แทนจำนวน byte การจัดเก็บในแต่ละสื่อก็จะมีมาตรฐานและขนาดของ block แตกต่างกันไป อย่างเช่น CD ก็จะเก็บข้อมูลแบบก้นหอย ไม่ได้แบ่งเป็นวงเล็กใหญ่ลดหลั่นกันไปเหมือนใน harddisk
บทนำ
แฟ้ม หรือไฟล์ (File)
หมายถึง กลุ่มของสารสนเทศที่สัมพันธ์กัน ซึ่งความสัมพันธ์เหล่านั้นกำหนดโดยผู้สร้างแฟ้ม และอาจใช้เก็บอะไรก็ได้
หมายถึง กลุ่มของระเบียนที่สัมพันธ์กัน เป็นเรื่องเดียวกัน
หมายถึง สิ่งที่บรรจุข้อมูลต่าง ๆ ไว้ในที่เดียวกัน
หมายถึง A named collection of related information that is recorded on secondary storage.
หมายถึง A collection of bytes stored as an individual entity. All data on disk is stored as a file with an assigned file name that is unique within the folder (directory) it resides in. To the computer, a file is nothing more than a string of bytes. The structure of a file is known to the software that manipulates it. For example, database files are made up of a series of records. Word processing files contain a continuous flow of text. [techweb.com]
ระบบแฟ้ม (File system)
หมายถึง สิ่งที่ผู้ใช้เกี่ยวข้องโดยตรง แต่มักไม่รู้ตัวเนื่องจากเป็นการอำนวยความสะดวกโดยระบบปฏิบัติการอย่างอัตโนมัติ ระบบแฟ้มเป็นฐานที่ทำให้เกิดการจัดการโปรแกรม และข้อมูลในทุกการดำเนินงานของระบบซอฟท์แวร์ที่เข้าควบคุมสื่อเก็บข้อมูล
ระบบแฟ้มประกอบด้วย 3 ส่วน คือ 1)รวมรวมแฟ้ม (Collection of Files) เก็บข้อมูลที่สัมพันธ์ให้ถูกอ้างอิงได้ในรูปแฟ้มข้อมูล 2)โครงสร้างแฟ้ม (Directory Structure) จัดการอำนวยการเข้าถึงแฟ้มและจัดกลุ่มอย่างเป็นระบบ 3)พาทิชัน (Partitions) ซึ่งแยกเป็นทางกายภาพ (Physically) หรือทางตรรก (Logically) ของระบบไดเรกทรอรี่ (Directory) โดยเนื้อหาในบทนี้จะกล่าวถึงแฟ้ม และโครงสร้างไดเรกทรอรี่ รวมถึงการป้องกันแฟ้ม จากการเข้าถึงในระบบ Multiple users และระบบ File sharing
วิธีการจัดเก็บข้อมูลที่ใช้กันใน OS ทุกตัวคือ จัดเก็บข้อมูลเป็นแฟ้มข้อมูลหรือไฟล์ (file) ไฟล์คือสิ่งที่บรรจุข้อมูล,โปรแกรมหรืออะไรก็ได้ที่ผู้ใช้ต้องการรวบรวมไว้เป็นชุดเดียวกัน การอ้างถึงไฟล์หรือข้อมูลต่าง ๆ ภายในไฟล์ของโปรแกรม จะไม่มีความเกี่ยวข้องกับแอดเดรสของโปรแกรมใด ๆ ทั้งสิ้น OS มีโอเปอร์เรชั่นพิเศษที่เรียกว่า system call ไว้ให้โปรแกรมเรียกใช้ เพื่อให้สามารถจัดการงานที่เกี่ยวกับไฟล์ได้
วิธีการจัดเก็บไฟล์ที่ใช้กันอยู่ทั่วไปมี 3 วิธี
1. เก็บเป็นไบต์เรียงกันไป UNIX เก็บไฟล์ในลักษณะนี้
2. เก็บเป็นเรคคอร์ด เรคคอร์ดจะมีขนาดคงที่สามารถจะอ่านหรือเขียนที่เรคคอร์ดไหนก็ได้ แต่ไม่สามารถเพิ่มหรือลบเรคคอร์ดกลาง ๆ ได้ วิธีนี้ใช้ใน CP/M
3. เก็บแบบต้นไม้หรือทรีของบล็อก (ในดิสก์) แต่ละบล็อกจะสามารถมี ก เรคคอร์ด แต่ละเรคคอร์ดจะมีคีย์ (key) เอาไว้ช่วยในการค้นหาเรคคอร์ด เรคคอร์ดสามารถเพิ่มหรือลบออกที่ใดก็ได้ ถ้ามีเรคคอร์ดถูกเพิ่มเข้าไปในบล็อกที่เต็มแล้ว บล็อกนั้นก็จะแยกออกเป็น 2 บล็อกใหม่ในทรีและจัดเรียงตามลำดับอักษร วิธีนี้ใช้บนเครื่องระดับเมนเฟรมหลายเครื่อง และเรียกว่า ISAM (indexed sequential access method)

Which File Systems Are There?
http://www.linux-knowledge-portal.org/en/content.php?&content/desktop/filesystem.html
In Linux there is no such thing as the one and only file system. Linux can handle a number of file systems. Here a short, by no means exhaustive overview:
AFS : a distributed file system, often used in WAN
autofs : for automatically mounting file systems/data media to the system, therefore not a real file system
devpts : for pseudo-terminals (complies with UNIX'98 specification)
ext2 : the standard in Linux
ext3 : further development of ext2 (currently beta status), will be able to do journaling ?
hpfs : OS/2 file system
iso9960 : standard format for CD-ROMs and DVDs
JFS : journaling file system originally developed by IBM for AIX (IBM UNIX); since February 2000 an Open-Source-licensed beta version is available as a patch for Linux
minix : file system from Minix, often used for Linux floppy disks
msdos : file system for MS-DOS partitions and floppy disks (short file names)
nfs : network file system for UNIX, for reading data on other computers
nftfs : Windows NT/2000 file system (read-only access)
nwfs : can read a NetWare disk file system
proc : process management under /proc
ReiserFS : Reiser file system, named after its creator Hans Reiser
smbfs : Samba (network file system under Windows)
swap : swap partitions or files
udf : universal disk format (CD-RWs and DVDs)
usbdevfs : for connecting and managing USB devices
vfat : DOS/Windows 9x file system (long file names)
XFS : journaling file system in UNIX; originally developed by SGI for IRIX, its custom-made UNIX; meanwhile a GPL beta version has become available as a patch for Linux

8.1 โครงสร้างระบบแฟ้ม (File-system structure)
ระบบแฟ้มแบ่งได้เป็น 6 ชั้น (Layer)
1. Application programs โปรแกรมที่นำไปใช้ เช่น เกม หรือ word เป็นต้น
2. Logical file system มีหน้าที่เชื่อม OS กับผู้ใช้ เพราะผู้ใช้เห็นแฟ้มเดียว แต่อาจเก็บข้อมูลจริงไว้แยกกัน ซึ่งเป็นหน้าที่ของ OS
3. File-organization module ทำหน้าที่ เชื่อมระหว่าง Logical block และ Physical block ให้เป็นเรื่องเดียวกัน
4. Basic file system ทำหน้าที่เข้าไปอ่าน และเขียนในส่วนของ Physical block
5. I/O control ประกอบด้วย Device driver ควบคุมอุปกรณ์ให้ใช้งานได้
6. Devices อุปกรณ์ที่เก็บข้อมูลหรือแฟ้ม ถูกควบคุมโดย Device driver

8.2 โครงสร้างไดเรกทอรี่(Directory structure)

Directory หรือ Folder หมายถึง สารบัญ ทำหน้าที่เก็บรายชื่อแฟ้มไว้ในที่เดียวกัน เพื่อให้ผู้ใช้เรียกใช้ได้ และ Directory ก็ถือเป็นแฟ้มประเภทหนึ่งที่ประกอบด้วยหน่วยย่อยต่าง ๆ เมื่อแบ่งฮาร์ดดิสก์ออกเป็นหลาย partition แต่ละ partition ก็จะมีระบบ directory ของตนเอง
ปฏิบัติการเกี่ยวกับ Directory
1. Search for a file
2. Create a file
3. Delete a file
4. List a directory แสดงรายชื่อแฟ้มใน 1 directory
5. Rename a file
6. Traverse the file system แสดง หรือเก็บรายชื่อแฟ้มในทุก directory ได้
โครงสร้างไดเรกทรอรี่เชิงตรรก (Logical structure of the directory)
1. Single-level directory
2. Two-level directory
3. Tree-structured directory
4. Acylic-graph directory
5. General graph directory

8.3 วิธีการเข้าถึง (Access methods)

แฟ้มถูกใช้เก็บข้อมูลสารสนเทศ เมื่อถูกใช้ย่อมมีการเข้าถึง เพื่ออ่านข้อมูลหลายวิธี
8.3.1 วิธีการเข้าถึง
1. Sequential access method
การอ่านข้อมูลต้องเป็นไปตามลำดับ ไม่สามารถข้ามไปยังจุดที่ต้องการได้
2. Direct access method or Relative access method
จากการที่แฟ้มมีการแบ่งเป็นกล่อง (Block) จึงทำให้สามารถวิ่งเข้าไปอ่านใน block ที่ต้องการได้โดยตรง
3. Other access method
เช่น index and relative files จะมีตัวบ่งชี้ในการเข้าถึงระเบียนที่ต้องการ
8.3.2 การเข้าถึงดิสก์
1. การจัดเวลาแบบมาก่อนได้ก่อน (FCFS scheduling)
เมื่ออยู่ใน queue ก็จะทำเรียงตามลำดับใน queue ไม่มีการพิจารณาอื่น
2. การจัดเวลาแบบเวลาสั้นสุดได้ก่อน (SSTF scheduling)
นำ process ใน queue มาพิจารณา และเลือกจุดที่เข้าถึงได้เร็ว จากจุดล่าสุด
3. การจัดเวลาแบบ SCAN (SCAN scheduling)
อ่านจากด้านหนึ่งไปอีกด้านหนึ่งเป็นทิศทางเดียว เมื่อกลับมาอีกด้านก็ยังทำงานเช่นกัน
4. การจัดเวลาแบบ C-SCAN (Circular-SCAN scheduling)
อ่านจากด้านหนึ่ง แต่เป็นแบบทิศทางเดียวแท้จริง คือการย้อนกลับมาจะไม่บริการ
5. การจัดเวลาแบบ (Look scheduling)
คล้ายกับ scan แต่ scan หรือ c-scan จะไม่มีการนำไปใช้จริง เพราะหัวอ่าน จะพิจารณาไปยังจุดที่ต้องอ่านจริงของอีกด้านหนึ่ง ไม่ได้ มิได้ไปยังขอบของจานบันทึก
ตัวอย่าง disk scheduling :
จาก http://www.scism.sbu.ac.uk/ccsv/josephmb/CS-L2-OS/osn/week2.html
Current position: track 100
Requested tracks, in order received: 55, 58, 39, 18, 90, 160, 150, 38, 184
FIFO: move 45 tracks to track 55; move 3 tracks to track 58; etc.
SSTF: move 10 tracks to track 90; move 32 tracks to track 58; etc.
SCAN, C-SCAN (moving in direction of increasing track number): move 50 tracks to track 150; move 10 tracks to track 160; etc.
ParameterFD 360KBHD รุ่นหนึ่ง
จำนวน cylinder4010601
จำนวน track / cylinder212
จำนวน sector / track9281(ค่าเฉลี่ย)
จำนวน sector / disk72035742000
จำนวน byte / sector512512
ความจุดิสก์360 KB18.3 GB
เวลาค้นหา (ใน cylinder ที่ติดกัน)6 msec0.8 msec
เวลาค้นหา (โดยเฉลี่ย)77 msec6.9 msec
เวลาในการหมุน200 msec8.33 msec
เวลาที่มอเตอร์หมุน และหยุด250 msec20 sec
เวลาที่ใช้ในการถ่ายโอน 1 sector22 msec17 นาโนเซคัน

8.4 การอนุญาตให้เข้าถึงแฟ้ม (File sharing)
1. None
2. Knowledge
3. Execution
4. Reading
5. Appending
6. Updating
7. Changing protection
8. Deletion

8.5 ปฏิบัติการจัดการแฟ้ม
- ฝึกจัดการแฟ้มในระบบปฏิบัติการ DOS
- ฝึกจัดการแฟ้มในระบบปฏิบัติการ Windows และการกำหนดสิทธิ์
- ฝึกจัดการแฟ้มในระบบปฏิบัติการ Linux และการกำหนดสิทธิ์
- ค้นคว้าข้อมูลเกี่ยวกับ ระบบแฟ้ม จากอินเทอร์เน็ต แล้วทำรายงาน และส่งตัวแทนนำเสนอหน้าชั้น
แนะนำเว็บไซต์ประกอบการค้นคว้าบางส่วน
+ http://www.cs.wisc.edu/~bart/537/lecturenotes/s28.html
+ http://www.cs.cf.ac.uk/User/O.F.Rana/os/lectureos11/node24.html
+ http://www.cs.adfa.edu.au/~spike/CSA2/Lectures00/lecture.disk.htm
! http://www.fareastern.ac.th/acad/bc/pichate/os_c11/chapter11.htm (ภาพชัดเจนมาก)
! http://www.humblepie.com/cs572/cs572notesandimages.html
! http://www.scism.sbu.ac.uk/ccsv/josephmb/CS-L2-OS/osn/week2.html
ข้อจำกัด ขนาดแฟ้ม ในแต่ละ ระบบปฏิบัติการ
http://dev.mysql.com/doc/refman/5.0/en/full-table.html
Operating SystemFile-size Limit
Win32 w/ FAT/FAT322GB/4GB
Win32 w/ NTFS2TB (possibly larger)
Linux 2.2-Intel 32-bit2GB (LFS: 4GB)
Linux 2.4+ (using ext3 filesystem)4TB
Solaris 9/1016TB
MacOS X w/ HFS+2TB
NetWare w/NSS filesystem8TB
ผู้สนับสนุน + ผู้สนับสนุน
+ รับผู้สนับสนุน
เอกสารอ้างอิง #
[1] Abraham silverschatz, Peter baer galvin, "Operating system concept", John wiley & Sons, New York, 2003.
[2] Milan Milenkovic, "Operating systems: concepts and design", McGraw-Hill inc., New York, 1992.
[3] William stallings, "Operating system", Prentice hall, New York, 1999.
[4] ไพศาล โมลิสกุลมงคล และคณะ, "ระบบปฏิบัติการ", สำนักพิมพ์ดวงกมลสมัย, กรุงเทพฯ, 2545.
[5] พิเชษฐ์ ศิริรัตนไพศาลกุล, "ระบบปฏิบัติการ (Operating system)", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2546.
[6] ดร.ยรรยง เต็งอำนวย, "ระบบปฏิบัติการ (Operating system)", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2541.
[7] ประชา พฤกษ์ประเสริฐ, "ระบบปฏิบัติการ", บริษัท ซัคเซส มีเดีย จำกัด., กรุงเทพฯ, 2549.
[8] วศิน เพิ่มทรัพย์, "คู่มือ MS-DOS", พี.เอ็น.การพิมพ์, กรุงเทพฯ, 2545.
[9] ชนินทร์ เชาวมิตร, "คู่มือยูนิกซ์เดสก์ทอป", บริษัท ซีเอ็ดยูเคชั่น จำกัด., กรุงเทพฯ, 2538.
[10] ผศ.ดร.กฤษดา ขันกสิกรรม, "ระบบปฏิบัติการ (Operating Systems)", อาง้วนการพิมพ์, นครสวรรค์, 2555.
"Imagination is more important than knowledge" - Albert Einstein
Home
Thaiabc.com
Thainame.net
Lampang.net
Nation university
PHP
MySQL
Visual basic.NET
TabletPC
Linux
Online quiz
Download
Search engine
Web ranking
Add website
Blog : Education
Blog : ACLA
Blog : Lampang
Facebook.com
Twitter.com
About us
My dream
Site map
Sponsor
http://goo.gl/72BPC