Thảo luận Bài 3
+74
MaiXuanSon (I22B)
MaiNguyenThanhLong(I22A)
NguyenMinhTuan94(I22A)
PhanNgocThoai(I22B)
NguyenThiNgocPhuoc(122A)
LETHIANHDAO48(I22B)
BuiTrongHung41(I11C)
NguyenBaoLoc70(I22A)
PhamThiThao (I22B)
NguyenMinhTuan (I22B)
phungvanduong24(I12A)
NguyenCaoDuong(I22B)
LeSonCa(I22B)
NguyenKhanhDuy18 (I22B)
NguyenBacHoi(I22B)
NguyenVanPhat(I22B)
dangthihoangly(I12A)
LeThiKimNgan67(I11C)
NguyenVanPhu11(I22A)
DuongTrungQuan
NguyenThanhQuoc(I22A)
TranDangKhoa(I22A)
damvanhau(I22A)
Dao Duy Thanh(I22B)
nguyenthithutrang (I11C)
ThaiMyTu (I22B)
NguyenVanTu(I22A)
VoTrongQuyet-I12A
TranThienTam (I22A)
NguyenXuanLinh(HLT3)
phuquoccuong(I22A)
luquoctuan(I22A)
vokimthong
NguyenMinhTam(I22B)
HoangThanhThien(I22B)
NgT.KimHuyen(I22A)
TranBinhCongLuanI12A
HongGiaPhu (I22A)
NguyenTienDat (I22A)
NguyenVanLanh (I22A)
NguyenTrungTin(I22A)
VoDucDiDaiXuan(I22A)
TruongNhuNgoc (I22A)
VANCONGLOI(I22A)
DangQuangBinh(I22B)
TruongTranThanhTu(I22B)
PhamPhuKhanh52(I22B)
QuangMinhTuan(I22B)
truongtph.i11c
vivanbieu(I22B)
HuynhDucQuang(I22B)
nguyenvankhoa59(122B)
Ng0HaiQuan(i22B)
CAOTHANHLUAN(I22B)
dangvannhan(I22A)
NguyenThanhTung(I22B)
NguyenNgocDan(I22B)
VoMinhThang(I22B)
NguyenQuocHuy (I22B)
xuantri27 (I11C)
TrỉnhToQuyen(I12A)
NgoVanTuyen(I22B)
DoThiHaDuc(I22B)
nguyenhoanglam_I22B
HongThuanPhong(I22B)
NguyenHoangKimVu (I11C)
BuiThucTuan(I22B)
NguyenTanDat(I22B)
NguyenManhHuy(I22B)
TranVuSang (I22B)
NguyenNhatHuy64(I22B)
LeAnhToan48(I22B)
dangmonghai(I12A)
Admin
78 posters
Trang 5 trong tổng số 7 trang
Trang 5 trong tổng số 7 trang • 1, 2, 3, 4, 5, 6, 7
Câu 4: Trình bày nguyên lý và những lợi ích của máy ảo?
Nguyên lý máy ảo:
Máy ảo là sự phát triển của kiến trúc phân lớp, được giả lập trên nền máy vật lý. Kĩ thuật Điều phối CPU và kĩ thuật Bộ nhớ ảo làm cho người dùng có ảo giác như đang dùng bộ xử lý và bộ nhớ thật.
-Sử dụng các giải thuật điều phối CPU như: đến trước phục vụ trước,ngắn hơn chạy trươc,điều phối theo độ ưu tiên, điều phối theo vòng Robin, điều phối hàng chờ nhiều mức để tối ưu hóa hoạt động của CPU.
-Kĩ thuật bộ nhớ ảo: cho phép thực hiện các chương trình không hoàn toàn nằm đầy đủ trong bộ nhớ, vùng địa chỉ logic liên tục ừ 0->max-1.Các dạng: phân trang(paging), phân đoạn(Segmentation), phân đoạn kết hợp phân trang.
- 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.
So sánh máy thường và máy ảo:
Máy tính Không gian thật-Máy tính không gian aỏ
Lợi ích của máy ả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 ảo thực tế chỉ là một tập tin của máy vật lý, nếu chúng có bị hư hại (do virus) thì sẽ không ảnh hưởng đến máy vật lý.Ví dụ: nếu chúng ta muốn thử chạy một chương trình lạ(tải từ Internet) thì chúng ta có thể vận hành trên máy ảo.Nếu chẳng may phần mềm đó là phần mềm đôc hại thì cũng chỉ hư hại máy ảo chứ không ảnh hưởng đến máy vật lý.
-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ệ điều hành 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.Do đó,chúng ta 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
Máy ảo là sự phát triển của kiến trúc phân lớp, được giả lập trên nền máy vật lý. Kĩ thuật Điều phối CPU và kĩ thuật Bộ nhớ ảo làm cho người dùng có ảo giác như đang dùng bộ xử lý và bộ nhớ thật.
-Sử dụng các giải thuật điều phối CPU như: đến trước phục vụ trước,ngắn hơn chạy trươc,điều phối theo độ ưu tiên, điều phối theo vòng Robin, điều phối hàng chờ nhiều mức để tối ưu hóa hoạt động của CPU.
-Kĩ thuật bộ nhớ ảo: cho phép thực hiện các chương trình không hoàn toàn nằm đầy đủ trong bộ nhớ, vùng địa chỉ logic liên tục ừ 0->max-1.Các dạng: phân trang(paging), phân đoạn(Segmentation), phân đoạn kết hợp phân trang.
- 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.
So sánh máy thường và máy ảo:
Máy tính Không gian thật-Máy tính không gian aỏ
Lợi ích của máy ả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 ảo thực tế chỉ là một tập tin của máy vật lý, nếu chúng có bị hư hại (do virus) thì sẽ không ảnh hưởng đến máy vật lý.Ví dụ: nếu chúng ta muốn thử chạy một chương trình lạ(tải từ Internet) thì chúng ta có thể vận hành trên máy ảo.Nếu chẳng may phần mềm đó là phần mềm đôc hại thì cũng chỉ hư hại máy ảo chứ không ảnh hưởng đến máy vật lý.
-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ệ điều hành 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.Do đó,chúng ta 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
NguyenThanhQuoc(I22A)- Tổng số bài gửi : 18
Join date : 09/03/2013
Age : 32
Đến từ : lớp TH10a3, Dh mở tp.hcm
Câu 2: Trình bày hai 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.
DuongTrungQuan- Tổng số bài gửi : 57
Join date : 16/02/2012
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
Minh thêm một chút vài vấn đề:
* 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ó.
* 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ó.
DuongTrungQuan- Tổng số bài gửi : 57
Join date : 16/02/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.
NguyenManhHuy(I22B)- Tổng số bài gửi : 30
Join date : 09/03/2013
Age : 36
Đến từ : 12H1010047
Vai trò và chức năng của thông dịch lệnh (Command - Intepreter) trong HĐH
Vai trò và chức năng của thông dịch lệnh (Command - Intepreter) trong HĐH
*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 - Intepreter là bộ phận 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.
- 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.
VD:
* Thông dịch: khi ta dùng "google dịch" thì ta đánh vào từ nào nó sẽ dịch ra cho ta từ đó luôn, ta không cần phải nhấn nút "dịch".
*Biên dịch: khi ta viết chương trình trên Visual C++ sau khi viết xong ta phải nhấn phím F5 thì chương trình mới chạy.
*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 - Intepreter là bộ phận 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.
- 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.
VD:
* Thông dịch: khi ta dùng "google dịch" thì ta đánh vào từ nào nó sẽ dịch ra cho ta từ đó luôn, ta không cần phải nhấn nút "dịch".
*Biên dịch: khi ta viết chương trình trên Visual C++ sau khi viết xong ta phải nhấn phím F5 thì chương trình mới chạy.
NguyenVanPhu11(I22A)- Tổng số bài gửi : 11
Join date : 23/03/2013
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ó.
NguyenVanPhu11(I22A)- Tổng số bài gửi : 11
Join date : 23/03/2013
Liên lạc giữa các tiến trình (Interprocess Communication)
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.
NguyenVanPhu11(I22A)- Tổng số bài gửi : 11
Join date : 23/03/2013
Virtualization - Ảo hóa là gì?
Ảo hóa là một công nghệ được thiết kế để tạo ra một tầng trung gian giữa hệ thống phần cứng máy tính và phần mềm chạy trên nó.
Bằng cách đưa ra một khái niệm logic về tài nguyên máy tính hơn là một khái niệm vật lí, các giải pháp ảo hóa có thể thực hiện rất nhiều việc có ích.
Về cơ bản, chúng cho phép bạn đánh lừa hệ điều hành rằng một nhóm máy chủ chỉ là nguồn tài nguyên đơn lẻ.
Và giải pháp ảo hóa cũng cho phép bạn chạy nhiều hệ điều hành cùng lúc trên một máy tính.
Dựa trên khái niệm ảo hóa này, nhiều công nghệ ảo hóa đã được ra đời và ứng dụng rộng rãi trong nhiều lĩnh vực.
Có ba kiểu ảo hóa cơ bản:
- Ảo hóa lưu trữ gộp ổ lưu trữ thực từ nhiều thiết bị lưu trữ mạng để chúng xuất hiện như là một ổ lư trữ duy nhất.
- Ảo hóa mạng kết hợp tài nguyên máy tính trong một mạng bằng cách phân đôi dải thông thành những kênh độc lập mà có thể gán cho một máy chủ hay một thiết bị cụ thể trong thời gian thực.
-Ảo hóa máy chủ ẩn thuộc tính vật lý của tài nguyên máy chủ, bao gồm con số và nhận dạng của máy chủ cá nhân, bộ xử lí và hệ điều hành từ những phần mềm chạy trên chúng.
Kiểu cuối cùng rất khác các ứng dụng công nghệ này phổ biến nhất hiện nay và nó được coi như một sản phẩm cơ bản thị trường. Khi mọi người dùng thuật ngữ “ảo hóa” nghĩa là họ đang chắc chắn nói đến ảo hóa máy chủ.
Bằng cách đưa ra một khái niệm logic về tài nguyên máy tính hơn là một khái niệm vật lí, các giải pháp ảo hóa có thể thực hiện rất nhiều việc có ích.
Về cơ bản, chúng cho phép bạn đánh lừa hệ điều hành rằng một nhóm máy chủ chỉ là nguồn tài nguyên đơn lẻ.
Và giải pháp ảo hóa cũng cho phép bạn chạy nhiều hệ điều hành cùng lúc trên một máy tính.
Dựa trên khái niệm ảo hóa này, nhiều công nghệ ảo hóa đã được ra đời và ứng dụng rộng rãi trong nhiều lĩnh vực.
Có ba kiểu ảo hóa cơ bản:
- Ảo hóa lưu trữ gộp ổ lưu trữ thực từ nhiều thiết bị lưu trữ mạng để chúng xuất hiện như là một ổ lư trữ duy nhất.
- Ảo hóa mạng kết hợp tài nguyên máy tính trong một mạng bằng cách phân đôi dải thông thành những kênh độc lập mà có thể gán cho một máy chủ hay một thiết bị cụ thể trong thời gian thực.
-Ảo hóa máy chủ ẩn thuộc tính vật lý của tài nguyên máy chủ, bao gồm con số và nhận dạng của máy chủ cá nhân, bộ xử lí và hệ điều hành từ những phần mềm chạy trên chúng.
Kiểu cuối cùng rất khác các ứng dụng công nghệ này phổ biến nhất hiện nay và nó được coi như một sản phẩm cơ bản thị trường. Khi mọi người dùng thuật ngữ “ảo hóa” nghĩa là họ đang chắc chắn nói đến ảo hóa máy chủ.
NguyenTienDat (I22A)- Tổng số bài gửi : 19
Join date : 10/03/2013
Age : 33
Hệ điều hành Windows NT có cấu trúc gì?
Windows NT là hệ hỗn hợp: Vừa có cấu trúc phân lớp, Vừa có cấu trúc vi hạt.
LeThiKimNgan67(I11C)- Tổng số bài gửi : 23
Join date : 26/02/2013
Kinh nghiệm khi sử dụng phần mềm giả lập Hệ điều hành
Chào các bạn, hôm trước thì trong buổi học, chúng ta được biết về vấn đề "Nên dùng Vitrual PC hay VMWare?"
Đây là một số kinh nghiệm khi mình sử dụng hai phần mềm máy ảo này
- Trước tiên thì hai phần mềm này được hoạt động trên máy tính chạy Windows, một bản có trả phí (VMWare) và bản miễn phí, được tích hợp đối với những phiên bản không chạy được ứng dụng nền (Vitrual PC).
-Về tính năng cơ bản, hai phần mềm này giả lập được hệ thống, đương nhiên là hệ điều hành của Microsoft và một số hệ điều hành khác Microsoft như Fedora, Ubuntu, CentOS, Redhat,... và cấu hình card mạng, ổ đĩa, tùy chỉnh RAM, chọn vi xử lý,.. và một số thành phần phụ khác nữa.
- Đối với bản miễn phí, Vitrual PC hầu như chỉ đảm nhận được các công việc đơn giản và không hỗ trợ tính năng cao cấp như VMWare.
Và lĩnh vực chúng ta học tập chuyên sâu về hệ thống, mình khuyến cáo các bạn nên chọn VMWare để cài đặt và sử dụng. Phiên bản hiện tại khi mình kiểm tra cách đây vài hôm đã lên đến VMWare WorkStation v9.0, nên người dùng và IT có thể thõa mãn khám phá những tính năng mà phần mềm VMWare mang lại.
Nói sơ về VMWare:
Trước tiên thì mình đã trải nghiệm phiên bản từ VMWare 6.5 đến giờ, mình thấy nó rất hay, đôi khi mình cấu hình nhiều máy tính và nhiều hệ điều hành cùng một lúc, máy tính thật và những máy tính ảo vẫn đảm bảo được không gian đĩa, không gian RAM và CPU. Để khai thác hết tính năng của VMWare, bạn có thể tham khảo trên các forum, trên các trang tài liệu từ Microsoft.
À, nếu như máy tính của các bạn có tính năng Ảo hóa thì các bạn nên Enable tính năng này (tại BIOS) nha, để phần mềm hoạt động tốt hơn trong quá trình sử dụng.
Các hệ điều hành mình đã từng cài trên VMWare:
Windows XP, Windows 7, Windows 8 bản trải nghiệm, Windows Server 2003, Windows Server 2008, Ubuntu 10.4 -> 12.10, CentOS, MacOS 10.6.3 (bản restore), và nhiều hệ thống phần mềm mã nguồn mở khác...
P/s: Nói chung là VMWare là phần mềm hữu ích khi bạn là IT phần cứng và mạng
Đây là một số kinh nghiệm khi mình sử dụng hai phần mềm máy ảo này
- Trước tiên thì hai phần mềm này được hoạt động trên máy tính chạy Windows, một bản có trả phí (VMWare) và bản miễn phí, được tích hợp đối với những phiên bản không chạy được ứng dụng nền (Vitrual PC).
-Về tính năng cơ bản, hai phần mềm này giả lập được hệ thống, đương nhiên là hệ điều hành của Microsoft và một số hệ điều hành khác Microsoft như Fedora, Ubuntu, CentOS, Redhat,... và cấu hình card mạng, ổ đĩa, tùy chỉnh RAM, chọn vi xử lý,.. và một số thành phần phụ khác nữa.
- Đối với bản miễn phí, Vitrual PC hầu như chỉ đảm nhận được các công việc đơn giản và không hỗ trợ tính năng cao cấp như VMWare.
Và lĩnh vực chúng ta học tập chuyên sâu về hệ thống, mình khuyến cáo các bạn nên chọn VMWare để cài đặt và sử dụng. Phiên bản hiện tại khi mình kiểm tra cách đây vài hôm đã lên đến VMWare WorkStation v9.0, nên người dùng và IT có thể thõa mãn khám phá những tính năng mà phần mềm VMWare mang lại.
Nói sơ về VMWare:
Trước tiên thì mình đã trải nghiệm phiên bản từ VMWare 6.5 đến giờ, mình thấy nó rất hay, đôi khi mình cấu hình nhiều máy tính và nhiều hệ điều hành cùng một lúc, máy tính thật và những máy tính ảo vẫn đảm bảo được không gian đĩa, không gian RAM và CPU. Để khai thác hết tính năng của VMWare, bạn có thể tham khảo trên các forum, trên các trang tài liệu từ Microsoft.
À, nếu như máy tính của các bạn có tính năng Ảo hóa thì các bạn nên Enable tính năng này (tại BIOS) nha, để phần mềm hoạt động tốt hơn trong quá trình sử dụng.
Các hệ điều hành mình đã từng cài trên VMWare:
Windows XP, Windows 7, Windows 8 bản trải nghiệm, Windows Server 2003, Windows Server 2008, Ubuntu 10.4 -> 12.10, CentOS, MacOS 10.6.3 (bản restore), và nhiều hệ thống phần mềm mã nguồn mở khác...
P/s: Nói chung là VMWare là phần mềm hữu ích khi bạn là IT phần cứng và mạng
TranDangKhoa(I22A)- Tổng số bài gửi : 32
Join date : 10/03/2013
Age : 33
Đến từ : Lớp I22A
Tại sao giao diện command-line vẫn được sử dụng trong windows ?
¤ Hiểu đơn giản thế này :
- Giao diện đồ họa Graphical User Interface (GUI) : Hiển thị trực quan cho người dùng, nhưng ko hiển thị ra hết 100% tính năng HĐH Windows. Những tính năng còn lại ẩn chứa trong giao diện dòng lệnh Command Line Interface (CLI).
- Giao diện dòng lệnh Command Line Interface (CLI) : Hiện thị chế độ dòng lệnh màn hình đen, tuy không trực quan nhưng chứa đựng 100% tính năng HĐH Windows.
¤ Thêm 1 tí nữa dành cho dân Quản trị mạng :
- Linux xài giao diện dòng lệnh, rất là bảo mật trong việc chạy Server.
- Windows từ đó tới giờ xài giao diện dòng lệnh, thấy Linux và Unix xài giao diện dòng lệnh tốt và bảo mật quá nên tới Windows Server 2008 đã bắt đầu hỗ trợ cả 2 giao diện đồ hoạ và dòng lệnh.
- Giao diện đồ họa Graphical User Interface (GUI) : Hiển thị trực quan cho người dùng, nhưng ko hiển thị ra hết 100% tính năng HĐH Windows. Những tính năng còn lại ẩn chứa trong giao diện dòng lệnh Command Line Interface (CLI).
- Giao diện dòng lệnh Command Line Interface (CLI) : Hiện thị chế độ dòng lệnh màn hình đen, tuy không trực quan nhưng chứa đựng 100% tính năng HĐH Windows.
¤ Thêm 1 tí nữa dành cho dân Quản trị mạng :
- Linux xài giao diện dòng lệnh, rất là bảo mật trong việc chạy Server.
- Windows từ đó tới giờ xài giao diện dòng lệnh, thấy Linux và Unix xài giao diện dòng lệnh tốt và bảo mật quá nên tới Windows Server 2008 đã bắt đầu hỗ trợ cả 2 giao diện đồ hoạ và dòng lệnh.
dangthihoangly(I12A)- Tổng số bài gửi : 64
Join date : 10/03/2012
Age : 34
Đến từ : Quang ngai
Phân biệt thông dịch(Interpreter) với biên dịch(compilation)
Biên dịch(compilation): Trình biên dịch sẽ đọc tất cả các dòng lệnh chương trình(source code) và dịch nó ra ngôn ngữ máy rồi thực thi. Những dòng lệnh đã được biện dịch (exe, dll ...) được thực thi ngay bởi máy tính mà không cần chương trình thông dịch(Interpreter) được mở trước để chạy nó.
Thông dịch(Interpreter): Trình thông dịch sẽ đọc và dịch từng dòng lệnh của chương trình và thực thi từng dòng lệnh một.
Ví dụ cho dễ hiểu:
Biên dịch(compilation) dịch hẳn một câu tiếng Anh thành tiếng Việt, rồi đọc câu tiếng Việt đó. Thông dịch(Interpreter) dùng từ điển Anh-Việt dịch từng chữ trong câu tiếng Anh ra tiếng Việt rồi mới đọc.
Theo mình, biên dịch hiệu quả hơn, vì sau khi biên dịch chương trình vẫn hoạt động hiệu quả nhưng các dòng lệnh đã được ẩn đi. Nhưng những chương trình lạ mà bạn không rõ là gì có thể chứa các câu lệnh phá hoại giống như ... virus thì sao??? Twisted Evil
Thông dịch(Interpreter): Trình thông dịch sẽ đọc và dịch từng dòng lệnh của chương trình và thực thi từng dòng lệnh một.
Ví dụ cho dễ hiểu:
Biên dịch(compilation) dịch hẳn một câu tiếng Anh thành tiếng Việt, rồi đọc câu tiếng Việt đó. Thông dịch(Interpreter) dùng từ điển Anh-Việt dịch từng chữ trong câu tiếng Anh ra tiếng Việt rồi mới đọc.
Theo mình, biên dịch hiệu quả hơn, vì sau khi biên dịch chương trình vẫn hoạt động hiệu quả nhưng các dòng lệnh đã được ẩn đi. Nhưng những chương trình lạ mà bạn không rõ là gì có thể chứa các câu lệnh phá hoại giống như ... virus thì sao??? Twisted Evil
dangthihoangly(I12A)- Tổng số bài gửi : 64
Join date : 10/03/2012
Age : 34
Đến từ : Quang ngai
Thành phần cấu tạo hệ điều hành
Theo nguyên tắc, hệ điều hành cần thỏa mãn hai chức năng chính yếu sau:
* 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,...
* 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)
* Nhiệm vụ của hệ điều hành
Điều khiển và quản lý trực tiếp các phần cứng như bo mạch chủ, bo mạch đồ họa và bo mạch âm thanh,...
Thực hiện một số thao tác cơ bản trong máy tính như các thao tác đọc, viết tập tin, quản lý hệ thống tập tin (file system) và các kho dữ liệu.
Cung ứng một hệ thống giao diện sơ khai cho các ứng dụng thường là thông qua một hệ thống thư viện các hàm chuẩn để điều hành các phần cứng mà từ đó các ứng dụng có thể gọi tới.
Cung ứng một hệ thống lệnh cơ bản để điều hành máy. Các lệnh này gọi là lệnh hệ thống (system command).
Ngoài ra hệ điều hành, trong vài trường hợp, cũng cung cấp các dịch vụ cơ bản cho các phần mềm ứng dụng thông thường như chương trình duyệt Web, chương trình soạn thảo văn bản....
* 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
* 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,...
* 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)
* Nhiệm vụ của hệ điều hành
Điều khiển và quản lý trực tiếp các phần cứng như bo mạch chủ, bo mạch đồ họa và bo mạch âm thanh,...
Thực hiện một số thao tác cơ bản trong máy tính như các thao tác đọc, viết tập tin, quản lý hệ thống tập tin (file system) và các kho dữ liệu.
Cung ứng một hệ thống giao diện sơ khai cho các ứng dụng thường là thông qua một hệ thống thư viện các hàm chuẩn để điều hành các phần cứng mà từ đó các ứng dụng có thể gọi tới.
Cung ứng một hệ thống lệnh cơ bản để điều hành máy. Các lệnh này gọi là lệnh hệ thống (system command).
Ngoài ra hệ điều hành, trong vài trường hợp, cũng cung cấp các dịch vụ cơ bản cho các phần mềm ứng dụng thông thường như chương trình duyệt Web, chương trình soạn thảo văn bản....
* 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
NguyenVanPhat(I22B)- Tổng số bài gửi : 16
Join date : 13/03/2013
Phân biệt tiến trình và chương trình
- Tiến trình (Process) là chuơ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).Có sự phân biệt Tiến trình hệ thống (của Hệ Điều Hành) với Tiến trình người dùng.
- Bản thân chương trình không là tiến trình vì là thực thể Thụ động (Passive), trong khi tiến trình là thực thể Hoạt động (Active) với nhiều thông tin về trạng thái trong đó có Bộ đếm chương trình (Program Counter) cho biết vị trí lệnh hiện hành.
- Bản thân chương trình không là tiến trình vì là thực thể Thụ động (Passive), trong khi tiến trình là thực thể Hoạt động (Active) với nhiều thông tin về trạng thái trong đó có Bộ đếm chương trình (Program Counter) cho biết vị trí lệnh hiện hành.
NguyenVanPhat(I22B)- Tổng số bài gửi : 16
Join date : 13/03/2013
Phân biệt bộ thông dịch lệnh và biên dịch
*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 - Intepreter là bộ phận 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.
- 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.
- 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 - Intepreter là bộ phận 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.
- 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.
NguyenVanPhat(I22B)- Tổng số bài gửi : 16
Join date : 13/03/2013
Trình bày những bộ phận cấu thành chính của hệ điều hành
Quản lý tiến trình ( Process Management ):
°Tiến trình (Process) là chuơng trình trong thời gian thực hiện (đặt dưới sự quản lý của HĐH).
°Phân biệt Tiến trình hệ thống (của HĐH) với Tiến trình người dùng.
°Bản thân chương trình không là tiến trình vì là thực thể Thụ động (Passive), trong khi tiến trình là thực thể Hoạt động (Active) với nhiều thông tin về trạng thái trong đó có Bộ đếm chương trình (Program Counter) cho biết vị trí lệnh hiện hành.
°Nhiều tiến trình có thể liên quan đến 1 chương trình và là các thực thể khác nhau khi vận hành.
°Một tiến trình có thể sinh ra nhiều tiến trình con khác khi thực hiện.
°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 (Resource) cấp cho tiến trình 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 hoàn tất.
°Những chức năng quản lý tiến trình của HĐH:
–Tạo lập và Loại bỏ tiến trình.
–Tạm ngừng và Tiếp tục công việc của tiến trình.
–Đồng bộ hoá tiến trình (Synchronization).
–Liên lạc giữa các tiến trình (Trao đổi thông tin)
–Xử lý tình huống kẹt tiến trình (Deadlocks)
°Tiến trình (Process) là chuơng trình trong thời gian thực hiện (đặt dưới sự quản lý của HĐH).
°Phân biệt Tiến trình hệ thống (của HĐH) với Tiến trình người dùng.
°Bản thân chương trình không là tiến trình vì là thực thể Thụ động (Passive), trong khi tiến trình là thực thể Hoạt động (Active) với nhiều thông tin về trạng thái trong đó có Bộ đếm chương trình (Program Counter) cho biết vị trí lệnh hiện hành.
°Nhiều tiến trình có thể liên quan đến 1 chương trình và là các thực thể khác nhau khi vận hành.
°Một tiến trình có thể sinh ra nhiều tiến trình con khác khi thực hiện.
°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 (Resource) cấp cho tiến trình 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 hoàn tất.
°Những chức năng quản lý tiến trình của HĐH:
–Tạo lập và Loại bỏ tiến trình.
–Tạm ngừng và Tiếp tục công việc của tiến trình.
–Đồng bộ hoá tiến trình (Synchronization).
–Liên lạc giữa các tiến trình (Trao đổi thông tin)
–Xử lý tình huống kẹt tiến trình (Deadlocks)
NguyenBacHoi(I22B)- Tổng số bài gửi : 8
Join date : 13/03/2013
Trình bày vai trò của bộ biên dịch, 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. 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.
- 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.
- Một số HĐH coi command - intepreter là bộ phận 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 xuất hiện trong HĐH Mac OS cho máy tính Macintosh.
* 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, trình thông dịch sẽ đọc và dịch từng dòng lệnh của chương trình và thực thi từng dòng lệnh một.
Ư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 buộc kiểu dữ liệu không chặt chẽ.
- Có thể chạy trên mọi nền tảng 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 nên không bị phụ thuộc vào HĐH.
Nhược điểm:
- Vì là ngôn ngữ thông dịch chạy line by line nên ngôn ngữ thông dịch không hỗ trợ đa luồng, giao dịch...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 bye 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: 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. Code sau khi được biên dịch sẽ tạo ra một 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ĐH xác định và chỉ chạy trên HĐH đó.
Ưu điểm:
- Ràng buộc chặt chẽ về kiểu trong ngôn ngữ.
- Hỗ trợ các tính năng đa tuyến.
- Do đã biên dịch phụ thuộc vào HĐH nên có thể tận dụng toàn bộ các tính năng đặc trưng của HĐH.
- Tốc độ thực thi tốt.
- Bảo mật tốt, ít bị virus.
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 HĐH xác định.
VD:
- Thông dịch: 2 người A, B khác ngôn ngữ muốn nói chuyện với nhau và cần 1 thông dịch viên. Khi A nói xong 1 câu thì thông dịch viên sẽ dịch ngay câu nói đó cho B.
- Biên dịch: khi ta viết chương trình trên Visual C++, sau khi viết xong ta nhấn F5 để biên dịch hết tất cả code rồi mới chạy được chương trình.
Vai trò:
- Là giao diện chủ yếu giữa người dùng và HĐH.
- 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.
- Một số HĐH coi command - intepreter là bộ phận 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 xuất hiện trong HĐH Mac OS cho máy tính Macintosh.
* 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, trình thông dịch sẽ đọc và dịch từng dòng lệnh của chương trình và thực thi từng dòng lệnh một.
Ư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 buộc kiểu dữ liệu không chặt chẽ.
- Có thể chạy trên mọi nền tảng 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 nên không bị phụ thuộc vào HĐH.
Nhược điểm:
- Vì là ngôn ngữ thông dịch chạy line by line nên ngôn ngữ thông dịch không hỗ trợ đa luồng, giao dịch...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 bye 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: 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. Code sau khi được biên dịch sẽ tạo ra một 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ĐH xác định và chỉ chạy trên HĐH đó.
Ưu điểm:
- Ràng buộc chặt chẽ về kiểu trong ngôn ngữ.
- Hỗ trợ các tính năng đa tuyến.
- Do đã biên dịch phụ thuộc vào HĐH nên có thể tận dụng toàn bộ các tính năng đặc trưng của HĐH.
- Tốc độ thực thi tốt.
- Bảo mật tốt, ít bị virus.
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 HĐH xác định.
VD:
- Thông dịch: 2 người A, B khác ngôn ngữ muốn nói chuyện với nhau và cần 1 thông dịch viên. Khi A nói xong 1 câu thì thông dịch viên sẽ dịch ngay câu nói đó cho B.
- Biên dịch: khi ta viết chương trình trên Visual C++, sau khi viết xong ta nhấn F5 để biên dịch hết tất cả code rồi mới chạy được chương trình.
Được sửa bởi NguyenKhanhDuy18 (I22B) ngày 26/3/2013, 23:54; sửa lần 1.
NguyenKhanhDuy18 (I22B)- Tổng số bài gửi : 13
Join date : 10/03/2013
Sơ lược về TeamViewer
TeamViewer là một ứng dụng điều khiển máy tính từ xa an toàn, đơn giản và nhanh chóng. Các bạn có thể sử dụng TeamViewer cho các mục đích sau:
- Hỗ trợ cho bạn bè, đồng nghiệp, người thân hoặc khách hàng từ xa
- Thuyết trình hoặc chia sẻ màn hình trực tuyến
- Chỉnh sửa các thiết lập của máy tính khách từ xa.
TeamViewer có thể truy cập thông qua bức tường lửa và proxies mà không cần các cấu hình đặc biệt
Ngoài ra, Team Viewer còn hỗ trợ một số tính năng như:
- Chia sẻ các tập tin dễ dàng cho máy tính khách
- Chia sẻ hình ảnh bằng Webcam
- Chức năng đàm thoại trực tiếp (VoIP – Voice over IP)
- Tạo ghi chú nhanh trên màn hình với chức năng Whiteboard
- Kiểm soát các phiên kết nối máy tính từ xa với thanh công cụ mới
- Đồng bộ và quản lý danh sách tài khoản của những người kết nối từ xa
- …
Có 2 cách sử dụng TeamViewer đó là:
- Sử dụng trực tiếp trên trình duyệt Internet.
- Sử dụng bằng chương trình của TeamViewer.
- Hỗ trợ cho bạn bè, đồng nghiệp, người thân hoặc khách hàng từ xa
- Thuyết trình hoặc chia sẻ màn hình trực tuyến
- Chỉnh sửa các thiết lập của máy tính khách từ xa.
TeamViewer có thể truy cập thông qua bức tường lửa và proxies mà không cần các cấu hình đặc biệt
Ngoài ra, Team Viewer còn hỗ trợ một số tính năng như:
- Chia sẻ các tập tin dễ dàng cho máy tính khách
- Chia sẻ hình ảnh bằng Webcam
- Chức năng đàm thoại trực tiếp (VoIP – Voice over IP)
- Tạo ghi chú nhanh trên màn hình với chức năng Whiteboard
- Kiểm soát các phiên kết nối máy tính từ xa với thanh công cụ mới
- Đồng bộ và quản lý danh sách tài khoản của những người kết nối từ xa
- …
Có 2 cách sử dụng TeamViewer đó là:
- Sử dụng trực tiếp trên trình duyệt Internet.
- Sử dụng bằng chương trình của TeamViewer.
Được sửa bởi LeSonCa(I22B) ngày 13/4/2013, 23:10; sửa lần 1.
LeSonCa(I22B)- Tổng số bài gửi : 12
Join date : 10/03/2013
Nguyên lí, vai trò của máy tính ảo
* Máy tính ảo:
- Là sự phát triển logic 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í.
* Lợi ích 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 (VD: ổ đĩa ảo). Có thể lấy từ Internet về 1 chương trình lạ và chạy thử trên máy ảo mà không sợ bị ảnh hưởng đến máy tính vật lí.
- 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, 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 1 máy ảo thay vì làm trên máy thật, thành công rồi mới chuyển sang máy thật.
* Nhược điểm của máy tính ảo:
- 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 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.
- Ở 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ó.
* So sánh VirtualPC với VMWare:
Cả Virtual PC và VMWare đều hỗ trợ kéo thả dữ liệu giữa máy thật và máy ảo. Chạy trên hệ thống thì Virtual PC nhẹ nhất và hỗ trợ tốt HĐH Windows (như thật). Tuy nhiên, Virtual PC có một hạn chế, đó là không có tính năng Snapshot.
- Là sự phát triển logic 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í.
* Lợi ích 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 (VD: ổ đĩa ảo). Có thể lấy từ Internet về 1 chương trình lạ và chạy thử trên máy ảo mà không sợ bị ảnh hưởng đến máy tính vật lí.
- 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, 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 1 máy ảo thay vì làm trên máy thật, thành công rồi mới chuyển sang máy thật.
* Nhược điểm của máy tính ảo:
- 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 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.
- Ở 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ó.
* So sánh VirtualPC với VMWare:
Cả Virtual PC và VMWare đều hỗ trợ kéo thả dữ liệu giữa máy thật và máy ảo. Chạy trên hệ thống thì Virtual PC nhẹ nhất và hỗ trợ tốt HĐH Windows (như thật). Tuy nhiên, Virtual PC có một hạn chế, đó là không có tính năng Snapshot.
NguyenKhanhDuy18 (I22B)- Tổng số bài gửi : 13
Join date : 10/03/2013
Những chức năng của hệ điều hành
Quản lý tiến trình :
Trong quá trình hoạt động thì sẽ có rất nhiều tiến trình được sinh ra vì vậy HDH phải đảm bảo tất cả đều đồng bộ . Vì vậy HDH phải đóng vai trò giúp đồng bộ hóa các tiến trình ( các proccess phải hoạt động theo đúng thứ tự để tránh deadclock ) ,trao đổi thông tin với nhau (vì một trình khi chạy sẽ yêu cầu nhiều tiến trình để xử lý vì vậy giữa chúng phải có sự liên lạc với nhau ).,iải quyết các vân đề deadclock (ví dụ như hiện tượng treo máy mà ta hay gặp)
Quản lý bộ nhớ chính :
Điểu này ta đã hiểu rõ từ các chương trước do các tiến trình đều phải được nạp vào bộ nhớ chính vì vậy HDH phải quản lý chặt vấn đề . Nó sẽ nắm vai trò cấp phát bộ nhớ cho tiến trình để ránh vấn đề xung đột và xử dụng bộ nhớ 1 cách hợp lý nhất.
Quản lý tập tin:
Quản lý tập tin là một trong những thành phần có thể nhìn thấy nhất của HDH. HDH cho ta 1 thao tác chung đối với các thei6t bị ngoại vi . Nhờ đó ta dễ thao tác và dễ nhớ các thao tác này hơn (chỉ cần biết thao tác lần đầu tiên thôi) .Vai trò của HDH lúc này là nó sẽ ánh xạ nhửng tập tin này thành các thực thể và lưu nó trên các thei61t bị tương ứng
Quản lý I/O:
Các thei61t bị I/O là khác nhau vì vậy chức năng của HDH sẽ làm ẩn đi các thành phần phức tạp . Giúp cho các driver của thiết bị có thể giao tiếp với nhau khi có yêu cầu
Quản lý mạng :
HDH sẽ đảm bào các máy tính có thể trao đổi thông tin với nhau trong mạng .Vì nó đã ẩn đi các chi tiết phức tạp Ta thấy rõ ràng chức năng này ví dụ 1 gói tin được gửi đi qua mạng thì phải rải qua nhiều bước (mô hình OSI) mới có thể trao đổi nhưng nhờ HDH ta sẽ không cần phải quang tâm nhiều đến vấn đề này
Trong quá trình hoạt động thì sẽ có rất nhiều tiến trình được sinh ra vì vậy HDH phải đảm bảo tất cả đều đồng bộ . Vì vậy HDH phải đóng vai trò giúp đồng bộ hóa các tiến trình ( các proccess phải hoạt động theo đúng thứ tự để tránh deadclock ) ,trao đổi thông tin với nhau (vì một trình khi chạy sẽ yêu cầu nhiều tiến trình để xử lý vì vậy giữa chúng phải có sự liên lạc với nhau ).,iải quyết các vân đề deadclock (ví dụ như hiện tượng treo máy mà ta hay gặp)
Quản lý bộ nhớ chính :
Điểu này ta đã hiểu rõ từ các chương trước do các tiến trình đều phải được nạp vào bộ nhớ chính vì vậy HDH phải quản lý chặt vấn đề . Nó sẽ nắm vai trò cấp phát bộ nhớ cho tiến trình để ránh vấn đề xung đột và xử dụng bộ nhớ 1 cách hợp lý nhất.
Quản lý tập tin:
Quản lý tập tin là một trong những thành phần có thể nhìn thấy nhất của HDH. HDH cho ta 1 thao tác chung đối với các thei6t bị ngoại vi . Nhờ đó ta dễ thao tác và dễ nhớ các thao tác này hơn (chỉ cần biết thao tác lần đầu tiên thôi) .Vai trò của HDH lúc này là nó sẽ ánh xạ nhửng tập tin này thành các thực thể và lưu nó trên các thei61t bị tương ứng
Quản lý I/O:
Các thei61t bị I/O là khác nhau vì vậy chức năng của HDH sẽ làm ẩn đi các thành phần phức tạp . Giúp cho các driver của thiết bị có thể giao tiếp với nhau khi có yêu cầu
Quản lý mạng :
HDH sẽ đảm bào các máy tính có thể trao đổi thông tin với nhau trong mạng .Vì nó đã ẩn đi các chi tiết phức tạp Ta thấy rõ ràng chức năng này ví dụ 1 gói tin được gửi đi qua mạng thì phải rải qua nhiều bước (mô hình OSI) mới có thể trao đổi nhưng nhờ HDH ta sẽ không cần phải quang tâm nhiều đến vấn đề này
TrỉnhToQuyen(I12A)- Tổng số bài gửi : 23
Join date : 10/03/2013
Trình bày những bộ phận cấu thành chính của Hệ Điều Hành
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.
NguyenCaoDuong(I22B)- Tổng số bài gửi : 27
Join date : 10/03/2013
câu 2 :Phân tích vai trò và chức năng của bộ thông dịch lệnh (Command-Interpreter)
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
phungvanduong24(I12A)- Tổng số bài gửi : 61
Join date : 20/02/2012
câu 3 : 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
phungvanduong24(I12A)- Tổng số bài gửi : 61
Join date : 20/02/2012
câu 4 : Phân tích vai trò của máy ảo trong thực tế và nguyên lý của máy ảo
* Máy ả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.
- 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 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ó.
Phân biệt 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.
- 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.
- 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 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ó.
Phân biệt 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.
phungvanduong24(I12A)- Tổng số bài gửi : 61
Join date : 20/02/2012
Re: Thảo luận Bài 3
Admin đã viết:Thảo luận những vấn đề liên quan đến Bài 3.
Thầy ơi , từ bài 1 đến bài 4 em post bài không đúng chủ đề . thầy cho em post bài lại ạ
phungvanduong24(I12A)- Tổng số bài gửi : 61
Join date : 20/02/2012
Trang 5 trong tổng số 7 trang • 1, 2, 3, 4, 5, 6, 7
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 5 trong tổng số 7 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết