Thảo luận Bài 3
+19
NguyenVietLong08(HLT3)
KhanhChan
PhamAnhDung_HLT3
vothihongngoc72 (HLT3)
NguyenVuLong67(HLT3)
HuynhHuuPhat(HLT3)
LamQuocVu(HLT3)
DaoThanhDuong (HLT3)
NguyenQuocCuong(HLT3)
NguyenHuuSonLam(TH10A1)
VoMinhQuang (HLT3)
TranNguyenBinh(HLT3)
dangthituyetnhungTH08a1
NguyenThiThuThao(TH09A2)
VanPhuAnhTuan95(HLT3)
VoThiHuynhVan(TH09A2)
NguyenHaAn(I22A)
CaoBaDuc-25-HLT3
Admin
23 posters
Trang 2 trong tổng số 2 trang
Trang 2 trong tổng số 2 trang • 1, 2
Trình bày và so sánh hai mô hình liên lạc giữa các tiến trình
Liên lạc giữa các tiến trình (Interprocess Communication):
- Mỗi máy tính trong mạng có Host Name và (hoặc) IP Address. Các tên này được HĐH chuyển đổi thành một số nguyên gọi là HostID.
- Mỗi tiến trình có ProcessName và ProcessID.
- Cặp số (HostID, ProcessID) xác định duy nhất tiến trình trong mạng và được dùng để Mở/Đóng kết nối với tiến trình đó.
- Có các lời gọi hệ thống kiểu Open, Close, Read, Write, Wait để thao tác với tiến trình.
Truyền thông điệp:
- Cho phép các tiến trình gởi các khuôn dữ kiệu có khuôn dạng tới bất kì tiến trình nào
- Chức năng của hệ thống truyền thông điệp là cho phép các quá trình giao tiếp với các quá trình khác mà không cần sắp xếp lại dữ liệu chia sẻ.
- Đơn vị truyền thông tin trong cơ chế truyền thông điệp là một thông điệp, do đó các tiến trình có thể trao đổi dữ liệu ở dạng cấu cấu trúc.
Dùng bộ nhớ chung:
- Với phương thức này, các tiến trình chia sẻ một vùng nhớ vật lý thông qua trung gian không gian địa chỉ của chung. Một vùng nhớ chia sẻ tồn tại độc lập với các tiến trình, và khi một tiến trình muốn truy xuất đến vùng nhớ này, tiến trình phải kết gắn vùng nhớ chung đó vào không gian địa chỉ riêng của từng tiến trình, và thao tác trên đó như một vùng nhớ riêng của mình.
- Đây là phương pháp nhanh nhất để trao đổi dữ liệu giữa các tiến trình. Nhưng phương thức này cũng làm phát sinh các khó khăn trong việc bảo đảm sự toàn vẹn dữ liệu (coherence)
- Một khuyết điểm của phương pháp liên lạc này là không thể áp dụng hiệu quả trong các hệ phân tán , để trao đổi thông tin giữa các máy tính khác nhau.
- Mỗi máy tính trong mạng có Host Name và (hoặc) IP Address. Các tên này được HĐH chuyển đổi thành một số nguyên gọi là HostID.
- Mỗi tiến trình có ProcessName và ProcessID.
- Cặp số (HostID, ProcessID) xác định duy nhất tiến trình trong mạng và được dùng để Mở/Đóng kết nối với tiến trình đó.
- Có các lời gọi hệ thống kiểu Open, Close, Read, Write, Wait để thao tác với tiến trình.
Truyền thông điệp:
- Cho phép các tiến trình gởi các khuôn dữ kiệu có khuôn dạng tới bất kì tiến trình nào
- Chức năng của hệ thống truyền thông điệp là cho phép các quá trình giao tiếp với các quá trình khác mà không cần sắp xếp lại dữ liệu chia sẻ.
- Đơn vị truyền thông tin trong cơ chế truyền thông điệp là một thông điệp, do đó các tiến trình có thể trao đổi dữ liệu ở dạng cấu cấu trúc.
Dùng bộ nhớ chung:
- Với phương thức này, các tiến trình chia sẻ một vùng nhớ vật lý thông qua trung gian không gian địa chỉ của chung. Một vùng nhớ chia sẻ tồn tại độc lập với các tiến trình, và khi một tiến trình muốn truy xuất đến vùng nhớ này, tiến trình phải kết gắn vùng nhớ chung đó vào không gian địa chỉ riêng của từng tiến trình, và thao tác trên đó như một vùng nhớ riêng của mình.
- Đây là phương pháp nhanh nhất để trao đổi dữ liệu giữa các tiến trình. Nhưng phương thức này cũng làm phát sinh các khó khăn trong việc bảo đảm sự toàn vẹn dữ liệu (coherence)
- Một khuyết điểm của phương pháp liên lạc này là không thể áp dụng hiệu quả trong các hệ phân tán , để trao đổi thông tin giữa các máy tính khác nhau.
LamQuocVu(HLT3)- Tổng số bài gửi : 31
Join date : 17/03/2014
Chức năng của Thông dịch
Thông dịch là thao tác làm cho trương trình tự tìm ra lỗi của bài toán lập trình==>sửa chữa những chỗ sai làm cho trương trình chạy được,chỉ khi nào thông dịch hoàn tất không có lỗi thì mới đến quá trình biên dịch,thông thường các trương trình mà chúng ta thường dùng để lập trình là những ngôn ngữ lập trình bậc cao,biên dịch là viết lại trương trình dưới ngôn ngữ máy làm cho máy tính có thể hiểu được trương trình và thực hiện trương trình đó.
* Thông Dịch
- Chương trình được viết được biên dịch ra thành ngôn ngữ máy trên một HDH xác định trước và chỉ chạy trên HDH đó (C++ -> .exe chỉ chạy trên Win, C++ -> .o chạy trên Unix/Linux …..) - Trong thông dịch thì mã nguồn không được dịch trước thành ngôn ngữ máy mà mỗi lần cần chạy chương trình thì mã nguồn mới được dịch để thực thi từng dòng 1 (line by line). Tất cả các ngôn ngữ không biện dịch ra mã máy điều phải sử dụng trình thông dịch (PHP, WScripts, Perl, Linux Shell, Python….). Các ngôn ngữ theo trình thông dịch thường được gọi là script (kịch bản)
* Biên Dịch
- Ưu điểm của trình biên dịch là chương trình được tối ưu tốt cho HĐH và kiến trúc phần cứng ngay lúc dịch sang mã máy.
* Thông Dịch
- Trình thông dịch thì có ưu điểm là có thể chạy trên nhiều HĐH và kiến trúc máy tính khác nhau, miễn là có bộ thông dịch tương ứng trên HDH.
* Biên Dịch
- Tuy quá trình này tốn thời gian, nhưng chỉ thực hiện có 1 lần mà thôi.
* Thông Dịch
- Trình thông dịch thì mỗi lần chạy sẽ chuyển chương trình sang mã máy, mỗi lần dịch thì thời gian tốt ít thôi, nhưng bù lại có thể lần nào chạy cũng phải dịch (trừ khi bộ thông dịch cache lại kết quả của lần dịch trước đó).
* Biên Dịch
- Trình biên dịch tạo ra file executable lúc này đã là mã máy, nên trên đĩa nó bao nhiêu thì load lên memory nó sẽ xấp xỉ bấy nhiêu.
* Thông Dịch
- Trình thông dịch thì trên memory còn có bộ thông dịch, và bộ thông dịch phải load chương trình nguồn lên rồi dịch thành mã máy…cho nên thường quá trình chạy 1 chương trình thông dịch sẽ tốn memory hơn.
NguyenVuLong67(HLT3)- Tổng số bài gửi : 11
Join date : 30/03/2014
Age : 32
Đến từ : Bình Định
Sự khác nhau giữa Thông dịch và biên dịch
Thông dịch là thao tác làm cho trương trình tự tìm ra lỗi của bài toán lập trình==>sửa chữa những chỗ sai làm cho trương trình chạy được,chỉ khi nào thông dich hoàn tất không có lỗi thì mới đến quá trình biên dịch,thông thường các trương trình mà chúng ta thường dùng để lập trình là những ngôn ngữ lập trình bậc cao,bien dịch là viết lại trương trình dưới ngôn ngữ máy làm cho máy tính có thể hiểu được trương trình và thực hiện trương trình đó
vothihongngoc72 (HLT3)- Tổng số bài gửi : 28
Join date : 16/03/2014
Tìm hiểu về máy ảo
Máy ảo là gì?
Một máy ảo là một chương trình đóng vai trò như một máy vi tính ảo. Nó chạy trên hệ điều hành hiện tại - hệ điều hành chủ và cung cấp phần cứng ảo tới hệ điều hành khách. Các hệ điều hành khách chạy trên các cửa sổ của hệ điều hành chủ, giống như bất kỳ chương trình nào khác của máy. Đối với những hệ điều hành khách, máy ảo lại hiện diện như một cỗ máy vật lý thực sự.
Các máy ảo cung cấp phần cứng ảo, bao gồm CPU ảo, RAM ảo, ổ đĩa cứng, giao diện mạng và những thiết bị khác. Các thiết bị phần cứng ảo được cung cấp bởi máy ảo và được ánh xạ tới phần cứng thực trên máy thật. Ví dụ như, ổ đĩa cứng ảo lại được lưu trong một file đặt trên ổ đĩa cứng thực.
Bạn có thể cài đặt nhiều máy ảo lên máy thực và chỉ bị hạn chế bởi dung lượng bộ lưu trữ hiện có cho chúng. Khi đã cài đặt một vài hệ điều hành, bạn có thể mở chương trình máy ảo và chọn máy ảo muốn khởi động, khởi động hệ điều hành khách và chạy trong một cửa sổ của hệ điều hành chủ hoặc cũng có thể chạy ở chế độ toàn màn hình (full-screen mode).
Tác dụng của máy ảo
Các máy ảo có một số tác dụng phổ biến:
Kiểm thử các phiên bản hệ điều hành: Bạn có thể chạy phiên bản thử nghiệm Windows 8 bằng máy ảo trên máy chạy Windows 7. Điều này cho phép bạn thử nghiệm Windows 8 mà không phải cài đặt một phiên bản Windows bất ổn định trên máy mình.
Thử nghiệm các hệ điều hành khác: Bạn có thể cài nhiều bản phân phối Linux khác nhau và các hệ điều hành ít biết đến hơn bằng một máy ảo để thử nghiệm chúng và tìm hiểu cách chúng hoạt động. Nếu bạn hứng thú với Ubuntu, bạn có thể cài đặt nó vào máy ảo và sử dụng tại một cửa sổ trên màn hình desktop bình thường.
Sử dụng phần mềm đòi hỏi một hệ điều hành cũ: Nếu bạn có một ứng dụng quan trọng mà chỉ chạy trên Windows XP, bạn có thể cài đặt XP trên máy ảo và chạy ứng dụng trên máy ảo. Máy ảo đang thực sự chạy Windows XP, vì vậy tính tương thích không phải vấn đề. Điều này cho phép người dùng sử dụng một ứng dụng mà chỉ tương thích với Windows XP mà không phải cài Windows XP trên máy thật, đặc biệt quan trọng khi xét đến nhiều laptop mới và phần cứng khác không hỗ trợ đầy đủ cho Windows XP.
Chạy phần mềm được thiết kế cho những hệ điều hành khác: Những người dùng Mac và Linux có thể chạy Windows trên một máy ảo để sử dụng những phần mềm cho Windows trên máy tính mà không phải đau đầu về tính tương thích. Không may là, với trò chơi thì đây có thể là một vấn đề. Các chương trình máy ảo có độ trễ và không một ứng dụng máy ảo nào cho phép chạy các bản game 3D mới nhất. Một số hiệu ứng 3D được hỗ trợ nhưng đồ họa 3D là điều ít được hỗ trợ nhất trên máy ảo.
Kiểm thử phần mềm trên nhiều nền tảng: Nếu bạn cần kiểm thử một ứng dụng có tương thích với nhiều hệ điều hành hoặc chỉ các bản Windows khác nhau hay không, bạn có thể cài mỗi hệ điều hành lên một máy ảo thay vì cần nhiều máy thực xung quanh.
Tăng cường cho server: Đối với các doanh nghiệp sử dụng nhiều server, thì các server có thể được đặt vào những máy ảo và chạy trên một máy tính đơn lẻ. Mỗi máy ảo là một thư mục cách ly, vì vậy điều này không gây những nguy cơ về bảo mật liên quan tới việc chạy nhiều server khác nhau trên cùng hệ điều hành. Các máy ảo cũng có thể được di dời giữa những server thật.
Một máy ảo là một chương trình đóng vai trò như một máy vi tính ảo. Nó chạy trên hệ điều hành hiện tại - hệ điều hành chủ và cung cấp phần cứng ảo tới hệ điều hành khách. Các hệ điều hành khách chạy trên các cửa sổ của hệ điều hành chủ, giống như bất kỳ chương trình nào khác của máy. Đối với những hệ điều hành khách, máy ảo lại hiện diện như một cỗ máy vật lý thực sự.
Các máy ảo cung cấp phần cứng ảo, bao gồm CPU ảo, RAM ảo, ổ đĩa cứng, giao diện mạng và những thiết bị khác. Các thiết bị phần cứng ảo được cung cấp bởi máy ảo và được ánh xạ tới phần cứng thực trên máy thật. Ví dụ như, ổ đĩa cứng ảo lại được lưu trong một file đặt trên ổ đĩa cứng thực.
Bạn có thể cài đặt nhiều máy ảo lên máy thực và chỉ bị hạn chế bởi dung lượng bộ lưu trữ hiện có cho chúng. Khi đã cài đặt một vài hệ điều hành, bạn có thể mở chương trình máy ảo và chọn máy ảo muốn khởi động, khởi động hệ điều hành khách và chạy trong một cửa sổ của hệ điều hành chủ hoặc cũng có thể chạy ở chế độ toàn màn hình (full-screen mode).
Tác dụng của máy ảo
Các máy ảo có một số tác dụng phổ biến:
Kiểm thử các phiên bản hệ điều hành: Bạn có thể chạy phiên bản thử nghiệm Windows 8 bằng máy ảo trên máy chạy Windows 7. Điều này cho phép bạn thử nghiệm Windows 8 mà không phải cài đặt một phiên bản Windows bất ổn định trên máy mình.
Thử nghiệm các hệ điều hành khác: Bạn có thể cài nhiều bản phân phối Linux khác nhau và các hệ điều hành ít biết đến hơn bằng một máy ảo để thử nghiệm chúng và tìm hiểu cách chúng hoạt động. Nếu bạn hứng thú với Ubuntu, bạn có thể cài đặt nó vào máy ảo và sử dụng tại một cửa sổ trên màn hình desktop bình thường.
Sử dụng phần mềm đòi hỏi một hệ điều hành cũ: Nếu bạn có một ứng dụng quan trọng mà chỉ chạy trên Windows XP, bạn có thể cài đặt XP trên máy ảo và chạy ứng dụng trên máy ảo. Máy ảo đang thực sự chạy Windows XP, vì vậy tính tương thích không phải vấn đề. Điều này cho phép người dùng sử dụng một ứng dụng mà chỉ tương thích với Windows XP mà không phải cài Windows XP trên máy thật, đặc biệt quan trọng khi xét đến nhiều laptop mới và phần cứng khác không hỗ trợ đầy đủ cho Windows XP.
Chạy phần mềm được thiết kế cho những hệ điều hành khác: Những người dùng Mac và Linux có thể chạy Windows trên một máy ảo để sử dụng những phần mềm cho Windows trên máy tính mà không phải đau đầu về tính tương thích. Không may là, với trò chơi thì đây có thể là một vấn đề. Các chương trình máy ảo có độ trễ và không một ứng dụng máy ảo nào cho phép chạy các bản game 3D mới nhất. Một số hiệu ứng 3D được hỗ trợ nhưng đồ họa 3D là điều ít được hỗ trợ nhất trên máy ảo.
Kiểm thử phần mềm trên nhiều nền tảng: Nếu bạn cần kiểm thử một ứng dụng có tương thích với nhiều hệ điều hành hoặc chỉ các bản Windows khác nhau hay không, bạn có thể cài mỗi hệ điều hành lên một máy ảo thay vì cần nhiều máy thực xung quanh.
Tăng cường cho server: Đối với các doanh nghiệp sử dụng nhiều server, thì các server có thể được đặt vào những máy ảo và chạy trên một máy tính đơn lẻ. Mỗi máy ảo là một thư mục cách ly, vì vậy điều này không gây những nguy cơ về bảo mật liên quan tới việc chạy nhiều server khác nhau trên cùng hệ điều hành. Các máy ảo cũng có thể được di dời giữa những server thật.
vothihongngoc72 (HLT3)- Tổng số bài gửi : 28
Join date : 16/03/2014
Máy ảo - Ưu điểm - Nhược điểm
Kỹ thuật máy ảoAdmin đã viết:Thảo luận những vấn đề liên quan đến Bài 3.
- Máy ảo là sự phát triển lô-gic của kiến trúc phân lớp.
- Bằng cách Điều phối CPU và kỹ thuật Bộ nhớ ảo, có thể tạo cho người dùng ảo giác rằng người đó đang dùng bộ xử lý và bộ nhớ của riêng mình.
- Nói cách khác: Máy tính ảo của người dùng được giả lập trên nền máy tính vật lý.
* Ưu điểm:
- Tính bảo mật cao do các máy ảo độc lập với nhau. Các tài nguyên của máy vật lý được bảo vệ hoàn toàn vì các máy ảo có Thiết bị ảo (Một ổ đĩa ảo, thậm chí toàn bộ máy ảo thực tế chỉ là một tập tin của máy vật lý). Có thể lấy từ Internet về một chương trình lạ và thử vận hành trên máy ảo mà không sợ bị ảnh hưởng (ví dụ do virus) vì nếu có sao cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống (System Development) mà không sợ làm ảnh hưởng đến công việc toàn hệ máy đang vận hành. HĐH là chương trình phức tạp, cần liên tục thử nghiệm, tinh chỉnh, hoàn thiện và nâng cấp. Có thể tiến hành Phát triển hệ thống trên một máy ảo thay vì làm trên máy thực.
* Nhược điểm:
- Vấn đề lưu trữ vật lý. Thông thường, mỗi máy ảo chỉ dùng một tập tin để lưu tất cả những gì diễn ra trong máy ảo. Do đó nếu bị mất tập tin này xem như mất tất cả.
- Nếu máy tính có cấu hình phần cứng thấp nhưng cài quá nhiều chương trình máy ảo, máy sẽ chậm và ảnh hưởng đến các chương trình khác.
- Do tập trung vào một máy tính, nếu máy bị hư thì toàn bộ các máy tính ảo đã thiết lập trên nó cũng bị ảnh hưởng theo.
- Ở góc dộ bảo mật, nếu hacker nắm quyền điều khiển máy tính chứa các máy ảo thì hacker có thể kiểm soát được tất cả các máy ảo trong nó.
dangthituyetnhungTH08a1- Tổng số bài gửi : 41
Join date : 19/03/2014
Bổ sung thông dịch
Thông dịch là thao tác làm cho trương trình tự tìm ra lỗi của bài toán lập trình==>sửa chữa những chỗ sai làm cho trương trình chạy được,chỉ khi nào thông dich hoàn tất không có lỗi thì mới đến quá trình biên dịch,thông thường các trương trình mà chúng ta thường dùng để lập trình là những ngôn ngữ lập trình bậc cao,bien dịch là viết lại trương trình dưới ngôn ngữ máy làm cho máy tính có thể hiểu được trương trình và thực hiện trương trình đó
PhamAnhDung_HLT3- Tổng số bài gửi : 23
Join date : 25/03/2014
So sánh VMWare với Virtual PC.
Giống nhau:
- Giúp giả lập máy tính ảo trên một máy tính thật. Khi cài đặt chúng lên, ta có thể tạo nên các máy
ảo chia sẻ CPU, RAM, Card mạng với máy tính thật. Điều này cho phép xây dựng nên một hệ
thống với một vài máy tính được nối với nhau theo một mô hình nhất định, người sử dụng có thể
tạo nên hệ thống của riêng mình, cấu hình theo yêu cầu của bài học.
Khác nhau:
- Về mạng nội bộ, VMWare cung cấp tới 4 phương thức kết nối: 'Bridged Connection', 'Network
Address Translation', 'Host Only' và 'Custom'. 'Bridged Connection' cho phép máy ảo trực tiếp kết
nối với mạng LAN hoặc Internet. 'Network Address Translation' cho phép máy ảo kết nối mạng
bằng cách dùng chung địa chỉ IP của máy chủ. 'Host Only' tạo một mạng riêng mà trong đó máy
chủ được coi như một máy tính tách rời. Với 'Custom', bạn có thể tạo một mạng ảo theo những
yêu cầu cụ thể. Chúng tôi sử dụng phương thức 'Network Address Translation' và nhận thấy việc
kết nối mạng không gặp bất kỳ khó khăn gì trong cả 2 môi trường Windows và Linux.
- Virtual PC đòi hỏi 2 cửa sổ chương trình: một cho việc quản lí các máy ảo, một cho từng máy ảo
Ngược lại, VMWare lại gộp cả 2 cửa sổ trên vào làm một. Tuy nhiên, Virtual PC cung cấp menu của cửa
sổ chương trình đơn giản hơn của VMWare. Cả 2 phần mềm đều cho phép thực hiện tất cả các thao
tác cấu hình chi tiết thông qua menu chính, song bạn cũng có thể trực tiếp thực hiện một số thiết
đặt thông qua các biểu tượng ở thanh trạng thái phía dưới.
- Giúp giả lập máy tính ảo trên một máy tính thật. Khi cài đặt chúng lên, ta có thể tạo nên các máy
ảo chia sẻ CPU, RAM, Card mạng với máy tính thật. Điều này cho phép xây dựng nên một hệ
thống với một vài máy tính được nối với nhau theo một mô hình nhất định, người sử dụng có thể
tạo nên hệ thống của riêng mình, cấu hình theo yêu cầu của bài học.
Khác nhau:
- Về mạng nội bộ, VMWare cung cấp tới 4 phương thức kết nối: 'Bridged Connection', 'Network
Address Translation', 'Host Only' và 'Custom'. 'Bridged Connection' cho phép máy ảo trực tiếp kết
nối với mạng LAN hoặc Internet. 'Network Address Translation' cho phép máy ảo kết nối mạng
bằng cách dùng chung địa chỉ IP của máy chủ. 'Host Only' tạo một mạng riêng mà trong đó máy
chủ được coi như một máy tính tách rời. Với 'Custom', bạn có thể tạo một mạng ảo theo những
yêu cầu cụ thể. Chúng tôi sử dụng phương thức 'Network Address Translation' và nhận thấy việc
kết nối mạng không gặp bất kỳ khó khăn gì trong cả 2 môi trường Windows và Linux.
- Virtual PC đòi hỏi 2 cửa sổ chương trình: một cho việc quản lí các máy ảo, một cho từng máy ảo
Ngược lại, VMWare lại gộp cả 2 cửa sổ trên vào làm một. Tuy nhiên, Virtual PC cung cấp menu của cửa
sổ chương trình đơn giản hơn của VMWare. Cả 2 phần mềm đều cho phép thực hiện tất cả các thao
tác cấu hình chi tiết thông qua menu chính, song bạn cũng có thể trực tiếp thực hiện một số thiết
đặt thông qua các biểu tượng ở thanh trạng thái phía dưới.
KhanhChan- Tổng số bài gửi : 12
Join date : 20/03/2014
Sơ lược lý thuyết bài 3. Mọi người góp ý với nhé.
CÂU 1 : Trình bày những bộ phận chính cấu thành nên HĐH (khái niệm tiến trình, quản lý tiến trình, quản lý bộ nhớ chính, quản lý tập tin, quản lý nhập xuất I/O) ?
Tiến trình: chương trình thực thi tạo ra tiến trình. Tiến trình bao gồm :
Mã lệnh
Con trỏ lệnhs
Stack
Các thanh ghi
Data……
1.Quản lý tiến trình
Tạo lập, huỷ bỏ một tiến trình
Tạm dừng, tái kích hoạt một tiến trình
Cung cấp các cơ chế trao đổi thông tin giữa các tiến trình
Cung cấp cơ chế đồng bộ hoá các tiến trình
2. Quản lý bộ nhớ
Cấp phát và thu hồi vùng nhớ cho tiến trình khi cần thiết
Ghi nhận tình trạng bộ nhớ chính: vùng đã cấp phát, vùng còn có thể sử dụng...
Quyết định tiến trình nào được nạp vào bộ nhớ
chính khi có một vùng nhớ trống.
3. Quản lý thiết bị nhập xuất:
Gửi các lệnh điều khiển đến các thiết bị
Tiếp nhận các ngắt
Xử lý lỗi
4. Quản lý tập tin
Tạo lập, huỷ bỏ một tập tin.
Tạo lập và huỷ bỏ một thư mục.
Cung cấp các thao tác xử lý tập tin và thư mục.
Tạo lập quan hệ tương ứng giữa tập tin và bộnhớ phụ chứa nó.
5. Hệ thống bảo vệ
Xây dựng cơ chế bảo vệ thích hợp trong trường hợp nhiều người cùng sử dụng đồng thời các tiến trình.
6. Hệ thông dịch lệnh (Shell)
Đóng vai trò giao diện giữa NSD và HĐH
Các lệnh được chuyển đến HĐH dưới dạng chỉ thị điều khiển.
Shell nhận lệnh và thông dịch lệnh để HĐH có xử lý tương ứng
7. Quản lý mạng
Một hệ thống phân bố nhiều bộ xử lý với các bộ nhớ độc lập.
Các tiến trình trong hệ thống có thể kết nối với nhau qua mạng truyền thông.
Việc truy xuất đến tài nguyên mạng thông qua các trình điều khiển giao tiếp mạng.
Ý KIẾN KHÁC
1/ Quản lý tiến trình(Process Management): Tiến trình là 1 chương trình đang hoạt động. Một tiến trình cần tài nguyên nhất định, bao gồm thời gian Cpu, bộ nhớ, tập tin và thiết bị nhập / xuất để hoàn thành tác vụ của nó. Ngoài ra, khi tiến trình hoạt động trong hệ thống có thể phát sinh các tiến trình con. Như vậy, nhiệm vụ của hệ điều hành trong quản lý tiến trình là:
- Tạo lập và hủy bỏ các tiến trình
- Tạm dừng và khôi phục lại các tiến trình
- Cung cấp cơ chế để đồng bộ hóa các tiến trình
- Cung cấp các cơ chế để giao tiếp giữa các tiến trình
2/ Quản lý bộ nhớ chính(Main-Memory Management): Bộ nhớ chính là 1 mảng kiểu byte hay kiểu word có kích thước lớn. Mỗi phần tử có địa chỉ riêng. Đó là 1 kho chứa dữ liệu có khả năng truy xuất nhanh được chia sẻ bởi CPU và các thiết bị nhập xuất. Bộ nhớ chính là 1 thiết bị lưu trữ không ổn định.Nội dung của nó bị mất khi hệ thống bị lỗi.Trong quản lý bộ nhớ hệ điều hành có các nhiệm vụ sau:
- Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.
- Quyết định tiến trình nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể dùng được.
- Cấp phát và thu hồi bộ nhớ khi cần thiết.
3/ Quản lý hệ thống nhập/ xuất(I/O Management): Một trong những mục tiêu của hệ điều hành là che dấu những đặc thù của các thiết bị phần cứng đối với người sử dụng thay vào đó là một lớp thân thiện hơn, người sử dụng dể thao tác hơn. Một hệ thống nhập/xuất bao gồm :
- Một hệ thống vùng nhớ đệm
- Giao diện trình điều khiển thiết bị chung.
- Điền khiển các thiết bị phần cứng xác định.
4/ Quản lý tập tin(File Management): Một tập tin là một tập hợp những thông tin lien quan với nhau do người tạo ra nó xác định. Thông thường một tập tin đại diện cho một chương trình và dữ liệu. Dữ liệu của tập tin có thể là số, là ký tự, hay ký số. Tập tin thường có dạng tự do, như tập tin văn bản, nhị phân...(là tập tin chứa dãy các bit). Vai trò của hệ điều hành trong việc quản lý tập tin :
- Tạo và xoá một tập tin.
- Tạo và xoá một thư mục.
- Hỗ trợ các hàm nguyên thủy để thao tác trên tập tin và thư mục.
- Ánh xạ tập tin trên hệ thống lưu trữ phụ.
- Sao lưu dự phòng tập tin trên các thiết bị lưu trữ ổn định.
5/ Hệ thống bảo vệ(Protection System): Hệ thống bảo vệ là một cơ chế kiểm soát quá trình truy xuất của chương trình, tiến trình, hoặc người sử dụng với tài nguyên của hệ thống và của người dùng. Cơ chế này cũng cung cấp cách thức để mô tả lại mức độ kiểm soát:
- Phân biệt giữa người sử dụng được phép hay không được phép truy cập.
- Xác định các điều khiển được áp dụng.
- Cung cấp phương tiện để thực thi.
6/ Mạng(Distributed System): Hệ phân tán là tập hợp các bộ xử lý, chúng không chia sẻ bộ nhớ, các thiết bị ngoại vi hay đồng hồ.Thay vào đó mỗi bộ vi xử lý có bộ nhớ, đồng hồ riêng.Các bộ vi xử lý trong hệ thống được kết nối với nhau thông qua mạng truyền thông.Hệ thống phân tán cung cấp cho người dùng truy xuất tới các tài nguyên khác nhau mà hệ thống duy trì. Truy xuất tới các tài nguyên chia sẻ cho phép tăng tốc độ tính toán,tăng khả năng sẵn dùng của dữ liệu, tăng mức độ tin cậy.
7/ Thành phần thông dịch lệnh(Command Interpreter): Nhiều lệnh được cung cấp tới hệ điều hành bởi các lệnh điều khiển để giải quyết việc tạo và quẩn lý tiến trình,quẩn lý nhập xuất, quản lý việc lưu trữ phụ, quản lý bộ nhớ chính, truy xuất hệ thống tập tin, bảo vệ và mạng. Trong các hệ thống chia xẻ thời gian một chương trình có thể đọc và thông dịch các lệnh điều khiển được thực hiện một cách tự động. Chương trình này thường được gọi là bộ thông dịch điều khiển card, cơ chế dòng lệnh hoặc Shell. Chức năng của nó rất đơn giản đó là lấy lệnh kế tiếp và thi hành.
CÂU 2 : Phân tích chức năng và vai trò của hệ thống dịch lệnh (Command- Interperter) qua đó phân biệt thông dịch và biên dịch ?
Bộ thông dịch lệnh (Command-Interpreter) :
- Command-Interpreter là 1 phương thức giao tiếp giữa User và HĐH.
- Một số HĐH xem Command-Interpreter là bộ phận của hạt nhân (Kernel) trong khi MS-DOS và UNIX coi là chương trình đặc biệt.
- Giao diện do Command-Interpreter hỗ trợ được gọi là Shell.
- Một trong những "Vỏ" thân thiện đầu tiên xuất hiện trong hệ điều hành Mac OS cho máy tính Macintosh.
*Thông dịch (Interpretation): là lần lượt thi hành từng lệnh 1 thông qua chương trình gọi là trình thông dịch(Interpreter). Thường được viết bằng ngôn ngữ cấp cao và được lưu với file mở rộng *.bat(batch). Trong thông dịch thì mã nguồn không được dịch trước thành ngôn ngữ máy mà mỗi lần cần chạy chương trình thì mã nguồn mới được dịch để thực hiện từng lệnh 1 (line by line .Tất cả các ngôn ngữ không biên dịch ra mã máy điều phải sử dụng trình thông dịch , các ngôn ngữ theo trình thông dịch thường gọi là script(kịch bản).
*Biên dịch (Compilation): là dịch toàn bộ chương trình thông qua 1 chương trình gọi là trình biên dịch(Compiler) tạo ra file thưc thi *.exe (sẽ chạy 1 lần mà không cần thông dịch lại). Chương trình viết được biên dịch ra thành ngôn ngữ máy trên một hệ điều hành xác định và chỉ chạy trên hệ điều hành đó(C++ -> chỉ chạy trên win, C++ không chạy trên Unix/Linux . . .
VD: Khi ta dịch 1 cuốn sách từ tiếng Anh sang tiếng Việt hoặc ngược lại. VD: Khi ngoại giao giữa cơ quan nhà nước với người nước ngoài ta cần một thông dịch viên để dịch lại nội dung của tiếng nước ngoài sang tiếng Việt ngay tại thời điểm đó.
CÂU 3 : Trình bày hai mô hình liên lạc giữa các tiến trình ( yêu cầu vẽ đc 2 hình) ?
a. Liên lạc giữa các tiến trình (Interprocess Communication):
- Mỗi máy tính trong mạng có Host Name và (hoặc) IP Address. Các tên này được HĐH chuyển đổi thành một số nguyên gọi là HostID.
- Mỗi tiến trình có ProcessName và ProcessID.
- Cặp số (HostID, ProcessID) xác định duy nhất tiến trình trong mạng và được dùng để Mở/Đóng kết nối với tiến trình đó.
- Có các lời gọi hệ thống kiểu Open, Close, Read, Write, Wait để thao tác với tiến trình.
b. Truyền thông điệp:
- Cho phép các tiến trình gởi các khuôn dữ kiệu có khuôn dạng tới bất kì tiến trình nào
- Chức năng của hệ thống truyền thông điệp là cho phép các quá trình giao tiếp với các quá trình khác mà không cần sắp xếp lại dữ liệu chia sẻ.
- Đơn vị truyền thông tin trong cơ chế truyền thông điệp là một thông điệp, do đó các tiến trình có thể trao đổi dữ liệu ở dạng cấu cấu trúc.
c. Dùng bộ nhớ chung:
- Với phương thức này, các tiến trình chia sẻ một vùng nhớ vật lý thông qua trung gian không gian địa chỉ của chung. Một vùng nhớ chia sẻ tồn tại độc lập với các tiến trình, và khi một tiến trình muốn truy xuất đến vùng nhớ này, tiến trình phải kết gắn vùng nhớ chung đó vào không gian địa chỉ riêng của từng tiến trình, và thao tác trên đó như một vùng nhớ riêng của mình.
- Đây là phương pháp nhanh nhất để trao đổi dữ liệu giữa các tiến trình. Nhưng phương thức này cũng làm phát sinh các khó khăn trong việc bảo đảm sự toàn vẹn dữ liệu (coherence)
- Một khuyết điểm của phương pháp liên lạc này là không thể áp dụng hiệu quả trong các hệ phân tán , để trao đổi thông tin giữa các máy tính khác nhau.
VD: Bảng là vùng nhớ chia sẽ, giáo viên là tiến trình A, học sinh trong lớp là tiến trình B1,2..N. Khi thầy A viết bài có nội dung M lên bảng thì các học sinh B1,2..N sẽ chép nội dung bài học vào vở.
Giả sử khi thầy giáo hết bảng, nhưng vẫn còn chưa hết nội dung bài học. Thầy giáo phải xóa bảng để viết tiếp. Trong trường học sinh chưa chép bài xong và thầy giáo xóa bảng => HS sẽ chép không đủ nội dụng => tình trạng thất thoát thông tin.
Cho nên thầy giáo cần phải chờ HS chép hết bài mới xóa bảng => Lúc nào cũng phải đồng bộ hóa các tiến trình.
CÂU 4 : Trình bày nguyên lý và những lợi ích của máy tính ảo ?
VM(Virtual Machine) là một môi trường phần mềm cho phép một hoặc hơn một HĐH và các ứng dụng của chúng hoạt động song song trên chỉ một máy tính duy nhất. Điếm thú vị là chúng ta có thể chuyển đổi qua lại giữa các HĐH đang chạy chỉ bằng một hoặc hai thao tác mà không phải khởi động lại PC. Đối với các HĐH, không có gì khác biệt giữa VM và PC thật (real computer). Nói một các ngắn gọn, VM chính là một bản sao của PC thật. Gần như, điều gì bạn có thể làm được trên máy thật thì bạn cũng có thể làm được trên VM.
Ý KIẾN KHÁC :
- Là sự phát triển lô-gic của kiến trúc phân lớp.
- Bằng cách điều phối CPU và kỹ thuật bộ nhớ ảo, có thể tạo cho người dùng ảo giác rằng người đó đang dùng bộ xử lý, bộ nhớ và các thiết bị của riêng mình.
- Nói cách khác: Máy tính ảo của người dùng được giả lập trên nền máy tính vật lý.
Ích lợi của máy tính ảo:
- Tính bảo mật cao do các máy ảo độc lập với nhau. Các tài nguyên của máy vật lý được bảo vệ hoàn toàn vì các máy tính ảo có thiết bị ảo (ví dụ, ổ đĩa ảo). Có thể lấy từ Internet về một chương trình lạ và thử chạy trên máy ảo mà không sợ bị ảnh hưởng (VD như virut) vì nếu có sao thì cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống (System Development) mà không sợ làm ảnh hưởng đến công việc toàn hệ máy đang vận hành. HĐH là chương trình phức tạp,cần liên tục thử nghiệm, tinh chỉnh, hoàn thiện và nâng cấp. Có thể tiến hành phát triển hệ thống trên một máy ảo thay vì làm trên máy thực. Thành công rồi mới chuyển nhanh sang máy thực.
VD: một số phần mềm như VMWare, Virtual PC, VirtualBox .
Ví dụ:
Khi ta download một chương trình nào trên Internet, nhưng ta nghi ngờ về mức độ an toàn của chương trình đó. Nên trước tiên ta cài đặt và thử nghiệm trên máy ảo một thời gian, nếu ổn định ta sẽ cài nó trên máy tính vật lý.
Khi ta muốn sử dụng 1 chương trình mà có thu phí, sau một thời gian (thường là 1 tháng), chương trình sẽ không sử dụng được nữa nếu không đăng ký bản quyền. Nếu cài chương trình này trên máy tính vật lý, ta sẽ không thể cài lại và muốn cài lại thì sẽ phải cài lại cả windows (rất mất thời gian). Để giải quyết việc này, ta sẽ cài nó trên máy ảo, khi hết hạn thì ta chỉ cần bung windows ảo lần nữa (nhanh hơn cài trên máy tính vật lý) rồi sau đó cài đặt chương trình và sử dụng tiếp.
* Nhược điểm của máy tính ảo:
Vấn đề bảo mật và lưu trữ vật lý. Thông thường, mỗi máy ảo chỉ dùng một tập tin để lưu tất cả những gì diễn ra trong máy ảo. Do đó nếu bị mất tập tin này xem như mất tất cả.
Nếu máy tính có cấu hình phần cứng thấp nhưng cài quá nhiều chương trình máy ảo, máy sẽ chậm và ảnh hưởng đến các chương trình khác.
Do tập trung vào một máy tính, nếu máy bị hư thì toàn bộ các máy tính ảo đã thiết lập trên nó cũng bị ảnh hưởng theo.
Ở góc độ bảo mật, nếu hacker nắm quyền điều khiển máy tính chứa các máy ảo thì hacker có thể kiểm soát được tất cả các máy ảo trong nó.
Tiến trình: chương trình thực thi tạo ra tiến trình. Tiến trình bao gồm :
Mã lệnh
Con trỏ lệnhs
Stack
Các thanh ghi
Data……
1.Quản lý tiến trình
Tạo lập, huỷ bỏ một tiến trình
Tạm dừng, tái kích hoạt một tiến trình
Cung cấp các cơ chế trao đổi thông tin giữa các tiến trình
Cung cấp cơ chế đồng bộ hoá các tiến trình
2. Quản lý bộ nhớ
Cấp phát và thu hồi vùng nhớ cho tiến trình khi cần thiết
Ghi nhận tình trạng bộ nhớ chính: vùng đã cấp phát, vùng còn có thể sử dụng...
Quyết định tiến trình nào được nạp vào bộ nhớ
chính khi có một vùng nhớ trống.
3. Quản lý thiết bị nhập xuất:
Gửi các lệnh điều khiển đến các thiết bị
Tiếp nhận các ngắt
Xử lý lỗi
4. Quản lý tập tin
Tạo lập, huỷ bỏ một tập tin.
Tạo lập và huỷ bỏ một thư mục.
Cung cấp các thao tác xử lý tập tin và thư mục.
Tạo lập quan hệ tương ứng giữa tập tin và bộnhớ phụ chứa nó.
5. Hệ thống bảo vệ
Xây dựng cơ chế bảo vệ thích hợp trong trường hợp nhiều người cùng sử dụng đồng thời các tiến trình.
6. Hệ thông dịch lệnh (Shell)
Đóng vai trò giao diện giữa NSD và HĐH
Các lệnh được chuyển đến HĐH dưới dạng chỉ thị điều khiển.
Shell nhận lệnh và thông dịch lệnh để HĐH có xử lý tương ứng
7. Quản lý mạng
Một hệ thống phân bố nhiều bộ xử lý với các bộ nhớ độc lập.
Các tiến trình trong hệ thống có thể kết nối với nhau qua mạng truyền thông.
Việc truy xuất đến tài nguyên mạng thông qua các trình điều khiển giao tiếp mạng.
Ý KIẾN KHÁC
1/ Quản lý tiến trình(Process Management): Tiến trình là 1 chương trình đang hoạt động. Một tiến trình cần tài nguyên nhất định, bao gồm thời gian Cpu, bộ nhớ, tập tin và thiết bị nhập / xuất để hoàn thành tác vụ của nó. Ngoài ra, khi tiến trình hoạt động trong hệ thống có thể phát sinh các tiến trình con. Như vậy, nhiệm vụ của hệ điều hành trong quản lý tiến trình là:
- Tạo lập và hủy bỏ các tiến trình
- Tạm dừng và khôi phục lại các tiến trình
- Cung cấp cơ chế để đồng bộ hóa các tiến trình
- Cung cấp các cơ chế để giao tiếp giữa các tiến trình
2/ Quản lý bộ nhớ chính(Main-Memory Management): Bộ nhớ chính là 1 mảng kiểu byte hay kiểu word có kích thước lớn. Mỗi phần tử có địa chỉ riêng. Đó là 1 kho chứa dữ liệu có khả năng truy xuất nhanh được chia sẻ bởi CPU và các thiết bị nhập xuất. Bộ nhớ chính là 1 thiết bị lưu trữ không ổn định.Nội dung của nó bị mất khi hệ thống bị lỗi.Trong quản lý bộ nhớ hệ điều hành có các nhiệm vụ sau:
- Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.
- Quyết định tiến trình nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể dùng được.
- Cấp phát và thu hồi bộ nhớ khi cần thiết.
3/ Quản lý hệ thống nhập/ xuất(I/O Management): Một trong những mục tiêu của hệ điều hành là che dấu những đặc thù của các thiết bị phần cứng đối với người sử dụng thay vào đó là một lớp thân thiện hơn, người sử dụng dể thao tác hơn. Một hệ thống nhập/xuất bao gồm :
- Một hệ thống vùng nhớ đệm
- Giao diện trình điều khiển thiết bị chung.
- Điền khiển các thiết bị phần cứng xác định.
4/ Quản lý tập tin(File Management): Một tập tin là một tập hợp những thông tin lien quan với nhau do người tạo ra nó xác định. Thông thường một tập tin đại diện cho một chương trình và dữ liệu. Dữ liệu của tập tin có thể là số, là ký tự, hay ký số. Tập tin thường có dạng tự do, như tập tin văn bản, nhị phân...(là tập tin chứa dãy các bit). Vai trò của hệ điều hành trong việc quản lý tập tin :
- Tạo và xoá một tập tin.
- Tạo và xoá một thư mục.
- Hỗ trợ các hàm nguyên thủy để thao tác trên tập tin và thư mục.
- Ánh xạ tập tin trên hệ thống lưu trữ phụ.
- Sao lưu dự phòng tập tin trên các thiết bị lưu trữ ổn định.
5/ Hệ thống bảo vệ(Protection System): Hệ thống bảo vệ là một cơ chế kiểm soát quá trình truy xuất của chương trình, tiến trình, hoặc người sử dụng với tài nguyên của hệ thống và của người dùng. Cơ chế này cũng cung cấp cách thức để mô tả lại mức độ kiểm soát:
- Phân biệt giữa người sử dụng được phép hay không được phép truy cập.
- Xác định các điều khiển được áp dụng.
- Cung cấp phương tiện để thực thi.
6/ Mạng(Distributed System): Hệ phân tán là tập hợp các bộ xử lý, chúng không chia sẻ bộ nhớ, các thiết bị ngoại vi hay đồng hồ.Thay vào đó mỗi bộ vi xử lý có bộ nhớ, đồng hồ riêng.Các bộ vi xử lý trong hệ thống được kết nối với nhau thông qua mạng truyền thông.Hệ thống phân tán cung cấp cho người dùng truy xuất tới các tài nguyên khác nhau mà hệ thống duy trì. Truy xuất tới các tài nguyên chia sẻ cho phép tăng tốc độ tính toán,tăng khả năng sẵn dùng của dữ liệu, tăng mức độ tin cậy.
7/ Thành phần thông dịch lệnh(Command Interpreter): Nhiều lệnh được cung cấp tới hệ điều hành bởi các lệnh điều khiển để giải quyết việc tạo và quẩn lý tiến trình,quẩn lý nhập xuất, quản lý việc lưu trữ phụ, quản lý bộ nhớ chính, truy xuất hệ thống tập tin, bảo vệ và mạng. Trong các hệ thống chia xẻ thời gian một chương trình có thể đọc và thông dịch các lệnh điều khiển được thực hiện một cách tự động. Chương trình này thường được gọi là bộ thông dịch điều khiển card, cơ chế dòng lệnh hoặc Shell. Chức năng của nó rất đơn giản đó là lấy lệnh kế tiếp và thi hành.
CÂU 2 : Phân tích chức năng và vai trò của hệ thống dịch lệnh (Command- Interperter) qua đó phân biệt thông dịch và biên dịch ?
Bộ thông dịch lệnh (Command-Interpreter) :
- Command-Interpreter là 1 phương thức giao tiếp giữa User và HĐH.
- Một số HĐH xem Command-Interpreter là bộ phận của hạt nhân (Kernel) trong khi MS-DOS và UNIX coi là chương trình đặc biệt.
- Giao diện do Command-Interpreter hỗ trợ được gọi là Shell.
- Một trong những "Vỏ" thân thiện đầu tiên xuất hiện trong hệ điều hành Mac OS cho máy tính Macintosh.
*Thông dịch (Interpretation): là lần lượt thi hành từng lệnh 1 thông qua chương trình gọi là trình thông dịch(Interpreter). Thường được viết bằng ngôn ngữ cấp cao và được lưu với file mở rộng *.bat(batch). Trong thông dịch thì mã nguồn không được dịch trước thành ngôn ngữ máy mà mỗi lần cần chạy chương trình thì mã nguồn mới được dịch để thực hiện từng lệnh 1 (line by line .Tất cả các ngôn ngữ không biên dịch ra mã máy điều phải sử dụng trình thông dịch , các ngôn ngữ theo trình thông dịch thường gọi là script(kịch bản).
*Biên dịch (Compilation): là dịch toàn bộ chương trình thông qua 1 chương trình gọi là trình biên dịch(Compiler) tạo ra file thưc thi *.exe (sẽ chạy 1 lần mà không cần thông dịch lại). Chương trình viết được biên dịch ra thành ngôn ngữ máy trên một hệ điều hành xác định và chỉ chạy trên hệ điều hành đó(C++ -> chỉ chạy trên win, C++ không chạy trên Unix/Linux . . .
VD: Khi ta dịch 1 cuốn sách từ tiếng Anh sang tiếng Việt hoặc ngược lại. VD: Khi ngoại giao giữa cơ quan nhà nước với người nước ngoài ta cần một thông dịch viên để dịch lại nội dung của tiếng nước ngoài sang tiếng Việt ngay tại thời điểm đó.
CÂU 3 : Trình bày hai mô hình liên lạc giữa các tiến trình ( yêu cầu vẽ đc 2 hình) ?
a. Liên lạc giữa các tiến trình (Interprocess Communication):
- Mỗi máy tính trong mạng có Host Name và (hoặc) IP Address. Các tên này được HĐH chuyển đổi thành một số nguyên gọi là HostID.
- Mỗi tiến trình có ProcessName và ProcessID.
- Cặp số (HostID, ProcessID) xác định duy nhất tiến trình trong mạng và được dùng để Mở/Đóng kết nối với tiến trình đó.
- Có các lời gọi hệ thống kiểu Open, Close, Read, Write, Wait để thao tác với tiến trình.
b. Truyền thông điệp:
- Cho phép các tiến trình gởi các khuôn dữ kiệu có khuôn dạng tới bất kì tiến trình nào
- Chức năng của hệ thống truyền thông điệp là cho phép các quá trình giao tiếp với các quá trình khác mà không cần sắp xếp lại dữ liệu chia sẻ.
- Đơn vị truyền thông tin trong cơ chế truyền thông điệp là một thông điệp, do đó các tiến trình có thể trao đổi dữ liệu ở dạng cấu cấu trúc.
c. Dùng bộ nhớ chung:
- Với phương thức này, các tiến trình chia sẻ một vùng nhớ vật lý thông qua trung gian không gian địa chỉ của chung. Một vùng nhớ chia sẻ tồn tại độc lập với các tiến trình, và khi một tiến trình muốn truy xuất đến vùng nhớ này, tiến trình phải kết gắn vùng nhớ chung đó vào không gian địa chỉ riêng của từng tiến trình, và thao tác trên đó như một vùng nhớ riêng của mình.
- Đây là phương pháp nhanh nhất để trao đổi dữ liệu giữa các tiến trình. Nhưng phương thức này cũng làm phát sinh các khó khăn trong việc bảo đảm sự toàn vẹn dữ liệu (coherence)
- Một khuyết điểm của phương pháp liên lạc này là không thể áp dụng hiệu quả trong các hệ phân tán , để trao đổi thông tin giữa các máy tính khác nhau.
VD: Bảng là vùng nhớ chia sẽ, giáo viên là tiến trình A, học sinh trong lớp là tiến trình B1,2..N. Khi thầy A viết bài có nội dung M lên bảng thì các học sinh B1,2..N sẽ chép nội dung bài học vào vở.
Giả sử khi thầy giáo hết bảng, nhưng vẫn còn chưa hết nội dung bài học. Thầy giáo phải xóa bảng để viết tiếp. Trong trường học sinh chưa chép bài xong và thầy giáo xóa bảng => HS sẽ chép không đủ nội dụng => tình trạng thất thoát thông tin.
Cho nên thầy giáo cần phải chờ HS chép hết bài mới xóa bảng => Lúc nào cũng phải đồng bộ hóa các tiến trình.
CÂU 4 : Trình bày nguyên lý và những lợi ích của máy tính ảo ?
VM(Virtual Machine) là một môi trường phần mềm cho phép một hoặc hơn một HĐH và các ứng dụng của chúng hoạt động song song trên chỉ một máy tính duy nhất. Điếm thú vị là chúng ta có thể chuyển đổi qua lại giữa các HĐH đang chạy chỉ bằng một hoặc hai thao tác mà không phải khởi động lại PC. Đối với các HĐH, không có gì khác biệt giữa VM và PC thật (real computer). Nói một các ngắn gọn, VM chính là một bản sao của PC thật. Gần như, điều gì bạn có thể làm được trên máy thật thì bạn cũng có thể làm được trên VM.
Ý KIẾN KHÁC :
- Là sự phát triển lô-gic của kiến trúc phân lớp.
- Bằng cách điều phối CPU và kỹ thuật bộ nhớ ảo, có thể tạo cho người dùng ảo giác rằng người đó đang dùng bộ xử lý, bộ nhớ và các thiết bị của riêng mình.
- Nói cách khác: Máy tính ảo của người dùng được giả lập trên nền máy tính vật lý.
Ích lợi của máy tính ảo:
- Tính bảo mật cao do các máy ảo độc lập với nhau. Các tài nguyên của máy vật lý được bảo vệ hoàn toàn vì các máy tính ảo có thiết bị ảo (ví dụ, ổ đĩa ảo). Có thể lấy từ Internet về một chương trình lạ và thử chạy trên máy ảo mà không sợ bị ảnh hưởng (VD như virut) vì nếu có sao thì cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống (System Development) mà không sợ làm ảnh hưởng đến công việc toàn hệ máy đang vận hành. HĐH là chương trình phức tạp,cần liên tục thử nghiệm, tinh chỉnh, hoàn thiện và nâng cấp. Có thể tiến hành phát triển hệ thống trên một máy ảo thay vì làm trên máy thực. Thành công rồi mới chuyển nhanh sang máy thực.
VD: một số phần mềm như VMWare, Virtual PC, VirtualBox .
Ví dụ:
Khi ta download một chương trình nào trên Internet, nhưng ta nghi ngờ về mức độ an toàn của chương trình đó. Nên trước tiên ta cài đặt và thử nghiệm trên máy ảo một thời gian, nếu ổn định ta sẽ cài nó trên máy tính vật lý.
Khi ta muốn sử dụng 1 chương trình mà có thu phí, sau một thời gian (thường là 1 tháng), chương trình sẽ không sử dụng được nữa nếu không đăng ký bản quyền. Nếu cài chương trình này trên máy tính vật lý, ta sẽ không thể cài lại và muốn cài lại thì sẽ phải cài lại cả windows (rất mất thời gian). Để giải quyết việc này, ta sẽ cài nó trên máy ảo, khi hết hạn thì ta chỉ cần bung windows ảo lần nữa (nhanh hơn cài trên máy tính vật lý) rồi sau đó cài đặt chương trình và sử dụng tiếp.
* Nhược điểm của máy tính ảo:
Vấn đề bảo mật và lưu trữ vật lý. Thông thường, mỗi máy ảo chỉ dùng một tập tin để lưu tất cả những gì diễn ra trong máy ảo. Do đó nếu bị mất tập tin này xem như mất tất cả.
Nếu máy tính có cấu hình phần cứng thấp nhưng cài quá nhiều chương trình máy ảo, máy sẽ chậm và ảnh hưởng đến các chương trình khác.
Do tập trung vào một máy tính, nếu máy bị hư thì toàn bộ các máy tính ảo đã thiết lập trên nó cũng bị ảnh hưởng theo.
Ở góc độ bảo mật, nếu hacker nắm quyền điều khiển máy tính chứa các máy ảo thì hacker có thể kiểm soát được tất cả các máy ảo trong nó.
NguyenVietLong08(HLT3)- Tổng số bài gửi : 20
Join date : 30/03/2014
Quản lý tiến trình trong hệ điều hành
Quản lý tiến trình
Một chương trình không thực hiện được gì cả nếu như nó không được CPU thi hành. Một tiến trình là một chương trình đang được thi hành, nhưng ý nghĩa của nó còn rộng hơn. Một công việc theo lô là một tiến trình. Một chương trình người dùng chia sẽ thời gian là một tiến trình, một công việc của hệ thống như soopling xuất ra máy in cũng là một tiến trình.
Một tiến trình phải sử dụng tài nguyên như thời gian sử dụng CPU, bộ nhớ, tập tin, các thiết bị nhập xuất để hoàn tất công việc của nó. Các tài nguyên này được cung cấp khi tiến trình được tạo hay trong quá trình thi hành. Khi tiến trình được tạo, nó sử dụng rất nhiều tài nguyên vật lý và luận lý.cũng như một số khởi tạo dữ liệu nhập. Ví dụ , khảo sát tiến trình hiển thị trạng thái của tập tin lên màn hình. Đầu vào của tiến trình là tên tập tin, và tiến trình sẽ thực hiện những chỉ thị thích hợp, thực hiện lời gọi hệ thống để nhận được những thông tin mong muốn và hiển thị nó lên màn hình. Khi tiến trình kết thúc, hệ điềûu hành sẽ tái tạo lại các tài nguyên có thể được dùng lại..
Một tiến trình là hoạt động (active) hoàn toàn ngược lại với một tập tin trên đĩa là thụ động (passive) với một bộ đếm chương trình cho biết lệnh kế tiếp được thi hành.Việc thi hành được thực hiện theo cơ chế tuần tự , CPU sẽ thi hành từ lệnh đầu đến lệnh cuối.
Một tiến trình được coi là một đơn vị làm việc của hệ thống. Một hệ thống có thể có nhiều tiến trình cùng lúc , trong đó một số tiến trình là của hệ điều hành, một số tiến trình là của người sử dụng. các tiến trình này có thể diễn ra đồng thời.
Vai trò của hệ điều hành trong việc quản lý tiến trình là :
-Tạo và hủy các tiến trình của người sử dụng và của hệ thống.
-Ngưng và thực hiện lại một tiến trình.
-Cung cấp cơ chế đồng bộ tiến trình.
-Cung cấp cách thông tin giữa các tiến trình.
-Cung cấp cơ chế kiểm soát deadlock
Một chương trình không thực hiện được gì cả nếu như nó không được CPU thi hành. Một tiến trình là một chương trình đang được thi hành, nhưng ý nghĩa của nó còn rộng hơn. Một công việc theo lô là một tiến trình. Một chương trình người dùng chia sẽ thời gian là một tiến trình, một công việc của hệ thống như soopling xuất ra máy in cũng là một tiến trình.
Một tiến trình phải sử dụng tài nguyên như thời gian sử dụng CPU, bộ nhớ, tập tin, các thiết bị nhập xuất để hoàn tất công việc của nó. Các tài nguyên này được cung cấp khi tiến trình được tạo hay trong quá trình thi hành. Khi tiến trình được tạo, nó sử dụng rất nhiều tài nguyên vật lý và luận lý.cũng như một số khởi tạo dữ liệu nhập. Ví dụ , khảo sát tiến trình hiển thị trạng thái của tập tin lên màn hình. Đầu vào của tiến trình là tên tập tin, và tiến trình sẽ thực hiện những chỉ thị thích hợp, thực hiện lời gọi hệ thống để nhận được những thông tin mong muốn và hiển thị nó lên màn hình. Khi tiến trình kết thúc, hệ điềûu hành sẽ tái tạo lại các tài nguyên có thể được dùng lại..
Một tiến trình là hoạt động (active) hoàn toàn ngược lại với một tập tin trên đĩa là thụ động (passive) với một bộ đếm chương trình cho biết lệnh kế tiếp được thi hành.Việc thi hành được thực hiện theo cơ chế tuần tự , CPU sẽ thi hành từ lệnh đầu đến lệnh cuối.
Một tiến trình được coi là một đơn vị làm việc của hệ thống. Một hệ thống có thể có nhiều tiến trình cùng lúc , trong đó một số tiến trình là của hệ điều hành, một số tiến trình là của người sử dụng. các tiến trình này có thể diễn ra đồng thời.
Vai trò của hệ điều hành trong việc quản lý tiến trình là :
-Tạo và hủy các tiến trình của người sử dụng và của hệ thống.
-Ngưng và thực hiện lại một tiến trình.
-Cung cấp cơ chế đồng bộ tiến trình.
-Cung cấp cách thông tin giữa các tiến trình.
-Cung cấp cơ chế kiểm soát deadlock
NguyenTrungTruc(HLT3)- Tổng số bài gửi : 17
Join date : 09/03/2014
Cấu trúc hệ điều hành.
CẤU TRÚC HỆ ĐIỀU HÀNH.
Một chương trình không thực hiện được gì cả nếøu như nó không được CPU thi hành. Một tiến trình là một chương trình đang được thi hành, nhưng ý nghĩa của nó còn rộng hơn. Một công việc theo lô là một tiến trình. Một chương trình người dùng chia xẻ thời gian là một tiến trình, một công việc của hệ thống như soopling xuất ra máy in cũng là một tiến trình.
Một tiến trình phải sử dụng tài nguyên như thời gian sử dụng CPU, bộ nhớ, tập tin, các thiết bị nhập xuất để hoàn tất công việc của nó. Các tài nguyên này được cung cấp khi tiến trình được tạo hay trong quá trình thi hành. Khi tiến trình được tạo, nó sử dụng rất nhiều tài nguyên vật lý và luận lý.cũng như một số khởi tạo dữ liệu nhập. Ví dụ , khảo sát tiến trình hiển thị trạng thái của tập tin lên màn hình. Đầu vào của tiến trình là tên tập tin, và tiến trình sẽ thực hiện những chỉ thị thích hợp, thực hiện lời gọi hệ thống để nhận được những thông tin mong muốn và hiển thị nó lên màn hình. Khi tiến trình kết thúc, hệ điềûu hành sẽ tái tạo lại các tài nguyên có thể được dùng lại..
Một tiến trình là hoạt động (active) hoàn toàn-ngược lại với một tập tin trên đĩa là thụ động (passive)-với một bộ đếm chương trình cho biết lệnh kế tiếp được thi hành.Việc thi hành được thực hiện theo cơ chế tuần tự , CPU sẽ thi hành từ lệnh đầu đến lệnh cuối.
Một tiến trình được coi là một đơn vị làm việc của hệ thống. Một hệ thống có thể có nhiều tiến trình cùng lúc , trong đó một số tiến trình là của hệ điều hành, một số tiến trình là của người sử dụng. các tiến trình này có thể diễn ra đồng thời.
Vai trò của hệ điều hành trong việc quản lý tiến trình là :
-Tạo và hủy các tiến trình của người sử dụng và của hệ thống.
-Ngưng và thực hiện lại một tiến trình.
-Cung cấp cơ chế đồng bộ tiến trình.
-Cung cấp cách thông tin giữa các tiến trình.
-Cung cấp cơ chế kiểm soát deadlock.
Trong hệ thống máy tính hiện đại, bộ nhớ chính là trung tâm của các thao tác, xử lý. Bộ nhớ chính có thể xem như một mảng kiểu byte hay kiểu word. Mỗi phần tử đều có địa chỉ. Đó là nơi lưu dữ liệu được CPU truy xuất một cách nhanh chóng so với các thiết bị nhập/xuất. CPU đọc những chỉ thị từ bộ nhớ chính. Các thiết bị nhập/xuất cài đặt cơ chế DMA(xem chương IV) cũng đọc và ghi dữ liệu trong bộ nhớ chính. Thông thường bộ nhớ chính chứa các thiết bị mà CPU có thể định vị trực tiếp. Ví dụ CPU truy xuất dữ liệu từ đĩa, những dữ liệu này được chuyển vào bộ nhớ qua lời gọi hệ thống nhập/xuất.
Một chương trình muốn thi hành trước hết phải được ánh xạ thành địa chỉ tuyệt đối và nạp vào bộ nhớ chính.Khi chương trình thi hành, hệ thống truy xuất các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. Ngay cả khi tiến trình kết thúc , dữ liệu vẫn còn trong bộ nhớ cho đến khi một tiến trình khác được ghi chồng lên.
Để tối ưu hóa quá trình hoạt động của CPU và tốc độ của máy tính, một số tiến trình được lưu giữ trong bộ nhớ. Có rất nhiều kế hoạch quản trị bộ nhớ do có nhiều ứng dụng bộ nhớ khác nhau và hiệu quả của các thuật toán phụ thuộc vào tùy tình huống cụ thể. Lựa chọn một thuật toán cho một hệ thống được mô tả trước phụ thuộc vào nhiều yếu tố, đặc biệt là phần cứng của hệ thống.
Hệ điều hành có những vai trò như sau trong việc quản lý bộ nhớ chính :
-Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.
-Quyết định tiến trình nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể dùng được.
-Cấp phát và thu hồi bộ nhớ khi cần thiết.
Mục tiêu chính của hệ thống máy tính là thi hành chương trình. Những chương trình với dữ liệu truy xuất của chúng phải được đặt trong bộ nhớ chính trong suốt quá trình thi hành. Nhưng bộ nhớ chính quá nhỏ để có thể lưu giữ mọi dữ liệu và chương trình, ngoài ra dữ liệu sẽ mất khi không còn được cung cấp năng lượng. Hệ thống máy tính ngày nay cung cấp hệ thống lưu trữ phụ. Đa số các máy tính đều dùng đĩa để lưu trữ cả chương trình và dữ liệu. Hầu như tất cả chương trình : chương trình dịch, hợp ngữ, thủ tục, trình soạn thảo, định dạng... đều được lưu trữ trên đĩa cho tới khi nó được thực hiện, nạp vào trong bộ nhớ chính và cũng sử dụng đĩa để chứa dữ liệu và kết quả xử lý. Vì vậy một bộ quản lý hệ thống đĩa rất quan trọng cho hệ thống máy tính.
Vai trò của hệ điều hành trong việc quản lý đĩa :
-Quản lý vùng trống trên đĩa.
-Định vị lưu trữ.
-Lập lịch cho đĩa.
Vì hệ thống đĩa được sử dụng thường xuyên, nên nó phải được dùng hiệu quả.Tốc độ của toàn bộ hệ thống tuỳ thuộc rất nhiều vào tốc độ truy xuất đĩa.
Một trong những mục tiêu của hệ điều hành là che dấu những đặc thù của các thiết bị phần cứng đối với người sử dụng thay vào đó là một lớp thân thiện hơn, người sử dụng dể thao tác hơn. Một hệ thống nhập/xuất bao gồm :
-Hệ thống buffer caching.
-Giao tiếp điều khiển thiết bị (device drivers) tổng quát.
-Bộ điều khiển cho các thiết bị phần cứng.
Chỉ có device driver mới hiểu đến cấu trúc đặc thù của thiết bị mà nó mô tả.
có thể lưu trữ thông tin trong nhiều dạng thiết bị vật lý khác nhau : băng từ, đĩa từ, , đĩa quang, ... Mỗi dạng có những đặc thù riêng về mặt tổ chức vật lý. Mỗi thiết bị có một bộ kiểm soát như bộ điều khiển đĩa (disk driver) và có những tính chất riêng. Những tính chất này là tốc độ, khả năng lưu trữ, tốc độ truyền dữ liệu và cách truy xuất.
Để cho việc sử dụng hệ thống máy tính thuận tiện, hệ điều hành cung cấp một cái nhìn logic đồng nhất về hệ thống lưu trữ thông tin. Hệ điều hành định nghĩa một đơn vị lưu trữ logic là tập tin. Hệ điều hành tạo một ánh xạ từ tập tin đến vùng thông tin trên đĩa và truy xuất những tập tin này thông qua thiết bị lưu trữ.
Một tập tin là một tập hợp những thông tin do người tạo ra nó xác định. Thông thường một tập tin đại diện cho một chương trình và dữ liệu. Dữ liệu của tập tin có thể là số, là ký tự, hay ký số. Tập tin thường có dạng tự do, như tập tin văn bản, nhị phân...(là tập tin chứa dãy các bit).
Vai trò của hệ điều hành trong việc quản lý tập tin :
-Tạo và xoá một tập tin.
-Tạo và xoá một thư mục.
-Hỗ trợ các thao tác trên tập tin và thư mục.
-Ánh xạ tập tin trên hệ thống lưu trữ phụ.
-Backup tập tin trên các thiết bị lưu trữ.
- Các thành phần hệ thống
- Quản lý tiến trình
Một chương trình không thực hiện được gì cả nếøu như nó không được CPU thi hành. Một tiến trình là một chương trình đang được thi hành, nhưng ý nghĩa của nó còn rộng hơn. Một công việc theo lô là một tiến trình. Một chương trình người dùng chia xẻ thời gian là một tiến trình, một công việc của hệ thống như soopling xuất ra máy in cũng là một tiến trình.
Một tiến trình phải sử dụng tài nguyên như thời gian sử dụng CPU, bộ nhớ, tập tin, các thiết bị nhập xuất để hoàn tất công việc của nó. Các tài nguyên này được cung cấp khi tiến trình được tạo hay trong quá trình thi hành. Khi tiến trình được tạo, nó sử dụng rất nhiều tài nguyên vật lý và luận lý.cũng như một số khởi tạo dữ liệu nhập. Ví dụ , khảo sát tiến trình hiển thị trạng thái của tập tin lên màn hình. Đầu vào của tiến trình là tên tập tin, và tiến trình sẽ thực hiện những chỉ thị thích hợp, thực hiện lời gọi hệ thống để nhận được những thông tin mong muốn và hiển thị nó lên màn hình. Khi tiến trình kết thúc, hệ điềûu hành sẽ tái tạo lại các tài nguyên có thể được dùng lại..
Một tiến trình là hoạt động (active) hoàn toàn-ngược lại với một tập tin trên đĩa là thụ động (passive)-với một bộ đếm chương trình cho biết lệnh kế tiếp được thi hành.Việc thi hành được thực hiện theo cơ chế tuần tự , CPU sẽ thi hành từ lệnh đầu đến lệnh cuối.
Một tiến trình được coi là một đơn vị làm việc của hệ thống. Một hệ thống có thể có nhiều tiến trình cùng lúc , trong đó một số tiến trình là của hệ điều hành, một số tiến trình là của người sử dụng. các tiến trình này có thể diễn ra đồng thời.
Vai trò của hệ điều hành trong việc quản lý tiến trình là :
-Tạo và hủy các tiến trình của người sử dụng và của hệ thống.
-Ngưng và thực hiện lại một tiến trình.
-Cung cấp cơ chế đồng bộ tiến trình.
-Cung cấp cách thông tin giữa các tiến trình.
-Cung cấp cơ chế kiểm soát deadlock.
- Quản lý bộ nhớ chính :
Trong hệ thống máy tính hiện đại, bộ nhớ chính là trung tâm của các thao tác, xử lý. Bộ nhớ chính có thể xem như một mảng kiểu byte hay kiểu word. Mỗi phần tử đều có địa chỉ. Đó là nơi lưu dữ liệu được CPU truy xuất một cách nhanh chóng so với các thiết bị nhập/xuất. CPU đọc những chỉ thị từ bộ nhớ chính. Các thiết bị nhập/xuất cài đặt cơ chế DMA(xem chương IV) cũng đọc và ghi dữ liệu trong bộ nhớ chính. Thông thường bộ nhớ chính chứa các thiết bị mà CPU có thể định vị trực tiếp. Ví dụ CPU truy xuất dữ liệu từ đĩa, những dữ liệu này được chuyển vào bộ nhớ qua lời gọi hệ thống nhập/xuất.
Một chương trình muốn thi hành trước hết phải được ánh xạ thành địa chỉ tuyệt đối và nạp vào bộ nhớ chính.Khi chương trình thi hành, hệ thống truy xuất các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. Ngay cả khi tiến trình kết thúc , dữ liệu vẫn còn trong bộ nhớ cho đến khi một tiến trình khác được ghi chồng lên.
Để tối ưu hóa quá trình hoạt động của CPU và tốc độ của máy tính, một số tiến trình được lưu giữ trong bộ nhớ. Có rất nhiều kế hoạch quản trị bộ nhớ do có nhiều ứng dụng bộ nhớ khác nhau và hiệu quả của các thuật toán phụ thuộc vào tùy tình huống cụ thể. Lựa chọn một thuật toán cho một hệ thống được mô tả trước phụ thuộc vào nhiều yếu tố, đặc biệt là phần cứng của hệ thống.
Hệ điều hành có những vai trò như sau trong việc quản lý bộ nhớ chính :
-Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.
-Quyết định tiến trình nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể dùng được.
-Cấp phát và thu hồi bộ nhớ khi cần thiết.
- Quản lý bộ nhớ phụ :
Mục tiêu chính của hệ thống máy tính là thi hành chương trình. Những chương trình với dữ liệu truy xuất của chúng phải được đặt trong bộ nhớ chính trong suốt quá trình thi hành. Nhưng bộ nhớ chính quá nhỏ để có thể lưu giữ mọi dữ liệu và chương trình, ngoài ra dữ liệu sẽ mất khi không còn được cung cấp năng lượng. Hệ thống máy tính ngày nay cung cấp hệ thống lưu trữ phụ. Đa số các máy tính đều dùng đĩa để lưu trữ cả chương trình và dữ liệu. Hầu như tất cả chương trình : chương trình dịch, hợp ngữ, thủ tục, trình soạn thảo, định dạng... đều được lưu trữ trên đĩa cho tới khi nó được thực hiện, nạp vào trong bộ nhớ chính và cũng sử dụng đĩa để chứa dữ liệu và kết quả xử lý. Vì vậy một bộ quản lý hệ thống đĩa rất quan trọng cho hệ thống máy tính.
Vai trò của hệ điều hành trong việc quản lý đĩa :
-Quản lý vùng trống trên đĩa.
-Định vị lưu trữ.
-Lập lịch cho đĩa.
Vì hệ thống đĩa được sử dụng thường xuyên, nên nó phải được dùng hiệu quả.Tốc độ của toàn bộ hệ thống tuỳ thuộc rất nhiều vào tốc độ truy xuất đĩa.
- Quản lý hệ thống nhập xuất :
Một trong những mục tiêu của hệ điều hành là che dấu những đặc thù của các thiết bị phần cứng đối với người sử dụng thay vào đó là một lớp thân thiện hơn, người sử dụng dể thao tác hơn. Một hệ thống nhập/xuất bao gồm :
-Hệ thống buffer caching.
-Giao tiếp điều khiển thiết bị (device drivers) tổng quát.
-Bộ điều khiển cho các thiết bị phần cứng.
Chỉ có device driver mới hiểu đến cấu trúc đặc thù của thiết bị mà nó mô tả.
- Quản lý hệ thống tập tin :
có thể lưu trữ thông tin trong nhiều dạng thiết bị vật lý khác nhau : băng từ, đĩa từ, , đĩa quang, ... Mỗi dạng có những đặc thù riêng về mặt tổ chức vật lý. Mỗi thiết bị có một bộ kiểm soát như bộ điều khiển đĩa (disk driver) và có những tính chất riêng. Những tính chất này là tốc độ, khả năng lưu trữ, tốc độ truyền dữ liệu và cách truy xuất.
Để cho việc sử dụng hệ thống máy tính thuận tiện, hệ điều hành cung cấp một cái nhìn logic đồng nhất về hệ thống lưu trữ thông tin. Hệ điều hành định nghĩa một đơn vị lưu trữ logic là tập tin. Hệ điều hành tạo một ánh xạ từ tập tin đến vùng thông tin trên đĩa và truy xuất những tập tin này thông qua thiết bị lưu trữ.
Một tập tin là một tập hợp những thông tin do người tạo ra nó xác định. Thông thường một tập tin đại diện cho một chương trình và dữ liệu. Dữ liệu của tập tin có thể là số, là ký tự, hay ký số. Tập tin thường có dạng tự do, như tập tin văn bản, nhị phân...(là tập tin chứa dãy các bit).
Vai trò của hệ điều hành trong việc quản lý tập tin :
-Tạo và xoá một tập tin.
-Tạo và xoá một thư mục.
-Hỗ trợ các thao tác trên tập tin và thư mục.
-Ánh xạ tập tin trên hệ thống lưu trữ phụ.
-Backup tập tin trên các thiết bị lưu trữ.
VoMinhThienHLT3- Tổng số bài gửi : 9
Join date : 21/03/2014
Câu 4:Phân tích vai trò máy ảo trong thực tế. Nguyên lý máy ảo.
VM(Virtual Machine) là một môi trường phần mềm cho phép một hoặc hơn một HĐH và các ứng dụng của chúng hoạt động song song trên chỉ một máy tính duy nhất. Điếm thú vị là chúng ta có thể chuyển đổi qua lại giữa các HĐH đang chạy chỉ bằng một hoặc hai thao tác mà không phải khởi động lại PC. Đối với các HĐH, không có gì khác biệt giữa VM và PC thật (real computer). Nói một các ngắn gọn, VM chính là một bản sao của PC thật. Gần như, điều gì bạn có thể làm được trên máy thật thì bạn cũng có thể làm được trên VM.
Ích lợi của máy tính ảo:
- Tính bảo mật cao do các máy ảo độc lập với nhau. Các tài nguyên của máy vật lý được bảo vệ hoàn toàn vì các máy tính ảo có thiết bị ảo (ví dụ, ổ đĩa ảo). Có thể lấy từ Internet về một chương trình lạ và thử chạy trên máy ảo mà không sợ bị ảnh hưởng (VD như virut) vì nếu có sao thì cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống (System Development) mà không sợ làm ảnh hưởng đến công việc toàn hệ máy đang vận hành. HĐH là chương trình phức tạp,cần liên tục thử nghiệm, tinh chỉnh, hoàn thiện và nâng cấp. Có thể tiến hành phát triển hệ thống trên một máy ảo thay vì làm trên máy thực. Thành công rồi mới chuyển nhanh sang máy thực.
VD: một số phần mềm như VMWare, Virtual PC, VirtualBox .
* Nhược điểm của máy tính ảo:
Vấn đề bảo mật và lưu trữ vật lý. Thông thường, mỗi máy ảo chỉ dùng một tập tin để lưu tất cả những gì diễn ra trong máy ảo. Do đó nếu bị mất tập tin này xem như mất tất cả.
Nếu máy tính có cấu hình phần cứng thấp nhưng cài quá nhiều chương trình máy ảo, máy sẽ chậm và ảnh hưởng đến các chương trình khác.
Do tập trung vào một máy tính, nếu máy bị hư thì toàn bộ các máy tính ảo đã thiết lập trên nó cũng bị ảnh hưởng theo.
Ở góc độ bảo mật, nếu hacker nắm quyền điều khiển máy tính chứa các máy ảo thì hacker có thể kiểm soát được tất cả các máy ảo trong nó.
Ích lợi của máy tính ảo:
- Tính bảo mật cao do các máy ảo độc lập với nhau. Các tài nguyên của máy vật lý được bảo vệ hoàn toàn vì các máy tính ảo có thiết bị ảo (ví dụ, ổ đĩa ảo). Có thể lấy từ Internet về một chương trình lạ và thử chạy trên máy ảo mà không sợ bị ảnh hưởng (VD như virut) vì nếu có sao thì cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống (System Development) mà không sợ làm ảnh hưởng đến công việc toàn hệ máy đang vận hành. HĐH là chương trình phức tạp,cần liên tục thử nghiệm, tinh chỉnh, hoàn thiện và nâng cấp. Có thể tiến hành phát triển hệ thống trên một máy ảo thay vì làm trên máy thực. Thành công rồi mới chuyển nhanh sang máy thực.
VD: một số phần mềm như VMWare, Virtual PC, VirtualBox .
* Nhược điểm của máy tính ảo:
Vấn đề bảo mật và lưu trữ vật lý. Thông thường, mỗi máy ảo chỉ dùng một tập tin để lưu tất cả những gì diễn ra trong máy ảo. Do đó nếu bị mất tập tin này xem như mất tất cả.
Nếu máy tính có cấu hình phần cứng thấp nhưng cài quá nhiều chương trình máy ảo, máy sẽ chậm và ảnh hưởng đến các chương trình khác.
Do tập trung vào một máy tính, nếu máy bị hư thì toàn bộ các máy tính ảo đã thiết lập trên nó cũng bị ảnh hưởng theo.
Ở góc độ bảo mật, nếu hacker nắm quyền điều khiển máy tính chứa các máy ảo thì hacker có thể kiểm soát được tất cả các máy ảo trong nó.
dangthituyetnhungTH08a1- Tổng số bài gửi : 41
Join date : 19/03/2014
TÌM HIỂU VỀ VBA (VISUAL BASIC for APPLICATION)
VBA là viết tắt của cụm từ Visual Basic for Application. Nó là một ngôn ngữ lập trình chung của Bộ Office được phát triển bởi Microsoft. VBA là một công cụ dùng để phát triển chương trình ứng dụng trong Excel nói riêng và bộ Microsoft Office nói chung.
CHÚNG TA CÓ THỂ LÀM ĐƯỢC GÌ VỚI VBA?
-Lưu giữ các danh sách như danh sách khách hàng, danh sách sinh viên, danh sách hàng hoá.
-Lên kế hoạch.
-Phân tích dữ liệu.
-Phát triển các biểu đồ từ nguồn dữ liệu lưu trữ.
Ví dụ
-Có thể tạo một Macro tự động đưa vào danh sách nhân viên bán hàng của công ty.
-Thực hiện các công việc thường xuyên hay lập lại như báo cáo hàng tháng.
-Tạo một lệnh người dùng. Bạn thường phải thực hiện một số lệnh từ menu của Excel, nếu vậy bạn hãy dành chút thời gian để phối hợp các lệnh ấy lại bằng các phím tắt hay nút lệnh.
-Tạo menu người dùng, tạo thanh công cụ ngừơi dùng.
-Tạo các hàm ngừơi dùng.
-Tạo các Add-In cho Excel hay cho các mục đích riêng.
CÁC THUẬN LỢI VÀ BẤT LỢI CỦA VBA:
+Thuận lợi:
->Excel luôn thực hiện các công việc một cách chính xác theo cùng một cách.
->Excel thực hiện các công việc nhanh hơn nhiều so với việc bạn ngồi bấm máy tính lộc cộc.
->Nếu bạn là một lập trình viên Macro tốt thì Excel sẽ thực hiện các công việc một cách chính xác mà không hề báo lỗi.
->Công việc có thể thực hiện bởi một người không biết gì về Excel.
->Bạn có thể làm các việc trong Excel mà người khác thì không thể.
->Thời gian cũng là yếu tố quan trọng, bạn "bắt Excel" phải làm trong khi bạn có thể đi nhâm nhi 1 ly cafe.
+Bất lợi:
->Dĩ nhiên điều bất lợi đầu tiên là bạn phải học làm thế nào để viết chương trình trong VBA.
->Nếu những người khác muốn dùng chương trình VBA của bạn, họ phải có cài phần mềm Microsoft Excel.
->Nếu bạn viết chương trình không tốt, hay giải thuật bạn sai...mà chương trình bạn đã đưa vào sử dụng thì sẽ dẫn đến sai xót khó lường của việc phân tích dữ liệu.
->VBA luôn luôn không ngừng phát triển để đạt đến mục tiêu của nó. Có thể chương trình của bạn viết sẽ không thể nào thực hiện trên các phiên bản mới.
CHÚNG TA CÓ THỂ LÀM ĐƯỢC GÌ VỚI VBA?
-Lưu giữ các danh sách như danh sách khách hàng, danh sách sinh viên, danh sách hàng hoá.
-Lên kế hoạch.
-Phân tích dữ liệu.
-Phát triển các biểu đồ từ nguồn dữ liệu lưu trữ.
Ví dụ
-Có thể tạo một Macro tự động đưa vào danh sách nhân viên bán hàng của công ty.
-Thực hiện các công việc thường xuyên hay lập lại như báo cáo hàng tháng.
-Tạo một lệnh người dùng. Bạn thường phải thực hiện một số lệnh từ menu của Excel, nếu vậy bạn hãy dành chút thời gian để phối hợp các lệnh ấy lại bằng các phím tắt hay nút lệnh.
-Tạo menu người dùng, tạo thanh công cụ ngừơi dùng.
-Tạo các hàm ngừơi dùng.
-Tạo các Add-In cho Excel hay cho các mục đích riêng.
CÁC THUẬN LỢI VÀ BẤT LỢI CỦA VBA:
+Thuận lợi:
->Excel luôn thực hiện các công việc một cách chính xác theo cùng một cách.
->Excel thực hiện các công việc nhanh hơn nhiều so với việc bạn ngồi bấm máy tính lộc cộc.
->Nếu bạn là một lập trình viên Macro tốt thì Excel sẽ thực hiện các công việc một cách chính xác mà không hề báo lỗi.
->Công việc có thể thực hiện bởi một người không biết gì về Excel.
->Bạn có thể làm các việc trong Excel mà người khác thì không thể.
->Thời gian cũng là yếu tố quan trọng, bạn "bắt Excel" phải làm trong khi bạn có thể đi nhâm nhi 1 ly cafe.
+Bất lợi:
->Dĩ nhiên điều bất lợi đầu tiên là bạn phải học làm thế nào để viết chương trình trong VBA.
->Nếu những người khác muốn dùng chương trình VBA của bạn, họ phải có cài phần mềm Microsoft Excel.
->Nếu bạn viết chương trình không tốt, hay giải thuật bạn sai...mà chương trình bạn đã đưa vào sử dụng thì sẽ dẫn đến sai xót khó lường của việc phân tích dữ liệu.
->VBA luôn luôn không ngừng phát triển để đạt đến mục tiêu của nó. Có thể chương trình của bạn viết sẽ không thể nào thực hiện trên các phiên bản mới.
VoNhuQuynh(HLT3)- Tổng số bài gửi : 6
Join date : 18/03/2014
CACHE, BUFFER và ví dụ minh họa
1. Cache:
- Là tên gọi của bộ nhớ đệm, dạng bộ nhớ trung gian như RAM - trung gian giữa nơi xử lí (CPU) và nơi chứa dữ liệu (HDD), nơi lưu trữ các dữ liệu nằm chờ các ứng dụng hay phần cứng xử lý. Mục đích của nó là để tăng tốc độ xử lý (có sẵn, sử dụng được ngay không cần tốn thời gian đi tìm).
- Cache là một cơ chế lưu trữ tốc độ cao đặc biệt. Bộ nhớ Cache là bộ nhớ nằm bên trong của CPU, nó có tốc độ truy cập dữ liệu theo kịp tốc độ xủa lý của CPU, điều này khiến cho CPU trong lúc xử lý không phải chờ dữ liệu từ RAM vì dữ liệu từ RAM phải đi qua Bus của hệ thống nên mất nhiều thời gian. Nó có thể là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc lập.Có hai dạng lưu trữ cache được dùng phổ biến trong máy tính cá nhân là memory caching (bộ nhớ cache hay bộ nhớ truy xuất nhanh) và disk caching (bộ nhớ đệm đĩa).
Ví dụ:
Nguyên liệu nấu ăn đã mua từ hôm trước cất trong tủ lạnh, đến giờ chỉ cần lấy ra sử dụng.
2. Buffer
Là bộ đệm, bộ nhớ trung gian, một đơn vị của bộ nhớ được giao nhiệm vụ tạm thời lưu giữ các thông tin.
Bộ đệm (Buffer) hay bộ nhớ đệm là vùng nhớ tạm trong khi chờ đến lượt vì CPU và các thiết bị khác không làm việc cùng tốc độ, HDH thì xử lý các tiến trình có chia thời gian. Do đó cần có bộ đệm để chứa tạm thời. Bộ đệm hoạt động theo cơ chế FIFO(First In First Out).
Ví dụ:
+ Khi ghi dữ liệu lên ổ cứng hoặc đọc dữ liệu từ ổ cứng cần Buffer.
+ Hai máy tính truyền dữ liệu cũng cần Buffer.
- Là tên gọi của bộ nhớ đệm, dạng bộ nhớ trung gian như RAM - trung gian giữa nơi xử lí (CPU) và nơi chứa dữ liệu (HDD), nơi lưu trữ các dữ liệu nằm chờ các ứng dụng hay phần cứng xử lý. Mục đích của nó là để tăng tốc độ xử lý (có sẵn, sử dụng được ngay không cần tốn thời gian đi tìm).
- Cache là một cơ chế lưu trữ tốc độ cao đặc biệt. Bộ nhớ Cache là bộ nhớ nằm bên trong của CPU, nó có tốc độ truy cập dữ liệu theo kịp tốc độ xủa lý của CPU, điều này khiến cho CPU trong lúc xử lý không phải chờ dữ liệu từ RAM vì dữ liệu từ RAM phải đi qua Bus của hệ thống nên mất nhiều thời gian. Nó có thể là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc lập.Có hai dạng lưu trữ cache được dùng phổ biến trong máy tính cá nhân là memory caching (bộ nhớ cache hay bộ nhớ truy xuất nhanh) và disk caching (bộ nhớ đệm đĩa).
Ví dụ:
Nguyên liệu nấu ăn đã mua từ hôm trước cất trong tủ lạnh, đến giờ chỉ cần lấy ra sử dụng.
2. Buffer
Là bộ đệm, bộ nhớ trung gian, một đơn vị của bộ nhớ được giao nhiệm vụ tạm thời lưu giữ các thông tin.
Bộ đệm (Buffer) hay bộ nhớ đệm là vùng nhớ tạm trong khi chờ đến lượt vì CPU và các thiết bị khác không làm việc cùng tốc độ, HDH thì xử lý các tiến trình có chia thời gian. Do đó cần có bộ đệm để chứa tạm thời. Bộ đệm hoạt động theo cơ chế FIFO(First In First Out).
Ví dụ:
+ Khi ghi dữ liệu lên ổ cứng hoặc đọc dữ liệu từ ổ cứng cần Buffer.
+ Hai máy tính truyền dữ liệu cũng cần Buffer.
VoNhuQuynh(HLT3)- Tổng số bài gửi : 6
Join date : 18/03/2014
Clock và Bus
CLOCK
Clock là tín hiệu được sử dụng để đồng bộ hóa mọi thứ trên máy tính.
Mạch xung clock là một mạch điện tử phát ra các xung có khoảng cách đều nhau với tốc độ lên tới hàng triệu chu kỳ mỗi giây. Các xung này được dùng để đồng bộ sự di chuyển thông tin qua các kênh truyền thông nội bộ của máy tính.
Có 2 kỹ thuật cơ bản:
• Đồng bộ -Synchronous (dùng thêm tín hiệu clock (xung nhịp))
Có xung clock làm chủ.
Tín hiệu dữ liệu được nhận dạng hoặc phát triển nhờ tín hiệu của clock : cạnh lên hoặc cạnh xuống.
Bộ thu có thể được đáp ứng theo sự thay đổi tần số của bộ phát.
• Bất đồng bộ - Asynchronous (dùng thêm các tín hiệu bắt tay)
Không có xung clock làm chủ.
Dử liệu truyền đi có thông tin để bộ thu đồng bộ tín hiệu : start bit ,stop bit.
Bộ truyền và bộ thu phải hoạt động cùng tần số.
Tín hiệu clock:
Rising Edge(cạnh lên)
Falling Edge( cạnh xuống)
High( mức cao)
Low(mức thấp)
Thông số của clock
Tần số - Frequency: số chu kỳ trong 1 giây
Chu kỳ - Cycle: chiều dài 1 chu kỳ
Tác dụng của clock:
Mọi thao tác được thực hiện trong thời gian bằng 1 số nguyên chu kỳ clock
Ví dụ :
Lệnh cộng – 1 chu kỳ.
CPU đọc từ bộ nhớ 3 chu kỳ.
Chu kỳ 1 : Phát địa chỉ.
Chu kỳ 2: Chờ.
Chu kỳ 3: Đọc dử liệu.
BUS
Bus là đường dẫn tín hiệu chung giữa các thiết bị
Độ rộng bus là số đường dây của bus có thể truyền bit thông tin đồng thời( Chỉ dùng cho bus địa chỉ và bus dử liệu).
Các thành phần trên bus
• Data bus – bus dữ liệu
Vận chuyển lệnh từ bộ nhớ đến CPU vận chuyển dữ liệu giữa CPU, các môđun nhớ và môđun vào-ra.
Độ rộng bus dữ liệu: xác định số bit dữ liệu có thể được trao đổi đồng thời.
Kích thước thường là 8,16,32,64,128 bit.
Ví dụ: các bộ vi xữ lý Pentium có bus dữ liệu là 64 bit.
• Address bus – bus địa chỉ
Là đường dẫn thông tin về tín hiệu địa chỉ để xác định thiết bị gửi và nhận dữ liệu.
Xác định dung lượng bộ nhớ cực đại của hệ thống.
Nếu độ rộng bus địa chỉ là N bit: AN-1,AN-2,……A1,A0.
Vậy dung lượng bộ nhớ cực đại là 2¬¬N Byte( Không gian địa chỉ bộ nhớ).
Ví dụ: Bộ xữ lý Intel Pentium có bus địa chỉ kà 32 bit -> Bộ nhớ cực đại là 232 byte = 4GB.
• Control bus – bus điều khiển
Vận chuyễn các tín hiệu điều khiển để đọc ghi bộ nhớ và thiết bị I/O.
Các loại tín hiệu vẫn chuyển :
Các tín hiệu phát ra từ CPU để điều khiển môđun nhớ và môđun vào- ra.
Các tín hiệu từ môđun nhớ hay môđun vào-ra gửi đến CPU.
Clock là tín hiệu được sử dụng để đồng bộ hóa mọi thứ trên máy tính.
Mạch xung clock là một mạch điện tử phát ra các xung có khoảng cách đều nhau với tốc độ lên tới hàng triệu chu kỳ mỗi giây. Các xung này được dùng để đồng bộ sự di chuyển thông tin qua các kênh truyền thông nội bộ của máy tính.
Có 2 kỹ thuật cơ bản:
• Đồng bộ -Synchronous (dùng thêm tín hiệu clock (xung nhịp))
Có xung clock làm chủ.
Tín hiệu dữ liệu được nhận dạng hoặc phát triển nhờ tín hiệu của clock : cạnh lên hoặc cạnh xuống.
Bộ thu có thể được đáp ứng theo sự thay đổi tần số của bộ phát.
• Bất đồng bộ - Asynchronous (dùng thêm các tín hiệu bắt tay)
Không có xung clock làm chủ.
Dử liệu truyền đi có thông tin để bộ thu đồng bộ tín hiệu : start bit ,stop bit.
Bộ truyền và bộ thu phải hoạt động cùng tần số.
Tín hiệu clock:
Rising Edge(cạnh lên)
Falling Edge( cạnh xuống)
High( mức cao)
Low(mức thấp)
Thông số của clock
Tần số - Frequency: số chu kỳ trong 1 giây
Chu kỳ - Cycle: chiều dài 1 chu kỳ
Tác dụng của clock:
Mọi thao tác được thực hiện trong thời gian bằng 1 số nguyên chu kỳ clock
Ví dụ :
Lệnh cộng – 1 chu kỳ.
CPU đọc từ bộ nhớ 3 chu kỳ.
Chu kỳ 1 : Phát địa chỉ.
Chu kỳ 2: Chờ.
Chu kỳ 3: Đọc dử liệu.
BUS
Bus là đường dẫn tín hiệu chung giữa các thiết bị
Độ rộng bus là số đường dây của bus có thể truyền bit thông tin đồng thời( Chỉ dùng cho bus địa chỉ và bus dử liệu).
Các thành phần trên bus
• Data bus – bus dữ liệu
Vận chuyển lệnh từ bộ nhớ đến CPU vận chuyển dữ liệu giữa CPU, các môđun nhớ và môđun vào-ra.
Độ rộng bus dữ liệu: xác định số bit dữ liệu có thể được trao đổi đồng thời.
Kích thước thường là 8,16,32,64,128 bit.
Ví dụ: các bộ vi xữ lý Pentium có bus dữ liệu là 64 bit.
• Address bus – bus địa chỉ
Là đường dẫn thông tin về tín hiệu địa chỉ để xác định thiết bị gửi và nhận dữ liệu.
Xác định dung lượng bộ nhớ cực đại của hệ thống.
Nếu độ rộng bus địa chỉ là N bit: AN-1,AN-2,……A1,A0.
Vậy dung lượng bộ nhớ cực đại là 2¬¬N Byte( Không gian địa chỉ bộ nhớ).
Ví dụ: Bộ xữ lý Intel Pentium có bus địa chỉ kà 32 bit -> Bộ nhớ cực đại là 232 byte = 4GB.
• Control bus – bus điều khiển
Vận chuyễn các tín hiệu điều khiển để đọc ghi bộ nhớ và thiết bị I/O.
Các loại tín hiệu vẫn chuyển :
Các tín hiệu phát ra từ CPU để điều khiển môđun nhớ và môđun vào- ra.
Các tín hiệu từ môđun nhớ hay môđun vào-ra gửi đến CPU.
TranTuanPhat93(HLT3)- Tổng số bài gửi : 11
Join date : 05/05/2014
Trang 2 trong tổng số 2 trang • 1, 2
Similar topics
» THẢO LUẬN MÔN HỌC
» Thảo luận Bài 8
» Thảo luận Bài 7
» Thảo luận về đề thi HK1
» [Đề thi giữa kỳ] I22B ( 8-4-2013 )
» Thảo luận Bài 8
» Thảo luận Bài 7
» Thảo luận về đề thi HK1
» [Đề thi giữa kỳ] I22B ( 8-4-2013 )
Trang 2 trong tổng số 2 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết