(Click to go File Systems and Storage Management)
Used to optimize read/write operations:
Disk scheduling is the method used by
operating systems to decide the order in which disk I/O operations are
performed. This is important because disk operations are time-consuming, and
efficient scheduling can reduce the time it takes to complete all I/O tasks.
FCFS, (First Come
First Serve)
SSTF (Shortest Seek
Time First)
SCAN (Elevator
Algorithm)
C-SCAN
LOOK
First Come, First Serve (FCFS):
- The simplest algorithm where the I/O requests
are handled in the order in which they arrive.
- It can lead to long waiting times for some
requests, especially if a request at the beginning of the queue is far
from the current disk position.
Shortest Seek Time First (SSTF):
·
The disk scheduler selects the
request that is closest to the current head position.
·
While this minimizes the seek
time, it can cause starvation for requests that are far away from the current
position.
SCAN (Elevator Algorithm):
·
The disk arm moves in one
direction (left or right) and processes all requests in that direction until it
reaches the end.
·
After reaching the end, it
reverses direction and processes requests in the opposite direction.
·
This reduces the overall seek
time compared to FCFS, but may cause delays for requests near the ends of the
disk.
C-SCAN (Circular SCAN):
·
Similar to SCAN but, once the
disk head reaches the end, it immediately returns to the beginning (without
servicing any requests in the reverse direction).
·
This ensures that all requests
are processed in a more uniform manner.
LOOK and C-LOOK:
·
LOOK is a variant of SCAN where the disk arm only moves as far as the last
request in the current direction, rather than going all the way to the end of
the disk.
·
C-LOOK is similar to C-SCAN but reverses direction only when there are no more
requests in the current direction.
Comparison of Disk
Scheduling Algorithms
|
Algorithm |
Advantages |
Disadvantages |
|
FCFS |
Simple to
implement, easy to understand. |
Can lead to
inefficient use of the disk (long wait times). |
|
SSTF |
More efficient
than FCFS in terms of seek time. |
Can cause
starvation for distant requests. |
|
SCAN |
Fairer, reduces
total seek time than FCFS. |
Can be
inefficient for systems with many requests at the extremes. |
|
C-SCAN |
More uniform
distribution of seek time. |
Still suffers
from high overhead when there are many requests. |
|
LOOK |
More efficient
than SCAN (doesn't go to the extremes). |
Similar to SCAN
but can still cause delays. |
Conclusion
Both directory structure and disk
scheduling are crucial components in file systems and overall system
performance. Directory structures ensure that files are organized logically,
while disk scheduling algorithms ensure that disk I/O operations are completed
efficiently. Balancing both can result in an optimized user experience, faster
file access, and improved system responsiveness.
File System Implementation in Linux:
Linux file system
implementation explains how files are stored, organized, and managed internally
by the OS. It is a key concept in Operating Systems.
Mounting & Unmounting File systems
Mounting & Unmounting
File Systems (Linux)
1. Mounting (Definition)
Mounting is the process of
attaching a file system (like a hard disk, USB, or partition) to a directory
(called a mount point) so that its files become accessible.
In Linux, everything is
accessed through directories, so devices must be mounted first.
2. Mount Point
A directory where the file
system is attached
Common mount points:
/mnt (temporary mount)
/media (for removable devices
like USB)
3. Mount Command
Syntax:
mount -t
<file_system_type> <device_name> <mount_point>
Example:
sudo mount -t ext4 /dev/sdb1
/mnt
ext4 → File system type
/dev/sdb1 → Device
(USB/partition)
/mnt → Mount point
4. Check Mounted File Systems
mount
or
df -h
5. Unmounting (Definition)
Unmounting is the process of
safely detaching a file system from its mount point.
This ensures no data is lost
or corrupted.
6. Unmount Command
Syntax:
umount <device_name or
mount_point>
Example:
sudo umount /mnt
or
sudo umount /dev/sdb1
7. Important Notes
Always unmount before
removing USB drives
If you get “device busy”
error:
Close open files
Use:
lsof | grep /mnt
8. Automatic Mounting
Done using the file:
/etc/fstab
Helps mount file systems
automatically at system startup
Key Points
Mount → Attach file system
Unmount → Detach file system
Required before accessing
storage devices
Prevents data loss
Short Answer
Mounting is the process of
attaching a file system to a directory to access its contents, while unmounting
safely removes it. Linux uses mount and umount commands, and /etc/fstab is used
for automatic mounting.
Understanding File Permissions
File permissions in Linux
control who can access a file and what actions they can perform. This is
essential for security and system management.
1. Types of Users
There are three categories:
Owner (u) → The creator of
the file
Group (g) → Users in the same
group
Others (o) → Everyone else
2. Types of Permissions
Each file has three basic
permissions:
Read (r) → View file contents
Write (w) → Modify file
Execute (x) → Run file (like
a program/script)
3. Permission Representation
Example:
-rwxr-xr--
Breakdown:
- → File type (- = file, d =
directory)
rwx → Owner permissions
r-x → Group permissions
r-- → Others permissions
4. Numeric (Octal) Representation
Each permission has a number:
r = 4
w = 2
x = 1
Add values:
|
Permission |
Value |
|
rwx |
7 |
|
rw- |
6 |
|
r-x |
5 |
|
r-- |
4 |
Example:
chmod 754 file.txt
Owner → 7 (rwx)
Group → 5 (r-x)
Others → 4 (r--)
5. Changing Permissions
Using Symbolic Method:
chmod u+x file.txt # Add execute to owner
chmod g-w file.txt # Remove write from
group
chmod o=r file.txt # Set read-only for
others
Using Numeric Method:
chmod 644 file.txt
6. Changing Ownership
chown user file.txt
chgrp group file.txt
7. Directory Permissions
r → List files
w → Create/delete files
x → Enter directory
8. Special Permissions (Advanced)
SUID (Set User ID) → Run file
as owner
SGID (Set Group ID) → Run
with group privileges
Sticky Bit → Only owner can
delete files (used in /tmp)
Key Points
Permissions ensure system
security
Represented as rwx or numbers
Controlled using chmod, chown
Different rules for files and
directories
Short Exam Answer
File permissions in Linux
define access rights for owner, group, and others using read, write, and
execute permissions. They can be represented symbolically or numerically and
modified using commands like chmod and chown.
(chmod, chown, ls -l)
File permissions in Linux
control who can access a file and what actions they can perform. This is
essential for security and system management.
1. Types of Users
There are three categories:
Owner (u) → The creator of
the file
Group (g) → Users in the same
group
Others (o) → Everyone else
2. Types of Permissions
Each file has three basic
permissions:
Read (r) → View file contents
Write (w) → Modify file
Execute (x) → Run file (like
a program/script)
3. Permission Representation
Example:
-rwxr-xr--
Breakdown:
- → File type (- = file, d =
directory)
rwx → Owner permissions
r-x → Group permissions
r-- → Others permissions
4. Numeric (Octal) Representation
Each permission has a number:
r = 4
w = 2
x = 1
Add values:
|
Permission |
Value |
|
rwx |
7 |
|
rw- |
6 |
|
r-x |
5 |
|
r-- |
4 |
Example:
chmod 754 file.txt
Owner → 7 (rwx)
Group → 5 (r-x)
Others → 4 (r--)
5. Changing Permissions
Using Symbolic Method:
chmod u+x file.txt # Add execute to owner
chmod g-w file.txt # Remove write from
group
chmod o=r file.txt # Set read-only for
others
Using Numeric Method:
chmod 644 file.txt
6. Changing Ownership
chown user file.txt
chgrp group file.txt
7. Directory Permissions
r → List files
w → Create/delete files
x → Enter directory
8. Special Permissions (Advanced)
SUID (Set User ID) → Run file
as owner
SGID (Set Group ID) → Run
with group privileges
Sticky Bit → Only owner can
delete files (used in /tmp)
Key Points
Permissions ensure system
security
Represented as rwx or numbers
Controlled using chmod, chown
Different rules for files and
directories
Short Exam Answer
File permissions in Linux
define access rights for owner, group, and others using read, write, and
execute permissions. They can be represented symbolically or numerically and
modified using commands like chmod and chown.
No comments:
Post a Comment