14.1. Khái niệm hệ điều hành
14.2. Quản lý tiến trình
14.3. Quản lý bộ nhớ
14.4. Quản lý tập tin
14.5. Quản lý thiết bị
14.6. Bảo mật
14.7. Sự thông dịch câu lệnh
14.8. Cấu trúc hệ điều hành
14.9. Một số hệ điều hành phổ biến
98 trang |
Chia sẻ: thuongdt324 | Lượt xem: 566 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn tin học - Chương 14: Hệ điều hành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 14
HỆ ĐIỀU HÀNH
OPERATING SYSTEM
Nội dung
14.1. Khái niệm hệ điều hành
14.2. Quản lý tiến trình
14.3. Quản lý bộ nhớ
14.4. Quản lý tập tin
14.5. Quản lý thiết bị
14.6. Bảo mật
14.7. Sự thông dịch câu lệnh
14.8. Cấu trúc hệ điều hành
14.9. Một số hệ điều hành phổ biến
Khái niệm hệ điều hành
Hệ điều hành (Operating system-OS) là một phần
mềm hệ thống gồm các chương trình kiểm soát
các nguồn tài nguyên (CPU, bộ nhớ, thiết bị
vào/ra,) và điều khiển các hoạt động của một hệ
thống máy tính và cung cấp cho người dùng một
giao diện để tương tác với máy tính.
Hai mục tiêu chính của một hệ điều hành:
◦ Tạo một hệ thống máy tính thuận tiện để sử
dụng
◦ Quản lý tài nguyên của một hệ thống máy tính
Khái niệm hệ điều hành
Windows
Linux
Mac OS
Khái niệm hệ điều hành
Kiến trúc Logical của một hệ thống máy tính
Khái niệm hệ điều hành
Kiến trúc Logical của một hệ thống máy tính
Ví dụ
Các công việc của hệ điều hành
Khái niệm hệ điều hành
Hệ thống đo lường
1. Thông lượng
2. Thời gian hoàn thành
3. Thời gian phản hồi
Chức năng chính của hệ điều hành
1. Quản lý tiến trình
2. Quản lý bộ nhớ
3. Quản lý tập tin
4. Quản lý thiết bị
5. Bảo mật
6. Phiên dịch các lệnh
Quản lý tiến trình (processes)
Phụ thuộc vào khả năng của hệ điều hành và phần
cứng máy tính, tiến trình có thể được quản lý theo
multitasking (đa nhiệm), multithreading (đa luồng),
và multiprocessing (đa xử lý).
Multitasking: thực hiện nhiều chương trình cùng
một lúc trên một hệ máy tính.
Multithreading: cho phép nhiều phần hay nhiều
tuyến đoạn (threads) đồng hành để giải quyết
nhiều việc cùng một lúc.
Multiprocessing: là máy tính có nhiều bộ xử lý có
khả năng hỗ trợ phân chia thực hiện mỗi công trên
mỗi bộ xử lý.
Quản lý tiến trình
Là các tiến trình được gửi đến hệ thống theo một
cơ chế nào đó để giảm thiểu thời gian nhàn rỗi của
các vi xử lí biến đổi (CPU, bộ xử lí I/O) trong hệ
thống máy tính.
Quản lí tiến trình trong hệ thống sơ
khai
Một tiến trình thực thi theo các bước sau:
1. Lập trình viên viết chương trình lên giấy.
2. Chương trình được đục lỗ trên những thẻ hay
dải giấy dài.
3. Lớp phủ của thẻ hoặc dải giấy có chứa chương
trình và dữ liệu được gửi tại bộ tiếp nhận của
trung tâm máy tính.
4. Bộ điều khiển sẽ đưa dữ liệu trên các thẻ hay
dải giấy nạp thủ công vào hệ thống từ đầu đọc
thẻ hoặc đầu đọc dải giấy trên.
Bộ điểu khiển cũng phản hồi để nạp bất kì tài
nguyên phần mềm khác hoặc điều chỉnh thiết
bị phần cứng được yêu cầu cho việc thực thi
tiến trình này.
Trước khi nạp tiến trình, bộ điều khiển sử dụng
bảng điều khiển chuyển đổi ở mặt ngoài của hệ
thống máy tính để làm sạch bộ nhớ chính và
xóa những dữ liệu còn lại của tiến trình trước
đó.
Quản lí tiến trình trong hệ thống sơ khai
Quản lí tiến trình trong hệ thống sơ
khai
5. Bộ điều khiển sẽ gán những bộ ngắt mạch
thích hợp vào trong bảng điều khiển để chạy
tiến trình.
6. Kết quả các công việc được thực thi.
Khuyết:
Chuyển tiếp giữa các tiến trình là thủ công
không tự động. Do đó, máy tính lãng phí rất
nhiều thời gian
Quản lí tiến trình trong hệ thống sơ
khai
Phương thức tự động luân chuyển các công việc
là nhóm các tiến trình, các tiến trình thường
được thực hiện theo cách sau:
1. Lập trình viên chuẩn bị các chương trình và dữ
liệu trên thẻ hoặc dải giấy và gửi chúng vào bộ
tiếp nhận của trung tâm máy tính.
2. Bộ xử lí tổng hợp định kì tất cả những chương
trình được gửi đến và sẽ nhóm chúng với nhau,
sau đó nạp tất cả chúng vào thiết bị đầu vào của
hệ thống một lần nữa.
Quản lí tiến trình trong hệ thống sơ
khai
3. Bộ xử lí ra lệnh tới hệ thống để bắt đầu thực
hiện các công việc.
4. Các công việc tự động tải dữ liệu từ các thiết bị
đầu vào và thực hiện từng tiến trình một mà
không có bất kì sự can thiệp của bộ xử lí nào.
5. Khi tất cả các tiến trình trong nhóm được gửi
đến đã được xử lí, bộ xử lí sẽ xử lý riêng biệt
và xuất kết quả của mỗi công việc và giữ chúng
lại bộ tiếp nhận để các lập trình viên tổng hợp.
Quản lí tiến trình trong hệ thống sơ khai
Hình 14.02
$ END
Data for program
$RUN
$LOAD
COBOL program
$COBOL
$JOB, ONGC05839, USER=SINHA
Minh họa sử dụng các phát biểu điều khiển công việc và cấu trúc của mẫu cho quá
trình xử lý trong hệ thống .
Các loại tiến trình
Có 2 loại tiến trình:
Các tiến trình giới hạn CPU: các tiến trình thực
hiện tính toán số học, với một ít hoạt động I/O.
Chúng sử dụng CPU nhiều trong suốt quá trình
xử lí.
Các tiến trình giới hạn I/O: các tiến trình
thường nhập vào số lượng dữ liệu lớn, hoạt
động tính toán thì rất ít, và số lượng thông tin
đầu ra lớn. Chúng sử dụng CPU rất ít và hầu hết
thời gian dành cho hoạt động I/O (nhập/xuất).
Quản lý tiến trình
Chương trình hệ thống chỉ thực thi một công việc tại một thời điểm và
tất cả tài nguyên hệ thống thì độc quyền cho công việc này cho đến
khi hoàn tất
Đa chương (đa kênh)
Hệ đa chương là thực thi xen kẽ hai hoặc nhiều
tiến trình khác nhau và độc lập nhau trên máy
tính.
Các tiến trình cùng lúc thường trú ở bộ nhớ
chính, khi một tiến trình thực thi (sử dụng CPU) ,
bắt đầu hoạt động I/O thì CPU được cấp phát
cho một tiến trình khác trong bộ nhớ chính để
giảm việc nhàn rỗi của CPU.
Hệ đa kênh thì không được khai báo để thực thi
những chỉ thị từ nhiều chương trình cùng một
lúc. CPU thực thi tối ưu chỉ một chỉ thị tại một
thời điểm.
Đa chương (đa kênh)
Đa chương (đa kênh)
Đa chương (đa kênh)
Yêu cầu của hệ thống đa chương
1. Bộ nhớ lớn
2. Sự bảo vệ bộ nhớ để ngăn ngừa một tiến trình
thay đổi thông tin hoặc dữ liệu truyền vào 1
vùng của bộ nhớ khi một tiến trình khác đang
xử lý hay truy xuất dữ liệu tại vùng nhớ này.
3. Duy trì trạng thái tiến trình
4. Hòa trộn tiến trình một cách đúng đắn
5. Lập lịch biểu hoạt động cho CPU
Đa chương (đa kênh)
Xử lý đa luồng (Multithreading)
Một tiến trình gồm có một địa chỉ và một hay
nhiều luồng điều khiển.
Mỗi một luồng của tiến trình có bộ đếm chương
trình riêng, trạng thái đăng ký riêng, ngăn xếp
(stack) riêng của nó.
Tất cả các luồng của tiến trình đều được dùng
chung một địa chỉ.
Các luồng chia sẻ các biến toàn cục dùng
chung.
Các luồng của tiến trình chia sẻ bộ tài nguyên
dùng chung của hệ điều hành.
Hình14.07
(a)
(b)
(a)Single-threaded and (b) multithreaded processes. A single-threaded process
corresponds to a process of a traditional operating system.
Thead
Thead
Thead
Thead
Địa chỉ trống
Xử lý đa luồng (Multithreading)
Động cơ để dùng đa các luồng
Tổng phí liên quan đến việc tạo ra một tiến trình,
nó sử dụng địa chỉ từ chính tiến trình của nó mà
không cần phải được tạo ra từ vùng làm việc.
Tổng phí liên quan đến chuyển đổi CPU giữa
những luồng ngang hàng là rất nhỏ so với chuyển
đổi CPU giữa những tiến trình có địa chỉ riêng.
Nguồn tài nguyên chia sẻ giữa các luồng của một
tiến trình có thể được thực hiện hiệu quả và tự
nhiên hơn vì các luồng sử dụng một địa chỉ.
Xử lý đa luồng (Multithreading)
Đa xử lý (Multiprocessing)
Mô tả máy tính hoặc cấu hình máy tính liên kết
với hai CPU trở lên có khả năng đồng thời cùng
một lúc thực hiện nhiều chương trình.
Main memory
CPU
I/O Processors
I/O Units
Cấu trúc máy tính với CPU, bộ nhớ và bộ vi xử lý I/O.
Tổ chức cơ bản của hệ thống đa xử lý
Hình 14.9
CPU-1
CPU-2
Main memory
I/O processors
I/O units
I/O processors
I/O units
Đa xử lý (Multiprocessing)
Đa xử lí có 2 kiểu:
Hệ thống liên kết chặt chẽ: là một hệ thống đơn,
bộ nhớ chính rộng lớn được chia sẻ bởi tất cả vi
xử lí.
Hệ thống liên kết lỏng lẻo: các vi xử lí không chia
sẻ bộ nhớ, mỗi vi xử lí có một vùng nhớ riêng.
Các vi xử lí có thể ở xa nhau, ở từng vùng khác
nhau và trải đều trong một không gian rộng lớn.
Đa xử lý (Multiprocessing)
Sự khác nhau giữa đa chương và đa xử lí
Đa chương
Multitasking
Đa xử lý
Multiprocessing
Là sự thực thi đan xen nhau
giữa hai hay nhiều tiến trình
bởi hệ thống máy tính có 1
CPU
Là sự thực hiện đồng thời
hai hay nhiều tiến trình bởi
hệ thống máy tính có nhiều
hơn một CPU.
Thi hành một đoạn của một
chương trình, sau đó là một
mảng khác của chương
trình khác, trong khoảng
thời gian ngắn liên tục.
Thi hành cùng một lúc
nhiều phân đoạn chương
trình của một hay nhiều
chương trình khác nhau.
Đa xử lý (Multiprocessing)
Thuận lợi của “đa xử lý”
Năng suất tốt hơn.
Độ tin cậy cao hơn.
Hạn chế của “đa xử lý”
Đòi hỏi phải có một hệ điều hành hết sức tinh vi
để đưa vào chương trình, cân bằng và phối hợp
đầu vào, đầu ra và các tiến trình được kích hoạt
của nhiều bộ vi xử lý.
Thiết kế của hệ điều hành là một công việc phức
tạp và tốn nhiều thời gian.
Chi phí bảo trì cao.
Đa xử lý (Multiprocessing)
Chia sẻ thời gian (time-sharing)
Chia sẻ thời gian là một phương thức mà hệ
thống máy tính được nhiều người sử dụng cùng
một lúc theo cách mà mỗi người đều có cảm
giác như là mình đang có một máy tính riêng.
Một hệ thống chia sẻ thời gian có nhiều người
dùng cuối thực hiện kết nối đồng thời đến cùng
một máy tính.
Đặc tính đa chương cho phép nhiều chương
trình lưu trú đồng thời trong bộ nhớ chủ.
Hình 14.10 Sơ đồ trạng thái quá trình cho hệ thống chia sẻ thời gian
New
job
I/O completed
Allotted time slice
is over
Job must wait for
I/O completion
Job processing
completed
Job is allocated the CPU for
execution
Ready
Running
Blocked
Chia sẻ thời gian (time-sharing)
Những yêu cầu của hệ chia sẻ thời gian
Kết nối đầu cuối đồng thời đến hệ thống.
Một bộ nhớ tương đối lớn để hỗ trợ đa chương.
Thiết bị bảo vệ bộ nhớ để ngăn các tiến trình và dữ liệu đến từ
các tiến trình khác trong môi trường đa chương.
Thiết bị bảo quản tình trạng tiến trình để duy trì trạng thái
thông tin khi CPU đem đến và khôi phục lại dữ liệu trước khi
CPU vận hành lại.
Một thuật toán lịch biểu CPU ấn định thời gian của từng CPU
đến mỗi tiến trình người dùng theo kiểu vòng tròn.
Một thiết bị định giờ phát ra tín hiệu ngắt đến CPU.
Chia sẻ thời gian (time-sharing)
Ưu điểm của hệ thống Time-sharing
Giảm thời gian nhàn rỗi của CPU
Thời gian đáp ứng nhanh.
Đưa ra sự tính toán phù hợp cho người dùng.
Chia sẻ thời gian (time-sharing)
Quản lí bộ nhớ
Mô hình bộ nhớ đơn kênh
Chỉ một công việc được xử lí bởi hệ thống tại một
thời điểm và tất cả tài nguyên hệ thống chỉ dành
riêng cho công việc này cho đến khi nó hoàn tất.
Hệ điều hành nạp một chương trình từ ổ đĩa vào
trong bộ nhớ và thực thi nó. Khi tiến trình hoàn
thành, hệ điều hành dọn dẹp sạch vùng nhớ và nạp
chương trình kế tiếp để thực thi.
Quản lí bộ nhớ
Figure 14.11
User area
Operating system area
Unused
Operating system
User process
Uniprogramming memory
model
Quản lí bộ nhớ
Mô hình bộ nhớ đa kênh
Đa chương với số lượng những phân vùng bộ
nhớ cố định:
Vùng sử dụng của bộ nhớ được chia thành một số
các phân vùng có kích thước cố định.
Các phân vùng này có thể có kích thước bằng nhau
hoặc không bằng nhau, nhưng kích thước của mỗi
phân vùng là cố định.
Mỗi phân vùng có thể chứa chính xác một tiến trình.
Tại một thời điểm chỉ có n tiến trình có thể được
nạp vào trong hệ thống
Quản lí bộ nhớ
Mô hình bộ nhớ đa kênh
Hình14.12
Mô hình bộ nhớ đa chương trình với số định của
partitions bộ nhớ (all partitions of equal size)
User area divided into
n equal-sized partitions
Operating system area
Partition 1
Partition 2
Partition 3
Partition n
.
:
Operating system
Quản lí bộ nhớ
Mô hình bộ nhớ đa kênh
Hệ đa chương với số lượng phân vùng biến đổi:
Số lượng, kích thước và vị trí của những phân vùng
biến đổi linh động tương ứng với những tiến trình
tới và đi.
Khi quá trình đến, phân vùng bộ nhớ sẽ được cấp
phát và chỉ định, kích thước chính xác theo yêu cầu
bộ nhớ của quá trình mà nó được cấp phát.
Theo yêu cầu bộ nhớ của các quá trình khác nhau,
các bộ nhớ trống sẽ tạo thành một khối nhớ liên tục.
Hệ điều hành duy trì một bảng theo dõi của bộ nhớ
trống và bộ nhớ đang bị chiếm giữ.
Quản lí bộ nhớ
Khi một quá trình mới đến, hệ điều hành tìm kiếm
một bộ nhớ đủ lớn cho quá trình này.
Nếu bộ nhớ quá lớn, nó sẽ tách ra làm 2 phần.
◦ Một phần đủ lớn để đáp ứng nhu cầu về bộ nhớ và cấp
phát cho quá trình.
◦ Một phần bộ nhớ còn lại được đưa vào bộ nhớ trống trong
bảng theo dõi của hệ điều hành.
Khi một quá trình kết thúc, nó sẽ giải phóng bộ nhớ
được cấp phát trước đó.
Nếu bộ nhớ được giải phóng nằm sát ngay các bộ
nhớ trống, nó sẽ trộn với các bộ nhớ trống này
thành bộ nhớ trống lớn hơn.
Sự phân mảnh bộ nhớ
Phân mảnh ngoại
Phân mảnh ngoại là khi toàn bộ bộ nhớ còn trống
đủ đáp ứng cho một tiến trình, nhưng vẫn còn có
một vài quá trình không thể được nạp vào vì các bộ
nhớ trống có khả năng đáp ứng lại không nằm sát
với nhau
Phân mảnh ngoại phụ thuộc vào toàn bộ bộ nhớ
chính và yêu cầu bộ nhớ cần thiết của tiến trình. Sự
phân tích thống kê cho biết chỉ có 1/3 bộ nhớ không
thể dùng được vì phân mảnh ngoại.
Sự phân mảnh bộ nhớ
Phân mảnh nội
Là khi quá trình đến bộ nhớ chỉ định mà bộ nhớ đó
lớn hơn nhu cầu thực tế nên bộ nhớ dư thừa không
dùng đến. Phân mảnh nội xảy ra trong các trường
hợp sau:
◦ Khi hệ thống sử dụng số lượng nhất định của một phân
vùng bộ nhớ cố định, bất cứ nơi nào trong phân vùng đó
vượt quá yêu cầu bộ nhớ của quá trình nạp vào thì nó trở
thành phân mảnh nội trong bộ nhớ.
◦ Khi hệ thống sử dụng số lượng bộ nhớ khác với kích
thước các phân vùng bộ nhớ
Sự phân mảnh bộ nhớ
Một ví dụ về đa chương trình với số lượng các phân vùng bộ nhớ khác nhau.
Sự phân mảnh bộ nhớ
Một ví dụ về phân mảnh nội của bộ nhớ
Sự phân mảnh bộ nhớ
Phân trang
Bộ nhớ vật lý của hệ thống máy tính được phân
chia thành các khối có kích thước cố định gọi là
khung trang.
Toàn bộ bộ nhớ được yêu cầu cho một quá trình
(bao gồm cả cấu trúc và dữ liệu của nó) được phân
chia thành các khối có kích thước giống nhau gọi là
các trang.
Kích thước của mỗi trang có thể từ 1KB đến 8KB và
khác nhau từ hệ thống này đến hệ thống khác.
Sự phân mảnh bộ nhớ
Khi một quá trình thực thi, nó được nạp vào bộ nhớ, các
trang của nó được nạp vào các khung trang trống đã có
sẵn và một bảng ánh xạ được sắp xếp sẵn để theo dõi
các trang của một quá trình được nạp vào bên trong
khung trang của bộ nhớ.
Để đảm bảo địa chỉ bộ nhớ đúng trong trường hợp phân
trang, mỗi địa chỉ được tạo ra bởi CPU thì được chia làm
2 phần bao gồm số trang và độ dời trang.
Bảng trang được sử dụng để chứa thông tin của số
khung trang tương ứng với số trang, và độ dời trang kết
hợp với địa chỉ nền của số khung trang để định nghĩa địa
chỉ bộ nhớ vật lý được gởi đến bộ nhớ
Sự phân mảnh bộ nhớ
Ví dụ minh họa về cơ chế phân trang
Bộ nhớ ảo
Bộ nhớ ảo là gi ?
Bộ nhớ ảo là một cơ chế quản lý bộ nhớ cho phép
quá trình được thực thi mà không phải nạp toàn bộ
vào bộ nhớ chính.
◦ Một quá trình không thể được tải và chờ đợi cho đến khi nó
bắt đầu được thực hiện trừ khi bộ nhớ trống còn đủ đề tải
toàn bộ quá trình đã sẵn sàng. Điều này có thể trì hoãn thời
gian hoàn thành của một quá trình với một phạm vi lớn.
◦ Một quá trình không thể được nạp vào trong một hệ thống
khi kích thước bộ nhớ chính nhỏ hơn tổng bộ nhớ được
yêu cầu của quá trình đó.
Bộ nhớ ảo
Bộ nhớ ảo được thực hiện như thế nào?
Bộ nhớ phụ trực tuyến: Nó là thiết bị lưu trữ phụ mà có
khả năng lớn hơn khả năng của bộ nhớ chính và nó luôn
luôn được giữ trực tuyến với hệ thống.
Cơ chế swapping: là quá trình của việc chuyển một
khối dữ liệu từ bộ nhớ phụ trực tuyến đến bộ nhớ chính
hoặc từ bộ nhớ chính đến bộ nhớ phụ trực tuyến.
Demand paging (phân trang theo yêu cầu): tương tự
như cơ chế phân trang nhưng thêm vào cơ cấu hỗ trợ
cơ chế swapping in.
Bộ nhớ ảo
Thuận lợi của bộ nhớ ảo
Có thể phân chia thành bộ nhớ logic và bộ nhớ vật
lý.
Không gian địa chỉ logic không còn bị hạn chế bởi
kích thước bộ nhớ vật lý của hệ thống
Thực thi một quá trình trong một hệ thống mà kích
thước bộ nhớ chính nhỏ hơn tổng bộ nhớ yêu cầu
của quá trình đó.
Cho phép một quá trình thực thi khi bộ nhớ trống
còn đủ để nạp toàn bộ quá trình khi chưa được sẵn
sàng.
Bộ nhớ ảo
Công việc lập trình trở nên dễ dàng hơn vì không bị
hạn chế bộ nhớ.
Việc nhập/xuất ít hơn, chương trình người dùng
chạy nhanh hơn dẫn tới dung lượng, thời gian hoàn
thành, và thời gian đáp ứng tốt hơn
Có thể sử dụng hiệu quả để điều tiết đồng thời các
đoạn chương trình với một số lượng lớn người
dùng trong bộ nhớ chính.
Sự gia tăng của nhiều chương trình dẫn đến tăng
việc sử dụng CPU và dung lượng hệ thống.
Bộ nhớ ảo
Hạn chế của bộ nhớ ảo
Khó sử dụng vì nó yêu cầu nhiều giải thuật để hỗ
trợ cho việc phân trang theo yêu cầu
Nếu sử dụng không cẩn thận, nó có thể giảm đáng
kể sự thực thi thay vì làm tăng sự thực hiện. Điều
này xảy ra khi gặp tỉ lệ lỗi trang cao cho một quá
trình. Nghĩa là, quá trình dành nhiều thời gian cho
cơ chế swapping out và swapping in của trang hơn
là thực thi quá trình đó.
QUẢN LÝ TẬP TIN
Tập tin là gì?
Là một tập hợp các thông tin có liên quan với
nhau. Mỗi tập tin có một tên, dữ liệu, và thuộc
tính.
◦ Tên tập tin là cách duy nhất xác định nó trong hệ thống
và được sử dụng để người dùng truy cập nó.
◦ Dữ liệu của tập tin là nội dung của nó.
◦ Thuộc tính của tập tin chứa đựng những thông tin như
thời gian và ngày tháng tạo ra, thời gian và ngày tháng
truy cập, thời gian và ngày tháng cập nhật cuối cùng,
kích thước hiện thời, những đặc tính bảo vệ (người truy
cập tập tin và cách truy cập tập tin)
QUẢN LÝ TẬP TIN
Cấu trúc tập tin
Hai loại phổ biến của cấu trúc tập tin được dùng
bởi nhiều hệ điều hành là dãy tuần tự các byte
không cấu trúc và dãy các mẫu tin có kích thước
xác định.
QUẢN LÝ TẬP TIN
Cấu trúc tập tin
Dãy tuần tự các byte không cấu trúc
Một tập tin là một chuỗi các byte.
Tất cả các thao tác truy cập đến tập tin tại mức hệ
điều hành là đọc, viết hay bỏ qua.
Không có sự giải thích về các byte được xử lý
như thế nào trong hệ điều hành.
Có tính linh hoạt tối đa, nhưng sự hỗ trợ thì rất
thấp.
Được sử dụng phổ biến trong nhiều hệ điều hành
như UNIX và MS-DOS.
QUẢN LÝ TẬP TIN
Cấu trúc tập tin
Dãy các mẫu tin có kích thước xác định
Hệ điều hành xem một tập tin là dãy các mẫu tin
có kích thước xác định.
Mỗi mẫu tin có cấu trúc bên trong được định
nghĩa bởi người tạo ra tập tin.
Tất cả các thao tác truy cập tập tin tại mức hệ
điều hành là phân phối số mẫu tin để đọc, viết
hay bỏ qua.
Hiện nay đa số các hệ điều hành đều sử dụng sơ
đồ cấu trúc tập tin là CP/M.
QUẢN LÝ TẬP TIN
Cấu trúc tập tin
Các loại cấu trúc tập tin
QUẢN LÝ TẬP TIN
Phương thức truy cập tập tin
1. Truy xuất tập tin tuần tự:
Thông tin được lưu trữ trong tập tin được truy cập
một cách tuần tự.
Quá trình đọc các byte hay những mẫu tin sẽ bắt
đầu từ đầu của tập tin.
Một tập tin tuần tự có thể quay lại và đọc lại khi
cần thiết (Giống như băng ghi âm)
QUẢN LÝ TẬP TIN
Phương thức truy cập tập tin
2. Truy xuất tập tin ngẫu nhiên:
Sử dụng phổ biến với phương tiện lưu trữ trực
tiếp như đĩa từ hay đĩa quang.
Thông tin lưu trữ có thể truy cập ngẫu nhiên
không để ý đến thứ tự của các byte hay mẫu tin
được lưu trữ.
QUẢN LÝ TẬP TIN
Xử lý tập tin
Create: Để tạo một tập tin mới
Delete: Để xóa một tập tin
Open: Một tập tin
Close: đóng tập tin.
Read: Dùng để đọc dữ liệu đã lưu trong tập tin
Write: Dùng để viết dữ liệu mới