Thảo luận Bài 3
+44
PhamHuyHoang(I113A)
ledinhngankhanh (113a)
PhanDiecLoi34 (113A)
caoxuanthang (113A)
TranThiThuyHang79 (113A)
nguyenduchuy19 (113A)
LeMInhTien(I11C)
tranthanhphu49 (113A)
LUUDINHTOAN(I11C)
PhanHungKhanh051
TranVanTy(113A)
trantrungnam-HC11TH2A
NguyenVuLinh12053_I11C
huynhquanghao_I92C
nguyendinhhieu13 (113A)
nguyenchithuc(113A)
NguyenHuuLinh31(113A)
LeThanhNhan45 (113A)
LeVanNhan(I12A)
TranMinhNhat61 (102c)
VoTrongQuyet-I12A
nguyenvantoan84(113A)
NguyenVanNghiem(HC11TH3A)
NguyenPhamTanPhat(113A)
DoVanTan(113A)
LeKimHoang (113A)
TrangSiMinhHai (113A)
NguyenVanQuyet57 (113A)
TranThichThem (113A)
LuuCatTung (113A)
voanhvy (113A)
nguyentuannghiaem _(113A)
NguyenThiThuThuy (113A)
buidainghia(113A)
nguyendangnguyen43(i13a)
VuDinhThao47 (113A)
HaHoangCongTien80 (113A)
PhamQuocAnh02 (113A)
LeLamThang (113A)
duongvanhai_(113A)
lechaukhoa(113A)
NguyenNgocTrungNam (113A)
NguyenThiNgocPhuong(113A)
Admin
48 posters
Trang 4 trong tổng số 5 trang
Trang 4 trong tổng số 5 trang • 1, 2, 3, 4, 5
Khái niệm Máy tính ảo?
*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ý.
*Ví dụ: Trên nền CPU loại PowerPC, Motorola, Alpha,... có thể giả lập máy tính ảo Intel chạy HĐH Windows và ngược lại. Khi đó, các lệnh của Intel được chuyển đổi sang lệnh vật lý trước khi thực hiện.
*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ý.
*Ví dụ: Trên nền CPU loại PowerPC, Motorola, Alpha,... có thể giả lập máy tính ảo Intel chạy HĐH Windows và ngược lại. Khi đó, các lệnh của Intel được chuyển đổi sang lệnh vật lý trước khi thực hiện.
LeMInhTien(I11C)- Tổng số bài gửi : 40
Join date : 07/09/2011
Cấu 1: Trình bày vai trò và chức năng của bộ thông dịch lệnh
Chức năng : lấy câu lệnh tiếp theo và thực thi nó. (Các câu lệnh giải quyết việc: tạo, hủy, xem thông tin tiến trình, hệ thống. Điều khiển truy cập I/O . Quản lý, truy cập hệ thống lưu trữ thứ cấp. Quản lý, sử dụng bộ nhớ.Truy cập hệ thống file…..)
Vai trò :
- Là giao diện chủ yếu giữa người dùng và HĐH. Ví dụ: shell, mouse-based window-and-menu
- Liên hệ chặt chẽ với các thành phần khác của hệ điều hành để thực thi các yêu cầu của người dùng
Vai trò :
- Là giao diện chủ yếu giữa người dùng và HĐH. Ví dụ: shell, mouse-based window-and-menu
- Liên hệ chặt chẽ với các thành phần khác của hệ điều hành để thực thi các yêu cầu của người dùng
TranMinhNhat61 (102c)- Tổng số bài gửi : 55
Join date : 16/07/2012
Phân biệt giữa thông dịch và biên dịch
Thông dịch(Interpretion) là lần lượt thi hành từng lệnh 1 thông qua 1 chương trình gọi là Trình thông dịch(Interpretor). Thường chương trình cần thực hiện được viết ở ngôn ngữ cấp thấp được lưu thành file với đuôi mở rộng *.bat(batch).
Biên dịch(Compilation) là dịch 1 lần 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 phải thông dịch lại).
Admin
Khẳng định như gạch dưới ở trên là sai ! Mà ngược lại mới đúng: VBA, VBScript, JavaScript là các ngôn ngữ để thông dịch. nhưng chúng là các ngôn ngữ bậc cao !
Biên dịch(Compilation) là dịch 1 lần 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 phải thông dịch lại).
Admin
Khẳng định như gạch dưới ở trên là sai ! Mà ngược lại mới đúng: VBA, VBScript, JavaScript là các ngôn ngữ để thông dịch. nhưng chúng là các ngôn ngữ bậc cao !
nguyenduchuy19 (113A)- Tổng số bài gửi : 20
Join date : 17/07/2012
Các công việc chính của bộ phận Memory Management, File Management và Secondary Storage Management?
+ Memory Management
_ Theo dõi thành phần nào của của bộ nhớ đang được sử dụng và tiến trình nào đang sử dụng
_ Quyết định tiến trình nào hoặc dữ liệu nào sẽ được di chuyển ra khỏi hoặc đưa vào bộ nhớ
_ Cấp phát và hủy không gian bộ nhớ nếu cần.
+ File Management
_ Tạo và xóa tập tin
_ Tạo và xóa thư mục
_ Hỗ trợ các thao tác cơ bản trên tập tin và thư mục
_ Ánh xạ tập tin vào trong bộ lưu trữ thứ cấp
_ Sao lưu trên các thiết bị ổn định
+ Storage Management
_ Quản lí không gian trống
_ Cấp phát cho việc lưu trữ dữ liệu
_ Định thời yêu cầu truy cập bộ nhớ
_ Theo dõi thành phần nào của của bộ nhớ đang được sử dụng và tiến trình nào đang sử dụng
_ Quyết định tiến trình nào hoặc dữ liệu nào sẽ được di chuyển ra khỏi hoặc đưa vào bộ nhớ
_ Cấp phát và hủy không gian bộ nhớ nếu cần.
+ File Management
_ Tạo và xóa tập tin
_ Tạo và xóa thư mục
_ Hỗ trợ các thao tác cơ bản trên tập tin và thư mục
_ Ánh xạ tập tin vào trong bộ lưu trữ thứ cấp
_ Sao lưu trên các thiết bị ổn định
+ Storage Management
_ Quản lí không gian trống
_ Cấp phát cho việc lưu trữ dữ liệu
_ Định thời yêu cầu truy cập bộ nhớ
TranThiThuyHang79 (113A)- Tổng số bài gửi : 46
Join date : 24/07/2012
Age : 34
Đến từ : Tiền Giang
Mô hình liên lạc giữa các tiến trì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.
- 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.
Được sửa bởi caoxuanthang (113A) ngày 10/9/2012, 09:20; sửa lần 1.
Biên dịch và thông dịch
Compilation: Code sau khi được biên dịch sẽ tạo ra 1 file thường là .exe, và file .exe này có thể đem sử dụng lại không cần biên dịch nữa. 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 đó.
Interpreter : Nó dịch từng lệnh rồi chạy từng lệnh, lần sau muốn chạy lại thì phải interpreter lại.Thường được viết bằng ngôn ngữ cấp thấp và được lưu với file mở rộng *.bat(batch). Trong thông dịch thì mã nguồn không dượ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).
Compilation giống như một dịch thuật gia, giã sử ông ta dịch một cuốn sách từ English sang Vietnam, sau này một người không biết English vẫn có thể hiểu nội dung quyển sách bằng cách đọc quyển tiếng Việt do ông ta dịch.
Interpretation giống như là thông dịch viên, có một cuộc hôi thảo người báo cáo là người Anh, trong khi hầu hết người dự báo cáo là người việt không biết tiếng Anh thì sẽ cần đến một anh thông dịch viên, lần sau cũng có cuộc hội thảo tương tự như vậy, cùng chủ đề đó nhưng cũng cần đến anh thông dịch viên.
Interpreter : Nó dịch từng lệnh rồi chạy từng lệnh, lần sau muốn chạy lại thì phải interpreter lại.Thường được viết bằng ngôn ngữ cấp thấp và được lưu với file mở rộng *.bat(batch). Trong thông dịch thì mã nguồn không dượ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).
Compilation giống như một dịch thuật gia, giã sử ông ta dịch một cuốn sách từ English sang Vietnam, sau này một người không biết English vẫn có thể hiểu nội dung quyển sách bằng cách đọc quyển tiếng Việt do ông ta dịch.
Interpretation giống như là thông dịch viên, có một cuộc hôi thảo người báo cáo là người Anh, trong khi hầu hết người dự báo cáo là người việt không biết tiếng Anh thì sẽ cần đến một anh thông dịch viên, lần sau cũng có cuộc hội thảo tương tự như vậy, cùng chủ đề đó nhưng cũng cần đến anh thông dịch viên.
Cache và Buffer
Cache: Bộ lưu đệm, là vùng nhớ tạm thời trong máy tính. Trong khoa học máy tính, một bộ nhớ cache là một thành phần để cải thiện hiệu năng lưu trữ dữ liệu bằng cách minh bạch như vậy mà yêu cầu trong tương lai cho rằng dữ liệu có thể được phục vụ nhanh hơn.
Các dữ liệu được lưu trữ trong bộ nhớ cache có thể là các giá trị đã được tính toán trước đó hoặc bản sao của các giá trị ban đầu được lưu ở nơi khác.
Nếu yêu cầu dữ liệu được chứa trong bộ nhớ cache (cache hit), yêu cầu này có thể được phục vụ bởi chỉ cần đọc bộ nhớ cache, đó là tương đối nhanh hơn. Nếu không (cache), dữ liệu phải được recomputed hoặc lấy từ địa điểm lưu trữ ban đầu của nó, mà là tương đối chậm hơn. Do đó, các yêu cầu chi tiết có thể được phục vụ từ bộ nhớ cache tốt hơn hiệu suất hệ thống tổng thể được.
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ộ 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.
VD: + Khi ghi dữ liệu lên ổ cứng hoặc đọc dữ liệu từ ổ cứng cũng cần Buffer.
+ Khi hai máy tính truyền dữ liệu cũng cần Buffer.
Các dữ liệu được lưu trữ trong bộ nhớ cache có thể là các giá trị đã được tính toán trước đó hoặc bản sao của các giá trị ban đầu được lưu ở nơi khác.
Nếu yêu cầu dữ liệu được chứa trong bộ nhớ cache (cache hit), yêu cầu này có thể được phục vụ bởi chỉ cần đọc bộ nhớ cache, đó là tương đối nhanh hơn. Nếu không (cache), dữ liệu phải được recomputed hoặc lấy từ địa điểm lưu trữ ban đầu của nó, mà là tương đối chậm hơn. Do đó, các yêu cầu chi tiết có thể được phục vụ từ bộ nhớ cache tốt hơn hiệu suất hệ thống tổng thể được.
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ộ 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.
VD: + Khi ghi dữ liệu lên ổ cứng hoặc đọc dữ liệu từ ổ cứng cũng cần Buffer.
+ Khi hai máy tính truyền dữ liệu cũng cần Buffer.
Ưu điểm và nhược điểm của máy ảo.
* Ưu điểm:
- Tính bảo mật cao do các máy ảo độc lập 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 ( 1 ổ đĩa ảo, thậm chí toàn bộ máy ảo thực tế chỉ là 1 tập tin của máy vật lý). Có thể lấy từ internet về 1 ứng dụng lạ và thử chạy trên máy ảo mà không sợ bị ảnh hưởng gì vì nếu có sao cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống 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, 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 1 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 đặt 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 1 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.
- Vấn đề 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ó.
- Tính bảo mật cao do các máy ảo độc lập 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 ( 1 ổ đĩa ảo, thậm chí toàn bộ máy ảo thực tế chỉ là 1 tập tin của máy vật lý). Có thể lấy từ internet về 1 ứng dụng lạ và thử chạy trên máy ảo mà không sợ bị ảnh hưởng gì vì nếu có sao cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống 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, 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 1 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 đặt 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 1 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.
- Vấn đề 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ó.
TranThiThuyHang79 (113A)- Tổng số bài gửi : 46
Join date : 24/07/2012
Age : 34
Đến từ : Tiền Giang
Biên dịch và Thông dịch
Biên dịch và Thông dịch.
Thông dịch(Interpretion) còn gọi là sự thông dịch, còn trình thông dịch (Interpretor) là một trình thông dịch ngôn ngữ. 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).
-Ưu điểm:
+ Phát triển nhanh chóng.
+ Có thể chỉnh sửa mã nguồn bất kỳ khi nào.
+ Mạnh xử lý cú pháp.
+ Uyển chuyển mềm dẻo, ràng kiểu dữ liệu không chặt chẽ.
+Có thể chạy trên mọi nền tảng (flatform, hệ điều hành) nếu có trình thông dịch tương ứng, tại vì không phải là ngôn ngữ máy(chỉ là file văn bản) nên không bị phụ thuộc vào HDH, tiêu biểu là Perl, PHP, Python.
-Nhược điểm:
+ Tại vì do là ngôn ngữ thông dịch chạy line by line nên nên ngôn ngữ thông dịch không hỗ trợ đa luồn (multi thread), giao dịch (transaction).... nên ngôn ngữ trình thông dịch chủ yếu là dùng ở mức độ font-end .
+ Cũng do chạy line by line nên tốc độ thực thi không nhanh bằng các chương trình viết bằng ngôn ngữ biên dịch (C, C++, VB...) đã chuyên trực tiếp ra ngôn ngữ máy.
Biên dịch(Compilation). 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 đó.
-Ưu điểm:
+ Ràng buộc chặc chẽ về kiểu trong ngôn ngữ.
+ Hỗ trợ các tính năng đa tuyến, transtion.
+ Do đã biên dịch phụ thuộc vào hệ điều hành nên ct có thể tận dụng toàn bộ các tính năng đặc trưng của hdh.
+ Tốc độ thực thi tốt.
+ Bảo mật tốt (không thể xâm phạm mã nguồn làm thay đổi chức năng của chương trình)
-Nhược điểm:
+ Sau khi biên dịch ra ngôn ngữ máy thì chỉ có thể chạy trên một HDH xác định.
Thông dịch(Interpretion) còn gọi là sự thông dịch, còn trình thông dịch (Interpretor) là một trình thông dịch ngôn ngữ. 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).
-Ưu điểm:
+ Phát triển nhanh chóng.
+ Có thể chỉnh sửa mã nguồn bất kỳ khi nào.
+ Mạnh xử lý cú pháp.
+ Uyển chuyển mềm dẻo, ràng kiểu dữ liệu không chặt chẽ.
+Có thể chạy trên mọi nền tảng (flatform, hệ điều hành) nếu có trình thông dịch tương ứng, tại vì không phải là ngôn ngữ máy(chỉ là file văn bản) nên không bị phụ thuộc vào HDH, tiêu biểu là Perl, PHP, Python.
-Nhược điểm:
+ Tại vì do là ngôn ngữ thông dịch chạy line by line nên nên ngôn ngữ thông dịch không hỗ trợ đa luồn (multi thread), giao dịch (transaction).... nên ngôn ngữ trình thông dịch chủ yếu là dùng ở mức độ font-end .
+ Cũng do chạy line by line nên tốc độ thực thi không nhanh bằng các chương trình viết bằng ngôn ngữ biên dịch (C, C++, VB...) đã chuyên trực tiếp ra ngôn ngữ máy.
Biên dịch(Compilation). 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 đó.
-Ưu điểm:
+ Ràng buộc chặc chẽ về kiểu trong ngôn ngữ.
+ Hỗ trợ các tính năng đa tuyến, transtion.
+ Do đã biên dịch phụ thuộc vào hệ điều hành nên ct có thể tận dụng toàn bộ các tính năng đặc trưng của hdh.
+ Tốc độ thực thi tốt.
+ Bảo mật tốt (không thể xâm phạm mã nguồn làm thay đổi chức năng của chương trình)
-Nhược điểm:
+ Sau khi biên dịch ra ngôn ngữ máy thì chỉ có thể chạy trên một HDH xác định.
PhanDiecLoi34 (113A)- Tổng số bài gửi : 33
Join date : 17/07/2012
Vì sao dùng bộ nhớ chung(Shared memory) thì đồng bộ hóa lại là gánh nặng lên vài người lập trình?
Liên lạc giữa các tiến trình dùng bộ nhớ chung: dữ liệu được đặt trong một vùng nhớ chung mà các tiến trình có thể truy cập được.
Nếu dùng Shared memory thì phải đồng bộ hóa vì: nó đảm bảo tính toàn vẹn của dữ liệu, không làm sai lệch trong quá trình xử lý dữ liệu(điều này rất quan trọng), phải làm sao cho các tiến trình chờ cho tới khi dữ liệu được cập nhật hoàn tất mới cho tiến trình truy xuất.
Ví dụ:
Người lập trình phải giải quyết các câu hỏi:
Làm sao để biết dữ liệu mới nhất mà tiến trình truy xuất trước đã ghi? hay là đang truy xuất dữ liệu cũ trong khi tiến trình khác đang ghi vào?
Làm sao để hai tiến trình không tranh chấp dữ liệu khi truy xuất cùng một thời gian?
Làm sao để biết dữ liệu đã được đã được ghi hết vào bộ nhớ hay chưa? …
Nếu dùng Shared memory thì phải đồng bộ hóa vì: nó đảm bảo tính toàn vẹn của dữ liệu, không làm sai lệch trong quá trình xử lý dữ liệu(điều này rất quan trọng), phải làm sao cho các tiến trình chờ cho tới khi dữ liệu được cập nhật hoàn tất mới cho tiến trình truy xuất.
Ví dụ:
Người lập trình phải giải quyết các câu hỏi:
Làm sao để biết dữ liệu mới nhất mà tiến trình truy xuất trước đã ghi? hay là đang truy xuất dữ liệu cũ trong khi tiến trình khác đang ghi vào?
Làm sao để hai tiến trình không tranh chấp dữ liệu khi truy xuất cùng một thời gian?
Làm sao để biết dữ liệu đã được đã được ghi hết vào bộ nhớ hay chưa? …
PhanDiecLoi34 (113A)- Tổng số bài gửi : 33
Join date : 17/07/2012
Cho hỏi
Máy mỉnh nếu RAM là 4 GB thì cpu chạy rất ít . Nhưng bạn mình máy chỉ có 2GB thì CPU xài đến 50% theo bạn máy bạn mình nên tăng RAM hay do 1 lý do khác mà CPU sử dụng nhiều hơn máy mìnhPhamQuocAnh02 (113A) đã viết:Trong suy nghĩ của nhiều người sử dụng máy tính thì RAM nhiều tương đương với việc máy tính chạy nhanh hơn. Thậm chí, không ít người nghĩ RAM mới là yếu tố quyết định tốc độ của máy tính chứ không phải là chip hay các linh kiện khác.
Và mỗi khi máy tính chạy chậm hay có dấu hiệu ì ạch thì việc đầu tiên mà nhiều người nghĩ ngay đến việc... nâng cấp RAM. Nhưng liệu đây có phải là suy nghĩ đúng hay không? Và đâu là bản chất của vấn đề này? Liệu nâng cấp RAM có cần thiết và người dùng có nên tiến hành công việc này hay không? Trong trường hợp nào bạn nên nâng cấp RAM còn trường hợp nào thì nên "từ từ"?
RAM là gì? Tác dụng và vai trò của nó?
Ai cũng biết đến RAM nhưng không phải ai cũng biết chính xác nó là gì, tác dụng của nó ra sao. Rất nhiều người chỉ biết đến RAM như một thành phần quyết định tốc độ của máy tính. RAM là viết tắt của cụm từ Random Access Memory (bộ nhớ truy cập ngẫu nhiên). Nó được gọi như vậy là vì mỗi ô nhớ của RAM có vai trò như nhau và hệ thống của thể truy cập bất cứ ô nhớ nào mà không phải đi tuần tự như các loại thiết bị lưu trữ khác.
RAM có khả năng tự đọc và ghi. Nhờ các tính năng đặc biệt mà tốc độ truy xuất dữ liệu trên RAM là nhanh vượt trội so với các thiết bị lưu trữ khác. Tuy nhiên, nó không có khả năng lưu trữ dữ liệu khi bị ngắt nguồn điện, mỗi khí máy tính bị tắt là đồng nghĩa với việc RAM mất toàn bộ dữ liệu.
Nhiệm vụ của RAM là để hệ thống ghi các thay đổi và các thông tin đang được sử dụng (của các chương trình đang chạy). Ngoài ra, trong một số trường hợp RAM được sử dụng làm bộ nhớ thứ cấp. Vai trò của RAM trong quá trình chạy là lưu các thông tin hiện hành để hệ thống truy cập và sử dụng nên không thể phủ nhận nó quyết định một phần tốc độ của máy vi tính. Nếu thiếu RAM, hệ thống sẽ chạy rất ì ạch do phải lưu, xóa thông tin liên tục.
Vậy có phải cứ nhiều RAM là tốt?
Câu trả lời là đúng mà cũng không đúng. Vậy khi nào nó tốt hơn, khi nào việc nhiều RAM không có tác dụng?
Đầu tiên chúng ta nên hiểu chính xác là RAM chỉ là nơi lưu trữ thông tin của hệ thống, tức là RAM hoàn toàn không quyết định mà chỉ hỗ trợ tốc độ của hệ thống nhờ và tốc độ truy xuất dữ liệu cực nhanh của mình. Quan niệm: RAM càng lớn tốc độ càng nhanh là hoàn toàn sai lầm, các con số 1GB, 2GB là dung lượng RAM chứ không phải tốc độ.
Như vậy, việc tăng "số GB" của RAM có hiệu quả hay không phụ thuộc hoàn toàn vào việc hệ thống của bạn dùng bao nhiêu RAM cho công việc. Số lượng RAM chỉ cần đúng vừa đủ so với nhu cầu của hệ thống đã là tốt nhất, tăng dung lượng thêm hoàn toàn không có hiệu quả.
Hãy tưởng tượng RAM tương tư như kho chứa hàng. Bạn cần nó "chứa" 1GB thì việc RAM bạn là 1GB hay là 1000 GB hoàn toàn không khác nhau (vì nó chỉ sử dụng hết 1GB). Tăng dung lượng RAM chỉ làm tăng tốc độ hệ thống khi mà bạn cần 2GB RAM trong khi hệ thống chỉ có 1GB, trong trường hợp này, việc tăng RAM sẽ tăng hiệu quả cho hệ thống. Đương nhiên, trong trường hợp này bạn chỉ cần nâng cấp lên 2GB bởi 2GB và 1000GB trong trường hợp này là hoàn toàn không khác nhau.
Trong nhiều trường hợp, chúng ta cần RAM lớn hơn nhu cầu một chút bởi các máy tính đời cũ thường phải chia sẻ bộ nhớ RAM cho card màn hình hay đôi khi có những việc cần RAM đột biến. Như vậy, đừng nên nâng cấp RAM trong các trường hợp mà bạn đã có đủ. Ngay cả khi chưa đủ và muốn nâng cấp, các bạn cũng cần chú ý thêm một số vấn đề khác. Để biết các vấn đề cần chú ý khi nâng cấp RAM, các bạn hãy đón đọc phần tiếp theo của bài viết trong vài ngày tới.
Cùng nhau tìm hiểu tại sao không phải lúc nào nhiều hơn cũng là tốt hơn.
Ở phần trên bài viết, chúng ta đã phần nào hiểu được tác dụng của RAM và mức độ ảnh hưởng của việc nâng cấp RAM với tốc độ chung của hệ thống. Không chỉ vậy, đó cũng là bước đầu tiên để bạn hiểu được rằng có nên nâng cấp RAM hay không và có những suy nghĩ đúng đắn hơn về việc này. Tuy nhiên, cho dù hệ thống quá chậm chạp bởi thiếu RAM đi chăng nữa thì bạn cũng không thể ngay lập tức chạy đi mua RAM và cắm vào máy. Lý do là còn nhiều yếu tố bạn cần xem xét trước khi quyết định có nâng cấp hay không?
Khả năng nhận RAM của bo mạch chủ
Không phải bạn cứ cắm bao nhiêu RAM thì máy sẽ nhận bấy nhiêu. Trên thực tế, khả năng nhận RAM của main là một trong những yếu tố quan trọng quyết định con số dung lượng bộ nhớ lớn nhất mà bạn có thể nhận được. Vượt qua ngưỡng này của main thì dù bạn có cắm thêm bao nhiêu RAM hay sử dụng cách nào đi chăng nữa thì máy cũng không thể nhận thêm. Và kết quả là bạn chỉ tốn tiền oan.
Tuy nhiên là tin vui là hầu hết các loại Mainboard đời mới hiện nay đều hỗ trợ tới 16GB RAM (thông số lý thuyết). Đối với nhu cầu phổ thông thì gần như chắc chắn người dùng không thể sử dụng hết, thậm chí là 1 nửa con số này. Bởi vậy, nếu bạn sở hữu một số main đời cũ thì hãy để mắt đến yếu tố này.
Tuy thông số kỹ thuật của các dòng main "cũ" thường là hỗ trợ tối đá bộ nhớ RAM 4GB nhưng thực tế nó chỉ nhận được khoảng 3,5GB RAM vì nhiều lý do. Do đó, nếu kiểm tra thấy máy chỉ có 3,5GB RAM (trong khi trên giấy tờ mua bán là 4GB) thì bạn cũng đừng vội vác máy đi bảo hành hoặc "bắt đền" nhà phân phối linh kiện.
Khả năng nhận RAM tối đa của hệ điều hành
Bên cạnh khả năng nhận RAM tối đa của mainboard thì việc bạn sử dụng hệ điều hành nào cũng quyết định tới lượng RAM tối đa mà bạn có thể lắp. Vượt quá giới hạn RAM tối đa mà HĐH xử lý được, bạn sẽ mất tiền vô ích cho phần dung lượng thừa đó.
Mỗi phiên bản Windows có khả năng nhận RAM khác nhau phụ thuộc vào nhiều yếu tố. Thông thường, một hệ điều hành 32 bit sẽ chỉ nhận tối đa 4GB RAM (còn phụ thuộc vào main và phiên bản của Windows). Dưới đây là khả năng nhận RAM của một số phiên bản Windows mà bạn cần lưu tâm.
Windows XP (all versions) 4 GB RAM*
Windows Server 2003 (and SP1), 4 GB RAM*
Windows 7 Starter 2GB RAM
Windows 7, các phiên bản khác: 4GB RAM (x86-32bits)
Windows 7, x64-64bits: 8GB (bản Basic), 16 GB (Bản Home Premium), 192GB (Còn lại).
Windows Vista, Starter 1GB RAM
Windows Vista, các phiên bản khác: 4GB RAM (x86-32bits)
Windows Vista, x64-64bits: 8GB (Bản Home Basic), 16GB (Home Premium), 128GB (Còn lại)
*: RAM thực, không tính RAM ảo lấy từ ổ cứng.
Với các phiên bản 64 bit, số lượng RAM bạn nhận được là rất lớn và bạn hầu như không phải quan tâm đến giới hạn này bởi nó vượt rất xa so với giới hạn của hầu hết các loại main hiện nay.
Như vậy, nếu sử dụng Win 32 bit, các bạn chỉ nên dừng lại ở khoảng 4GB RAM. Nếu muốn hơn 4GB, hãy sử dụng Win 64 bit.
Số khe cắm
Nếu muốn nâng cấp RAM thì hiển nhiên bạn phải mua và... cắm thêm RAM. Chính vì vậy, bạn phải chú ý xem liệu máy bạn còn khe cắm RAM trống hay không. Hiện nay, các loại mainboard thông thường đều hỗ trợ 4 khe cắm RAM.
Nếu không còn thừa khe cắm thì bạn nên cân nhắc nghiêm túc việc nâng cấp có cần thiết không bởi nếu muốn nâng cấp bạn sẽ phải mua mới hoàn toàn. Lý do là vì nếu sử dụng 2 thanh RAM có dung lượng khác nhau (chưa kể tốc độ Bus), hiệu năng đạt được sẽ không cao.
Cắm thêm vào có lợi hay không?
Đương nhiên đây là câu hỏi muôn đời của bất cứ việc nâng cấp linh kiện phần cứng nào. Để biết được việc nâng cấp có lợi hay không xin mời các bạn đọc lại phần 1 của bài viết. Ngoài ra, còn 1 số yếu tố liên quan đến công nghệ sau đây ảnh hưởng đến quyết định nâng cấp RAM của bạn.
Hầu hết các loại mainboard hiện nay đều hỗ trợ công nghệ Dual Channel hay các công nghệ tương tự (nhưng hiện đại hơn với 3 4 channel chạy song song). Điều này mang lại hiệu năng tối đa cho máy tính.
Để có được Dual Channel (của RAM) bạn cần nhiều yếu tố, một trong số đó là phải có RAM với thông số giống nhau. Đương nhiên, nếu bạn cắm thêm một thanh RAM với thông số khác vào có thể hệ thống sẽ không cho phép bạn kích hoạt tính năng Dual Channel.
Ngoài ra, hãy chú ý sự xung đột thiết bị. Trong một số ít trường hợp, các thiết bị khác đặc biệt là Main không thể hoạt động được với RAM vì nhiều lý do. Hãy tham khảo kỹ trước khi quyết định có nâng cấp RAM hay không.
ledinhngankhanh (113a)- Tổng số bài gửi : 30
Join date : 29/07/2012
Hỏi thêm
Nếu mình tạo lập 1 ổ cứng ảo nhưng sử dụng ổ cứng thật là một ổ đĩa riêng thì có nên hay không?TranThiThuyHang79 (113A) đã viết:* Ưu điểm:
- Tính bảo mật cao do các máy ảo độc lập 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 ( 1 ổ đĩa ảo, thậm chí toàn bộ máy ảo thực tế chỉ là 1 tập tin của máy vật lý). Có thể lấy từ internet về 1 ứng dụng lạ và thử chạy trên máy ảo mà không sợ bị ảnh hưởng gì vì nếu có sao cũng chỉ hỏng máy ảo.
- Dễ phát triển hệ thống 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, 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 1 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 đặt 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 1 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.
- Vấn đề 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ó.
ledinhngankhanh (113a)- Tổng số bài gửi : 30
Join date : 29/07/2012
ĐỊNH NGHĨA TIẾN TRÌNH , SO SÁNH TIẾN TRÌNH VỚI CHƯƠNG TRÌNH !
Tiến trình (process) : là chương trình trong thời gian thực hiện(đặt dưới sự quản lý của hệ điều hành) .
So sánh tiến trình với chương trình:
Bản than tiến trình không là chương trình vì là thực thể thụ động , trong khi tiến trình là thực thể hoạt động với nhiều thôn g tin về trạng thái trong đó có bộ đếm chương trình cho biết vị trí lệnh hiện hành .
- Nhiều tiến trình có thể liên quan đến một chương trình và là các thực thể khác nhau khi vận hành .
- Mỗi tiến trình có thể sinh ra nhiều tiến trình con khác khi vận hành.
- Tiến trình cần các tài nguyên ( CPU , Memory,tâp tin, thiết bị I/O) để hoàn thành công việc .
- Tài nguyên cấp cho tiến trinh ngay từ đầu (khi tiến trình được tạo lập) hoặc trong thời gian vận hành và được thu hồi hết khi tiến trình kết thúc .
- Tiến trình là thực thể hoạt động , chương trình là thực thể thụ động , tiến trình có thông – Điểm khác nhau giữa tiến trình và chương trình : tiến trình có thông tin trạng thái để phản ánh tiến trình đang ở trạng thái nào
So sánh tiến trình với chương trình:
Bản than tiến trình không là chương trình vì là thực thể thụ động , trong khi tiến trình là thực thể hoạt động với nhiều thôn g tin về trạng thái trong đó có bộ đếm chương trình cho biết vị trí lệnh hiện hành .
- Nhiều tiến trình có thể liên quan đến một chương trình và là các thực thể khác nhau khi vận hành .
- Mỗi tiến trình có thể sinh ra nhiều tiến trình con khác khi vận hành.
- Tiến trình cần các tài nguyên ( CPU , Memory,tâp tin, thiết bị I/O) để hoàn thành công việc .
- Tài nguyên cấp cho tiến trinh ngay từ đầu (khi tiến trình được tạo lập) hoặc trong thời gian vận hành và được thu hồi hết khi tiến trình kết thúc .
- Tiến trình là thực thể hoạt động , chương trình là thực thể thụ động , tiến trình có thông – Điểm khác nhau giữa tiến trình và chương trình : tiến trình có thông tin trạng thái để phản ánh tiến trình đang ở trạng thái nào
NguyenHuuLinh31(113A)- Tổng số bài gửi : 33
Join date : 19/07/2012
ví dụ câu 2 về vai trò của bộ thông dịch lệnh từ ví dụ thực tế của thầy
ví dụ : sáng kiến của thầy tô tuấn tự động sao lưu cơ sở dữ liệu của 2 triệu người dùng ra 3 tập tin vào lúc 8 giờ sáng hàng ngày.
PhamQuocAnh02 (113A)- Tổng số bài gửi : 27
Join date : 16/07/2012
Vai trò và chức năng của hệ thông dịch lệnh
.* Bộ thông dịch lệnh:
- Giao diện dòng lệnh là một phương thức giao tiếp giữa User và HĐH.
- Một số HĐH coi Command-Interpreter là bộ phận của hạt nhân trong khi MS-DOS và UNIX chỉ coi là chương trình đặc biệt.
- Giao diện do Command-Intepreter 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ĐH Mac OS cho máy tính Macintosh.
* Phân biệt thông dịch với biên dịch:
- Thông dịch: Là nhận được lệnh nào, bộ thông dịch phân tích lệnh đó rồi thực hiện luôn. VD: file .exe. Biên dịch cần xử lý, hệ thống sẽ đọc từng dòng lệnh, đọc đến đâu dịch đến đó, xử lý lâu hơn biên dịch.
- Biên dịch: Là chuyển đổi toàn bộ chương trình của người dùng, bao gồm các lệnh cần thực hiện sang ngôn ngữ máy rồi mới thực hiện cả chương trình.Là thủ tục ghi sẵn trên Server, đã chuẩn bị sẵn khi chạy sẽ nhanh hơn, lần sau có chạy càng nhanh hơn
- Giao diện dòng lệnh là một phương thức giao tiếp giữa User và HĐH.
- Một số HĐH coi Command-Interpreter là bộ phận của hạt nhân trong khi MS-DOS và UNIX chỉ coi là chương trình đặc biệt.
- Giao diện do Command-Intepreter 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ĐH Mac OS cho máy tính Macintosh.
* Phân biệt thông dịch với biên dịch:
- Thông dịch: Là nhận được lệnh nào, bộ thông dịch phân tích lệnh đó rồi thực hiện luôn. VD: file .exe. Biên dịch cần xử lý, hệ thống sẽ đọc từng dòng lệnh, đọc đến đâu dịch đến đó, xử lý lâu hơn biên dịch.
- Biên dịch: Là chuyển đổi toàn bộ chương trình của người dùng, bao gồm các lệnh cần thực hiện sang ngôn ngữ máy rồi mới thực hiện cả chương trình.Là thủ tục ghi sẵn trên Server, đã chuẩn bị sẵn khi chạy sẽ nhanh hơn, lần sau có chạy càng nhanh hơn
PhamHuyHoang(I113A)- Tổng số bài gửi : 10
Join date : 16/08/2012
Vai trò và chức năng của bộ thông dịch lệnh
Chức năng: lấy câu lệnh tiếp theo và thực thi nó.(Các câu lệnh giải quyết việc: tạo, huỷ, xem thông tin tiến trình, hệ thống. Điều khiển truy cập I/O. Quản lý, truy cập hệ thống lưu trữ thứ cấp. Quản lý, sử dụng bộ nhớ. Truy cập hệ thống file....)
Vai trò
- Là giao diện chủ yếu giữa người dùng và hệ điều hành. Ví dụ: shell, mouse-base, windows-and-menu
- Liên hệ chặt chẽ với các thành phần khác của hệ điều hành để thực thi các yêu cầu của người dùng
Vai trò
- Là giao diện chủ yếu giữa người dùng và hệ điều hành. Ví dụ: shell, mouse-base, windows-and-menu
- Liên hệ chặt chẽ với các thành phần khác của hệ điều hành để thực thi các yêu cầu của người dùng
NguyenHuuLinh31(113A)- Tổng số bài gửi : 33
Join date : 19/07/2012
Chức năng chính của HĐH
Các thành phần của hệ điều hành
+Hệ thống quản lý tiến trình
+Hệ thống quản lý bộ nhớ
+Hệ thống quản lý nhập xuất
+Hệ thống quản lý tập tin
+Hệ thống bảo vệ
+Hệ thống dịch lệnh
+Quản lý mạng
Chức năng chính yếu của hệ điều hành
Quản lý chia sẻ tài nguyên
Tài nguyên của hệ thống (CPU, bộ nhớ, thiết bị ngoại vi,...) vốn rất giới hạn, nhưng trong các hệ thống đa nhiệm, nhiều người sử dụng có thể đồng thời yêu cầu nhiều tài nguyên. Để thỏa mãn yêu cầu sử dụng chỉ với tài nguyên hữu hạn và nâng cao hiệu quả sử dụng tài nguyên, hệ điều hành cần phải có cơ chế và chiến lược thích hợp để quản lý việc phân phối tài nguyên.
Ngoài yêu cầu dùng chung tài nguyên để tiết kiệm chi phí, người sử dụng còn cần phải chia sẻ thông tin (tài nguyên phần mềm) lẫn nhau, khi đó hệ điều hành cần đảm bảo việc truy xuất đến các tài nguyên này là hợp lệ, không xảy ra tranh chấp, mất đồng nhất,...
[sửa]Giả lập một máy tính mở rộng
Hệ điều hành làm ẩn đi các chi tiết phần cứng, người sử dụng được cung cấp một giao diện đơn giản, dễ hiểu, dễ sử dụng và không phụ thuộc vào thiết bị phần cứng cụ thể.
Thực tế, ta có thể xem Hệ điều hành như là một hệ thống bao gồm nhiều máy tính trừu tượng xếp thành nhiều lớp chồng lên nhau, máy tính mức dưới phục vụ cho máy tính mức trên. Lớp trên cùng là giao diện trực quan nhất để điều khiển.
Ngoài ra có thể chia chức năng của Hệ điều hành theo bốn chức năng sau:
Quản lý quá trình (process management)
Quản lý bộ nhớ (memory management)
Quản lý hệ thống lưu trữ
Giao tiếp với người dùng (user interaction)
+Hệ thống quản lý tiến trình
+Hệ thống quản lý bộ nhớ
+Hệ thống quản lý nhập xuất
+Hệ thống quản lý tập tin
+Hệ thống bảo vệ
+Hệ thống dịch lệnh
+Quản lý mạng
Chức năng chính yếu của hệ điều hành
Quản lý chia sẻ tài nguyên
Tài nguyên của hệ thống (CPU, bộ nhớ, thiết bị ngoại vi,...) vốn rất giới hạn, nhưng trong các hệ thống đa nhiệm, nhiều người sử dụng có thể đồng thời yêu cầu nhiều tài nguyên. Để thỏa mãn yêu cầu sử dụng chỉ với tài nguyên hữu hạn và nâng cao hiệu quả sử dụng tài nguyên, hệ điều hành cần phải có cơ chế và chiến lược thích hợp để quản lý việc phân phối tài nguyên.
Ngoài yêu cầu dùng chung tài nguyên để tiết kiệm chi phí, người sử dụng còn cần phải chia sẻ thông tin (tài nguyên phần mềm) lẫn nhau, khi đó hệ điều hành cần đảm bảo việc truy xuất đến các tài nguyên này là hợp lệ, không xảy ra tranh chấp, mất đồng nhất,...
[sửa]Giả lập một máy tính mở rộng
Hệ điều hành làm ẩn đi các chi tiết phần cứng, người sử dụng được cung cấp một giao diện đơn giản, dễ hiểu, dễ sử dụng và không phụ thuộc vào thiết bị phần cứng cụ thể.
Thực tế, ta có thể xem Hệ điều hành như là một hệ thống bao gồm nhiều máy tính trừu tượng xếp thành nhiều lớp chồng lên nhau, máy tính mức dưới phục vụ cho máy tính mức trên. Lớp trên cùng là giao diện trực quan nhất để điều khiển.
Ngoài ra có thể chia chức năng của Hệ điều hành theo bốn chức năng sau:
Quản lý quá trình (process management)
Quản lý bộ nhớ (memory management)
Quản lý hệ thống lưu trữ
Giao tiếp với người dùng (user interaction)
VoHoangTrung (113A)- Tổng số bài gửi : 51
Join date : 17/07/2012
Age : 35
Đến từ : Gia lai
Trình bày Kỹ thuật máy ảo và ưu nhược điểm của nó
- 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.
- 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ý.
- Ví dụ: Trên nền CPU loại PowerPC, Motorola, Alpha,... có thể giả lập máy tính ảo Intel chạy HĐH Windows và ngược lại. Khi đó, các lệnh của Intel được chuyển đổi sang lệnh vật lý trước khi thực hiện.
- HĐH máy ảo thương mại đầu tiên: VM/370 của IBM.
*Ư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 độ 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ó.
- 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.
- 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ý.
- Ví dụ: Trên nền CPU loại PowerPC, Motorola, Alpha,... có thể giả lập máy tính ảo Intel chạy HĐH Windows và ngược lại. Khi đó, các lệnh của Intel được chuyển đổi sang lệnh vật lý trước khi thực hiện.
- HĐH máy ảo thương mại đầu tiên: VM/370 của IBM.
*Ư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 độ 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ó.
TranThiThuyHang79 (113A)- Tổng số bài gửi : 46
Join date : 24/07/2012
Age : 34
Đến từ : Tiền Giang
HỆ THỐNG QUẢN LÝ NHẬP/XUẤT
Một trong những chức năng chính của hệ điều hành là quản lý tất cả những thiết bị nhập/xuất của máy tính. Hệ điều hành phải ra các chỉ thị điều khiển thiết bị, kiểm soát các ngắt và lỗi. Hệ điều hành phải cung cấp một cách giao tiếp đơn giản và tiện dụng giữa các thiết bị và phần còn lại của hệ thống và giao tiếp này phải độc lập với thiết bị. Trong bài này chúng ta tìm hiểu hệ điều hành quản lý nhập/xuất như thế nào với những nội dung sau:
Khái niệm về hệ thống nhập/ xuất
Phần cứng nhập / xuất
Phần mềm nhập / xuất
Qua bài học này, chúng ta hiểu được cơ chế quản lý nhập/xuất của hệ điều hành một cách tổng quát. Từ đó chúng ta có thể hiểu rõ hơn quá trình nhập xuất diễn ra trên máy tính thông qua hệ điều hành như thế nào. Bài học này cũng giúp cho việc tìm hiểu cơ chế tương tác giữa hệ điều hành và các thiết bị nhập/xuất cụ thể(được đề cập trong bài học sau) dễ dàng hơn.
Bài học này đòi hỏi những kiến thức về : kiến trúc máy tính, cơ chế ngắt trên máy tính.
I.KHÁI NIỆM VỀ HỆ THỐNG QUẢN LÝ NHẬP/XUẤT
Hệ thống quản lý nhập/xuất được tổ chức theo từng lớp, mỗi lớp có một chức năng nhất định và các lớp có giao tiếp với nhau như sơ đồ sau :
CÁC LỚP CHỨC NĂNG NHẬP/XUẤT
Xử lý của người dùng
Tạo lời gọi nhập/xuất, định dạng nhập/xuất
Phần mềm độc lập thiết bị
Đặt tên, bảo vệ, tổ chức khối, bộ đệm, định vị
Điều khiển thiết bị
Thiết lập thanh ghi thiết bị, kiểm tra trạng thái
Kiểm soát ngắt
Báo cho driver khi nhập/xuất hoàn tất
Phần cứng
Thực hiện thao tác nhập/xuất
Ví dụ: Trong một chương trình ứng dụng, người dùng muốn đọc một khối từ một tập tin, hệ điều hành được kích hoạt để thực hiện yêu cầu này. Phần mềm độc lập thiết bị tìm kiếm trong cache, nếu khối cần đọc không có sẵn, nó sẽ gọi chương trình điều khiển thiết bị gửi yêu cầu đến phần cứng. Tiến trình bị ngưng lại cho đến khi thao tác đĩa hoàn tất. Khi thao tác này hoàn tất, phần cứng phát sinh một ngắt. Bộ phận kiểm soát ngắt kiểm tra biến cố này, ghi nhận trạng thái của thiết bị và đánh thức tiến trình bị ngưng để chấm dứt yêu cầu I/O và cho tiến trình của người sử dụng tiếp tục thực hiện.[TAN]
II. PHẦN CỨNG NHẬP/XUẤT
Có nhiều cách nhìn khác nhau về phần cứng nhập/xuất. Các kỹ sư điện tử thì nhìn dưới góc độ là các thiết bị như IC, dây dẫn, bộ nguồn, motor v.v….Các lập trình viên thì nhìn chúng dưới góc độ phần mềm - những lệnh nào thiết bị chấp nhận, chúng sẽ thực hiện những chức năng nào, và thông báo lỗi của chúng bao gồm những gì, nghĩa là chúng ta quan tâm đến lập trình thiết bị chứ không phải các thiết bị này hoạt động như thế nào mặc dù khía cạnh này có liên quan mật thiết với các thao tác bên trong của chúng. Phần này chúng ta đề cập đến một số khái niệm về phần cứng I/O liên quan đến khía cạnh lập trình.
II.1 Thiết bị I/O
Các thiết bị nhập xuầt có thể chia tương đối thành hai loại là thiết bị khối và thiết bị tuần tự.
Thiết bị khối là thiết bị mà thông tin được lưu trữ trong những khối có kích thước cố định và được định vị bởi địa chỉ. Kích thước thông thường của một khối là khoảng từ 128 bytes đến 1024 bytes. Đặc điểm của thiết bị khối là chúng có thể được truy xuất (đọc hoặc ghi) từng khối riêng biệt, và chương trình có thể truy xuất một khối bất kỳ nào đó. Đĩa là một ví dụ cho loại thiết bị khối.
Một dạng thiết bị thứ hai là thiết bị tuần tự. Ở dạng thiết bị này, việc gửi và nhận thông tin dựa trên là chuỗi các bits, không có xác định địa chỉ và không thể thực hiện thao tác seek được. Màn hình, bàn phím, máy in, card mạng, chuột, và các loại thiết bị khác không phải dạng đĩa là thiết bị tuần tự.
Việc phân chia các lớp như trên không hoàn toàn tối ưu, một số các thiết bị không phù hợp với hai lớp trên, ví dụ : đồng hồ, bộ nhớ màn hình v.v...không thực hiện theo cơ chế tuần tự các bits. Ngoài ra, người ta còn phân loại các thiết bị I/O dưới một tiêu chuẩn khác :
Thiết bị tương tác được với con người : dùng để giao tiếp giữa người và máy. Ví dụ : màn hình, bàn phím, chuột, máy in ...
Thiết bị tương tác trong hệ thống máy tính là các thiết bị giao tiếp với nhau. Ví dụ : đĩa, băng từ, card giao tiếp...
Thiết bị truyền thồng : như modem...
Những điểm khác nhau giữa các thiết bị I/O gồm :
Tốc độ truyền dữ liệu , ví dụ bàn phím : 0.01 KB/s, chuột 0.02 KB/s ...
Công dụng.
Đơn vị truyền dữ liệu (khối hoặc ký tự).
Biểu diễn dữ liệu, điều này tùy thuộc vào từng thiết bị cụ thể.
Tình trạng lỗi : nguyên nhân gây ra lỗi, cách mà chúng báo về...
II.2 Tổ chức của chức năng I/O
Có ba cách để thực hiện I/O :
Một là, bộ xử lý phát sinh một lệnh I/O đến các đơn vị I/O, sau đó, nó chờ trong trạng thái "busy" cho đến khi thao tác này hoàn tất trước khi tiếp tục xử lý.
Hai là, bộ xử lý phát sinh một lệnh I/O đến các đơn vị I/O, sau đó, nó tiếp tục việc xử lý cho tới khi nhận được một ngắt từ đơn vị I/O báo là đã hoàn tất, nó tạm ngưng việc xử lý hiện tại để chuyển qua xử lý ngắt.
Ba là, sử dụng cơ chế DMA (như được đề cập ở sau)
Các bước tiến hóa của chức năng I/O :
Bộ xử lý kiểm soát trực tiếp các thiết bị ngoại vi.
Hệ thống có thêm bộ điều khiển thiết bị. Bộ xử lý sử dụng cách thực hiện nhập xuất thứ nhất. Theo cách này bộ xử lý được tách rời khỏi các mô tả chi tiết của các thiết bị ngoại vi.
Bộ xử lý sử dụng thêm cơ chế ngắt.
Sử dụng cơ chế DMA, bộ xử lý truy xuất những dữ liệu I/O trực tiếp trong bộ nhớ chính.
II.3 Bộ điều khiển thiết bị
Một đơn vị bị nhập xuất thường được chia làm hai thành phần chính là thành phần cơ và thành phần điện tử. Thành phần điện tử được gọi là bộ phận điều khiển thiết bị hay bộ tương thích, trong các máy vi tính thường được gọi là card giao tiếp. Thành phần cơ chính là bản thân thiết bị.
Một bộ phận điều khiển thường có bộ phận kết nối trên chúng để có thể gắn thiết bị lên đó. Một bộ phận điều khiển có thể quản lý được hai, bốn hay thậm chí tám thiết bị khác nhau. Nếu giao tiếp giữa thiết bị và bộ phận điều khiển là các chuẩn như ANSI, IEEE hay ISO thì nhà sản xuất thiết bị và bộ điều khiển phải tuân theo chuẩn đó, ví dụ : bộ điều khiển đĩa được theo chuẩn giao tiếp của IBM.
Giao tiếp giữa bộ điều khiển và thiết bị là giao tiếp ở mức thấp.
Chức năng của bộ điều khiển là giao tiếp với hệ điều hành vì hệ điều hành không thể truy xuất trực tiếp với thiết bị. Việc thông tin thông qua hệ thống đường truyền gọi là bus.
Công việc của bộ điều khiển là chuyển đổi dãy các bit tuần tự trong một khối các byte và thực hiện sửa chửa nếu cần thiết. Thông thường khối các byte được tổ chức thành từng bit và đặt trong buffer của bộ điều khiển. Sau khi thực hiện checksum nội dung của buffer sẽ được chuyển vào bộ nhớ chính. Ví dụ : bộ điều khiển cho màn hình đọc các byte của ký tự để hiển thị trong bộ nhớ và tổ chức các tín hiệu để điều khiển các tia của CRT để xuất trên màn ảnh bằng cách quét các tia dọc và ngang. Nếu không có bộ điều khiển, lập trình viên hệ điều hành phải tạo thêm chương trình điều khiển tín hiệu analog cho đèn hình. Với bộ điều khiển , hệ điều hành chỉ cần khởi động chúng với một số tham số như số ký tự trên một dòng, số dòng trên màn hình và bộ điều khiển sẽ thực hiện điều khiển các tia.
Mỗi bộ điều khiển có một số thanh ghi để liên lạc với CPU. Trên một số máy tính, các thanh ghi này là một phần của bộ nhớ chính tại một địa chỉ xác định gọi là ánh xạ bộ nhớ nhập xuất. Hệ máy PC dành ra một vùng địa chỉ đặc biệt gọi là địa chỉ nhập xuất và trong đó được chia làm nhiều đoạn, mỗi đoạn cho một loại thiết bị như sau :
Bộ điều khiển nhập/xuất
Địa chỉ nhập/xuất
Vectơ ngắt
Đồng hồ
040 - 043
8
Bàn phím
060 - 063
9
RS232 phụ
2F8 - 2FF
11
Đĩa cứng
320 - 32F
13
Máy in
378 - 37F
15
Màn hình mono
380 - 3BF
-
Màn hình màu
3D0 - 3DF
-
Đĩa mềm
3F0 - 3F7
14
RS232 chính
3F8 - 3FF
12
Hệ điều hành thực hiện nhập xuất bằng cách ghi lệnh lên các thanh ghi của bộ điều khiển. Ví dụ : bộ điều khiển đĩa mềm của IBMPC chấp nhận 15 lệnh khác nhau như : READ, WRITE, SEEK, FORMAT, RECALIBRATE, một số lệnh có tham số và các tham số cũng được nạp vào thanh ghi. Khi một lệnh đã được chấp nhận, CPU sẽ rời bộ điều khiển để thực hiện công việc khác. Sau khi thực hiện xong, bộ điều khiển phát sinh một ngắt để báo hiệu cho CPU biết và đến lấy kết quả được lưu giữ trong các thanh ghi.
II.4 DMA (Direct Memory Access)
Đa số các loại thiết bị, đặc biệt là các thiết bị dạng khối, hỗ trợ cơ chế DMA (direct memory access). Để hiểu về cơ chế này, trước hết phải xem xét quá trình đọc đĩa mà không có DMA. Trước tiên, bộ điều khiển đọc tuần tự các khối trên đĩa, từng bit từng bit cho tới khi toàn bộ khối được đưa vào buffer của bộ điều khiển. Sau đó máy tính thực hiện checksum để đảm bảo không có lỗi xảy ra. Tiếp theo bộ điều khiển tạo ra một ngắt để báo cho CPU biết. CPU đến lấy dữ liệu trong buffer chuyển về bộ nhớ chính bằng cách tạo một vòng lặp đọc lần lượt từng byte. Thao tác này làm lãng phí thời gian của CPU. Do đó để tối ưu, người ta đưa ra cơ chế DMA.
Cơ chế DMA giúp cho CPU không bị lãng phí thời gian. Khi sử dụng, CPU gửi cho bộ điều khiển một số các thông số như địa chỉ trên đĩa của khối, địa chỉ trong bộ nhớ nơi định vị khối, số lượng byte dữ liệu để chuyển.
Sau khi bộ điều khiển đã đọc toàn bộ dữ liệu từ thiết bị vào buffer của nó và kiểm tra checksum. Bộ điều khiển chuyển byte đầu tiên vào bộ nhớ chính tại địa chỉ được mô tả bởi địa chỉ bộ nhớ DMA. Sau đó nó tăng địa chỉ DMA và giảm số bytes phải chuyển. Quá trình này lập cho tới khi số bytes phải chuyển bằng 0, và bộ điều khiển tạo một ngắt. Như vậy không cần phải copy khối vào trong bộ nhớ, nó đã hiện hữu trong bộ nhớ.
Khái niệm về hệ thống nhập/ xuất
Phần cứng nhập / xuất
Phần mềm nhập / xuất
Qua bài học này, chúng ta hiểu được cơ chế quản lý nhập/xuất của hệ điều hành một cách tổng quát. Từ đó chúng ta có thể hiểu rõ hơn quá trình nhập xuất diễn ra trên máy tính thông qua hệ điều hành như thế nào. Bài học này cũng giúp cho việc tìm hiểu cơ chế tương tác giữa hệ điều hành và các thiết bị nhập/xuất cụ thể(được đề cập trong bài học sau) dễ dàng hơn.
Bài học này đòi hỏi những kiến thức về : kiến trúc máy tính, cơ chế ngắt trên máy tính.
I.KHÁI NIỆM VỀ HỆ THỐNG QUẢN LÝ NHẬP/XUẤT
Hệ thống quản lý nhập/xuất được tổ chức theo từng lớp, mỗi lớp có một chức năng nhất định và các lớp có giao tiếp với nhau như sơ đồ sau :
CÁC LỚP CHỨC NĂNG NHẬP/XUẤT
Xử lý của người dùng
Tạo lời gọi nhập/xuất, định dạng nhập/xuất
Phần mềm độc lập thiết bị
Đặt tên, bảo vệ, tổ chức khối, bộ đệm, định vị
Điều khiển thiết bị
Thiết lập thanh ghi thiết bị, kiểm tra trạng thái
Kiểm soát ngắt
Báo cho driver khi nhập/xuất hoàn tất
Phần cứng
Thực hiện thao tác nhập/xuất
Ví dụ: Trong một chương trình ứng dụng, người dùng muốn đọc một khối từ một tập tin, hệ điều hành được kích hoạt để thực hiện yêu cầu này. Phần mềm độc lập thiết bị tìm kiếm trong cache, nếu khối cần đọc không có sẵn, nó sẽ gọi chương trình điều khiển thiết bị gửi yêu cầu đến phần cứng. Tiến trình bị ngưng lại cho đến khi thao tác đĩa hoàn tất. Khi thao tác này hoàn tất, phần cứng phát sinh một ngắt. Bộ phận kiểm soát ngắt kiểm tra biến cố này, ghi nhận trạng thái của thiết bị và đánh thức tiến trình bị ngưng để chấm dứt yêu cầu I/O và cho tiến trình của người sử dụng tiếp tục thực hiện.[TAN]
II. PHẦN CỨNG NHẬP/XUẤT
Có nhiều cách nhìn khác nhau về phần cứng nhập/xuất. Các kỹ sư điện tử thì nhìn dưới góc độ là các thiết bị như IC, dây dẫn, bộ nguồn, motor v.v….Các lập trình viên thì nhìn chúng dưới góc độ phần mềm - những lệnh nào thiết bị chấp nhận, chúng sẽ thực hiện những chức năng nào, và thông báo lỗi của chúng bao gồm những gì, nghĩa là chúng ta quan tâm đến lập trình thiết bị chứ không phải các thiết bị này hoạt động như thế nào mặc dù khía cạnh này có liên quan mật thiết với các thao tác bên trong của chúng. Phần này chúng ta đề cập đến một số khái niệm về phần cứng I/O liên quan đến khía cạnh lập trình.
II.1 Thiết bị I/O
Các thiết bị nhập xuầt có thể chia tương đối thành hai loại là thiết bị khối và thiết bị tuần tự.
Thiết bị khối là thiết bị mà thông tin được lưu trữ trong những khối có kích thước cố định và được định vị bởi địa chỉ. Kích thước thông thường của một khối là khoảng từ 128 bytes đến 1024 bytes. Đặc điểm của thiết bị khối là chúng có thể được truy xuất (đọc hoặc ghi) từng khối riêng biệt, và chương trình có thể truy xuất một khối bất kỳ nào đó. Đĩa là một ví dụ cho loại thiết bị khối.
Một dạng thiết bị thứ hai là thiết bị tuần tự. Ở dạng thiết bị này, việc gửi và nhận thông tin dựa trên là chuỗi các bits, không có xác định địa chỉ và không thể thực hiện thao tác seek được. Màn hình, bàn phím, máy in, card mạng, chuột, và các loại thiết bị khác không phải dạng đĩa là thiết bị tuần tự.
Việc phân chia các lớp như trên không hoàn toàn tối ưu, một số các thiết bị không phù hợp với hai lớp trên, ví dụ : đồng hồ, bộ nhớ màn hình v.v...không thực hiện theo cơ chế tuần tự các bits. Ngoài ra, người ta còn phân loại các thiết bị I/O dưới một tiêu chuẩn khác :
Thiết bị tương tác được với con người : dùng để giao tiếp giữa người và máy. Ví dụ : màn hình, bàn phím, chuột, máy in ...
Thiết bị tương tác trong hệ thống máy tính là các thiết bị giao tiếp với nhau. Ví dụ : đĩa, băng từ, card giao tiếp...
Thiết bị truyền thồng : như modem...
Những điểm khác nhau giữa các thiết bị I/O gồm :
Tốc độ truyền dữ liệu , ví dụ bàn phím : 0.01 KB/s, chuột 0.02 KB/s ...
Công dụng.
Đơn vị truyền dữ liệu (khối hoặc ký tự).
Biểu diễn dữ liệu, điều này tùy thuộc vào từng thiết bị cụ thể.
Tình trạng lỗi : nguyên nhân gây ra lỗi, cách mà chúng báo về...
II.2 Tổ chức của chức năng I/O
Có ba cách để thực hiện I/O :
Một là, bộ xử lý phát sinh một lệnh I/O đến các đơn vị I/O, sau đó, nó chờ trong trạng thái "busy" cho đến khi thao tác này hoàn tất trước khi tiếp tục xử lý.
Hai là, bộ xử lý phát sinh một lệnh I/O đến các đơn vị I/O, sau đó, nó tiếp tục việc xử lý cho tới khi nhận được một ngắt từ đơn vị I/O báo là đã hoàn tất, nó tạm ngưng việc xử lý hiện tại để chuyển qua xử lý ngắt.
Ba là, sử dụng cơ chế DMA (như được đề cập ở sau)
Các bước tiến hóa của chức năng I/O :
Bộ xử lý kiểm soát trực tiếp các thiết bị ngoại vi.
Hệ thống có thêm bộ điều khiển thiết bị. Bộ xử lý sử dụng cách thực hiện nhập xuất thứ nhất. Theo cách này bộ xử lý được tách rời khỏi các mô tả chi tiết của các thiết bị ngoại vi.
Bộ xử lý sử dụng thêm cơ chế ngắt.
Sử dụng cơ chế DMA, bộ xử lý truy xuất những dữ liệu I/O trực tiếp trong bộ nhớ chính.
II.3 Bộ điều khiển thiết bị
Một đơn vị bị nhập xuất thường được chia làm hai thành phần chính là thành phần cơ và thành phần điện tử. Thành phần điện tử được gọi là bộ phận điều khiển thiết bị hay bộ tương thích, trong các máy vi tính thường được gọi là card giao tiếp. Thành phần cơ chính là bản thân thiết bị.
Một bộ phận điều khiển thường có bộ phận kết nối trên chúng để có thể gắn thiết bị lên đó. Một bộ phận điều khiển có thể quản lý được hai, bốn hay thậm chí tám thiết bị khác nhau. Nếu giao tiếp giữa thiết bị và bộ phận điều khiển là các chuẩn như ANSI, IEEE hay ISO thì nhà sản xuất thiết bị và bộ điều khiển phải tuân theo chuẩn đó, ví dụ : bộ điều khiển đĩa được theo chuẩn giao tiếp của IBM.
Giao tiếp giữa bộ điều khiển và thiết bị là giao tiếp ở mức thấp.
Chức năng của bộ điều khiển là giao tiếp với hệ điều hành vì hệ điều hành không thể truy xuất trực tiếp với thiết bị. Việc thông tin thông qua hệ thống đường truyền gọi là bus.
Công việc của bộ điều khiển là chuyển đổi dãy các bit tuần tự trong một khối các byte và thực hiện sửa chửa nếu cần thiết. Thông thường khối các byte được tổ chức thành từng bit và đặt trong buffer của bộ điều khiển. Sau khi thực hiện checksum nội dung của buffer sẽ được chuyển vào bộ nhớ chính. Ví dụ : bộ điều khiển cho màn hình đọc các byte của ký tự để hiển thị trong bộ nhớ và tổ chức các tín hiệu để điều khiển các tia của CRT để xuất trên màn ảnh bằng cách quét các tia dọc và ngang. Nếu không có bộ điều khiển, lập trình viên hệ điều hành phải tạo thêm chương trình điều khiển tín hiệu analog cho đèn hình. Với bộ điều khiển , hệ điều hành chỉ cần khởi động chúng với một số tham số như số ký tự trên một dòng, số dòng trên màn hình và bộ điều khiển sẽ thực hiện điều khiển các tia.
Mỗi bộ điều khiển có một số thanh ghi để liên lạc với CPU. Trên một số máy tính, các thanh ghi này là một phần của bộ nhớ chính tại một địa chỉ xác định gọi là ánh xạ bộ nhớ nhập xuất. Hệ máy PC dành ra một vùng địa chỉ đặc biệt gọi là địa chỉ nhập xuất và trong đó được chia làm nhiều đoạn, mỗi đoạn cho một loại thiết bị như sau :
Bộ điều khiển nhập/xuất
Địa chỉ nhập/xuất
Vectơ ngắt
Đồng hồ
040 - 043
8
Bàn phím
060 - 063
9
RS232 phụ
2F8 - 2FF
11
Đĩa cứng
320 - 32F
13
Máy in
378 - 37F
15
Màn hình mono
380 - 3BF
-
Màn hình màu
3D0 - 3DF
-
Đĩa mềm
3F0 - 3F7
14
RS232 chính
3F8 - 3FF
12
Hệ điều hành thực hiện nhập xuất bằng cách ghi lệnh lên các thanh ghi của bộ điều khiển. Ví dụ : bộ điều khiển đĩa mềm của IBMPC chấp nhận 15 lệnh khác nhau như : READ, WRITE, SEEK, FORMAT, RECALIBRATE, một số lệnh có tham số và các tham số cũng được nạp vào thanh ghi. Khi một lệnh đã được chấp nhận, CPU sẽ rời bộ điều khiển để thực hiện công việc khác. Sau khi thực hiện xong, bộ điều khiển phát sinh một ngắt để báo hiệu cho CPU biết và đến lấy kết quả được lưu giữ trong các thanh ghi.
II.4 DMA (Direct Memory Access)
Đa số các loại thiết bị, đặc biệt là các thiết bị dạng khối, hỗ trợ cơ chế DMA (direct memory access). Để hiểu về cơ chế này, trước hết phải xem xét quá trình đọc đĩa mà không có DMA. Trước tiên, bộ điều khiển đọc tuần tự các khối trên đĩa, từng bit từng bit cho tới khi toàn bộ khối được đưa vào buffer của bộ điều khiển. Sau đó máy tính thực hiện checksum để đảm bảo không có lỗi xảy ra. Tiếp theo bộ điều khiển tạo ra một ngắt để báo cho CPU biết. CPU đến lấy dữ liệu trong buffer chuyển về bộ nhớ chính bằng cách tạo một vòng lặp đọc lần lượt từng byte. Thao tác này làm lãng phí thời gian của CPU. Do đó để tối ưu, người ta đưa ra cơ chế DMA.
Cơ chế DMA giúp cho CPU không bị lãng phí thời gian. Khi sử dụng, CPU gửi cho bộ điều khiển một số các thông số như địa chỉ trên đĩa của khối, địa chỉ trong bộ nhớ nơi định vị khối, số lượng byte dữ liệu để chuyển.
Sau khi bộ điều khiển đã đọc toàn bộ dữ liệu từ thiết bị vào buffer của nó và kiểm tra checksum. Bộ điều khiển chuyển byte đầu tiên vào bộ nhớ chính tại địa chỉ được mô tả bởi địa chỉ bộ nhớ DMA. Sau đó nó tăng địa chỉ DMA và giảm số bytes phải chuyển. Quá trình này lập cho tới khi số bytes phải chuyển bằng 0, và bộ điều khiển tạo một ngắt. Như vậy không cần phải copy khối vào trong bộ nhớ, nó đã hiện hữu trong bộ nhớ.
hoanglam- Tổng số bài gửi : 6
Join date : 11/09/2012
ĐỊNH NGHĨA TIẾN TRÌNH , SO SÁNH TIẾN TRÌNH VỚI CHƯƠNG TRÌNH !
Tiến trình (process) : là chương trình trong thời gian thực hiện(đặt dưới sự quản lý của hệ điều hành) .
So sánh tiến trình với chương trình:
Bản than tiến trình không là chương trình vì là thực thể thụ động , trong khi tiến trình là thực thể hoạt động với nhiều thôn g tin về trạng thái trong đó có bộ đếm chương trình cho biết vị trí lệnh hiện hành .
- Nhiều tiến trình có thể liên quan đến một chương trình và là các thực thể khác nhau khi vận hành .
- Mỗi tiến trình có thể sinh ra nhiều tiến trình con khác khi vận hành.
- Tiến trình cần các tài nguyên ( CPU , Memory,tâp tin, thiết bị I/O) để hoàn thành công việc .
- Tài nguyên cấp cho tiến trinh ngay từ đầu (khi tiến trình được tạo lập) hoặc trong thời gian vận hành và được thu hồi hết khi tiến trình kết thúc .
- Tiến trình là thực thể hoạt động , chương trình là thực thể thụ động , tiến trình có thông – Điểm khác nhau giữa tiến trình và chương trình : tiến trình có thông tin trạng thái để phản ánh tiến trình đang ở trạng thái nào
So sánh tiến trình với chương trình:
Bản than tiến trình không là chương trình vì là thực thể thụ động , trong khi tiến trình là thực thể hoạt động với nhiều thôn g tin về trạng thái trong đó có bộ đếm chương trình cho biết vị trí lệnh hiện hành .
- Nhiều tiến trình có thể liên quan đến một chương trình và là các thực thể khác nhau khi vận hành .
- Mỗi tiến trình có thể sinh ra nhiều tiến trình con khác khi vận hành.
- Tiến trình cần các tài nguyên ( CPU , Memory,tâp tin, thiết bị I/O) để hoàn thành công việc .
- Tài nguyên cấp cho tiến trinh ngay từ đầu (khi tiến trình được tạo lập) hoặc trong thời gian vận hành và được thu hồi hết khi tiến trình kết thúc .
- Tiến trình là thực thể hoạt động , chương trình là thực thể thụ động , tiến trình có thông – Điểm khác nhau giữa tiến trình và chương trình : tiến trình có thông tin trạng thái để phản ánh tiến trình đang ở trạng thái nào
LamVuThai (113A)- Tổng số bài gửi : 41
Join date : 16/07/2012
Câu 3: Nguyên lý cấu trúc máy tính ảo và những ưu khuyết của máy tính ảo
Máy tính ả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ý, 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ý.
VD: Trên nền CPU loại PowerPC, Motorola, Alpha,… có thể giả lập máy tính ảo Intel chạy HĐH windows và ngược lại. Khi đó các lệnh của Intel được chuyển đổi sang lệnh vật lý trước khi thực hiệ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 (máy vật lý).
VD:1 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 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ó.
- 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ý.
VD: Trên nền CPU loại PowerPC, Motorola, Alpha,… có thể giả lập máy tính ảo Intel chạy HĐH windows và ngược lại. Khi đó các lệnh của Intel được chuyển đổi sang lệnh vật lý trước khi thực hiệ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 (máy vật lý).
VD:1 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 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ó.
LamVuThai (113A)- Tổng số bài gửi : 41
Join date : 16/07/2012
Một vài đặc điểm của hdh Linux
• Miễn phí (Free): Linux là một hệ điều hành được cung cấp miễn phí
trên Internet, chúng ta không phải trả bất kỳ một chi phí nào cho việc
download nó. Linux được cung cấp cùng với các phâìn mềm chạy trên nó.
• Mã nguồn mở (Open Source): Điều này có nghĩa người sử dụng
không chỉ sử dụng hệ điều hành và thực hiện các chương trình mà còn có thể
xem và sửa đổi mã nguồn của nó, để phát triển nó theo từng mục đích cụ thể
của người sử dụng.
• Yêu cầu phần cứng (Hardware): Linux có thể chạy trên hầu hết các
phần cứng hiện có, nó có thể hoạt động trên các vi xử lý: 386, 486, Pentium
MMX, Pentium II, Sparc, Dec Alpha hoặc Motorola 68000.
• Đa tác vụ (Multi-Tasking): Linux là hệ điều hành đa tác vụ, tức là
một người sử dụng có thể chạy nhiều chương trình tại cùng một thời điểm.
Mỗi tác vụ là một tiến trình. Theo cách này người sử dụng không cần phải
đợi cho một tiến trình kế thúc hợp lệ để khởi động một tiến trình khác.
• Đa người sử dụng (Multi-User): Điều này có nghĩa có nhiều hơn một
người sử dụng có thể sử dụng hệ thống tại cùng một thời điểm. Khái niệm
multi user xuất phát trực tiếp từ khía cạnh multi-tasking. Hệ thống có thể
điều khiển nhiều hơn một người sử dụng tại cùng một thời điểm giống như
cách mà nó điều khiển nhiều hơn một công việc.
• Hỗ trợ đa vi xử lý (Multi Processor Support): Linux có thể điều hành
các hệ thống máy tính có nhiều hơn một vi xử lý.
• Máy chủ web (Web Server): Linux có thể được sử dụng để chạy như
là một web server, và đáp ứng các giao thức ứng dụng như là HTTP hoặc
FTP.
• Hỗ trợ mạng TCP/IP (TCP/IP Networking Support): Hỗ trợ mạng
TCP/IP được xây dựng trong chính kernel của Linux. Linux một trong các hệ
điều hành mạng tốt nhất. Nó bao gồm các chương trình như là: Telnet, Ftp,
Rlogin, Rsh và nhiều chương trình khác.
• Hỗ trợ lập trình (Programming Support): Linux cung cấp hỗ trợ lập
trình cho Fortran, C, C++, Tcl/Tk, Perl và nhiều ngôn ngữ lập trình khác.
• Độ an toàn cao (High Level Security): Một trong những thuận lợi
chính của Linux đó là nó cung cấp một sự an toàn cao cấp bằng cách sử dụng sự
xác thực người sử dụng. Nó cũng lưu trữ password trong dạng thức được mã hoá,
password một khi đã được mã hoá thì không thể giải mã. Linux cũng bao gồm hệ
thống file an toàn, nó được mở rộng từ hệ thống file đang tồn tại.
trên Internet, chúng ta không phải trả bất kỳ một chi phí nào cho việc
download nó. Linux được cung cấp cùng với các phâìn mềm chạy trên nó.
• Mã nguồn mở (Open Source): Điều này có nghĩa người sử dụng
không chỉ sử dụng hệ điều hành và thực hiện các chương trình mà còn có thể
xem và sửa đổi mã nguồn của nó, để phát triển nó theo từng mục đích cụ thể
của người sử dụng.
• Yêu cầu phần cứng (Hardware): Linux có thể chạy trên hầu hết các
phần cứng hiện có, nó có thể hoạt động trên các vi xử lý: 386, 486, Pentium
MMX, Pentium II, Sparc, Dec Alpha hoặc Motorola 68000.
• Đa tác vụ (Multi-Tasking): Linux là hệ điều hành đa tác vụ, tức là
một người sử dụng có thể chạy nhiều chương trình tại cùng một thời điểm.
Mỗi tác vụ là một tiến trình. Theo cách này người sử dụng không cần phải
đợi cho một tiến trình kế thúc hợp lệ để khởi động một tiến trình khác.
• Đa người sử dụng (Multi-User): Điều này có nghĩa có nhiều hơn một
người sử dụng có thể sử dụng hệ thống tại cùng một thời điểm. Khái niệm
multi user xuất phát trực tiếp từ khía cạnh multi-tasking. Hệ thống có thể
điều khiển nhiều hơn một người sử dụng tại cùng một thời điểm giống như
cách mà nó điều khiển nhiều hơn một công việc.
• Hỗ trợ đa vi xử lý (Multi Processor Support): Linux có thể điều hành
các hệ thống máy tính có nhiều hơn một vi xử lý.
• Máy chủ web (Web Server): Linux có thể được sử dụng để chạy như
là một web server, và đáp ứng các giao thức ứng dụng như là HTTP hoặc
FTP.
• Hỗ trợ mạng TCP/IP (TCP/IP Networking Support): Hỗ trợ mạng
TCP/IP được xây dựng trong chính kernel của Linux. Linux một trong các hệ
điều hành mạng tốt nhất. Nó bao gồm các chương trình như là: Telnet, Ftp,
Rlogin, Rsh và nhiều chương trình khác.
• Hỗ trợ lập trình (Programming Support): Linux cung cấp hỗ trợ lập
trình cho Fortran, C, C++, Tcl/Tk, Perl và nhiều ngôn ngữ lập trình khác.
• Độ an toàn cao (High Level Security): Một trong những thuận lợi
chính của Linux đó là nó cung cấp một sự an toàn cao cấp bằng cách sử dụng sự
xác thực người sử dụng. Nó cũng lưu trữ password trong dạng thức được mã hoá,
password một khi đã được mã hoá thì không thể giải mã. Linux cũng bao gồm hệ
thống file an toàn, nó được mở rộng từ hệ thống file đang tồn tại.
LamVuThai (113A)- Tổng số bài gửi : 41
Join date : 16/07/2012
Phân biệt phần mềm máy ảo Vmware và VirtualPC
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ộ, VMW 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.
- VPC đò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, VMW lại gộp cả 2 cửa sổ trên vào làm một. Tuy nhiên, VPC cung cấp menu của cửa sổ chương trình đơn giản hơn của VMW. 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ộ, VMW 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.
- VPC đò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, VMW lại gộp cả 2 cửa sổ trên vào làm một. Tuy nhiên, VPC cung cấp menu của cửa sổ chương trình đơn giản hơn của VMW. 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.
LamVuThai (113A)- Tổng số bài gửi : 41
Join date : 16/07/2012
Phân biệt phần mềm máy ảo Vmware và VirtualPC
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ộ, VMW 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.
- VPC đò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, VMW lại gộp cả 2 cửa sổ trên vào làm một. Tuy nhiên, VPC cung cấp menu của cửa sổ chương trình đơn giản hơn của VMW. 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ộ, VMW 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.
- VPC đò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, VMW lại gộp cả 2 cửa sổ trên vào làm một. Tuy nhiên, VPC cung cấp menu của cửa sổ chương trình đơn giản hơn của VMW. 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.
LamVuThai (113A)- Tổng số bài gửi : 41
Join date : 16/07/2012
Trang 4 trong tổng số 5 trang • 1, 2, 3, 4, 5
Similar topics
» THẢO LUẬN MÔN HỌC
» Thảo luận Bài 6: RRS
» 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 6: RRS
» Thảo luận Bài 7
» Thảo luận về đề thi HK1
» [Đề thi giữa kỳ] I22B ( 8-4-2013 )
Trang 4 trong tổng số 5 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết