Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Thảo luận Bài 2

+79
HUYNHDUCANHI12A
HuynhMinhChanh(i91C)
TRANTHINHPHAT (I11C)
PhamQuangHien_I12A
DangLeHieu(I102C)
voquantrieu
DuongTrungQuan
nguyenhuutho
lymydung_I12A
NguyenVinhQuang_I12A
LeMInhTien(I11C)
TranTrungTinh(I12A)
quynhnhi.nguyen_I12A
Truc_Phuong(I111C)
ngophicamI12A
TranThiMyKhanh(I12A)
NguyenthechinhI12A
quicly_I111c
HUYNHMINHHAI(I12A)
NguyenThanhCang(I12A)
phanngocthinh(i12a)
HuynhNguyenTrungHau_I12C
VoTrongQuyet-I12A
BuiAnhNgoc(I12C)
quocbao2021
letanthanh18_I12A
TranVanBao(I12A)
lengocthuthao89 (i11c)
dongocthien (I11C)
BuiHuongTra(I12A)
NguyenXuanTri28
lethanhsang_I12A
VoThiHongNhung(I12A)
trinhvanminh_11h1010077
nguyen_tuan_phat_I12A
LacChiHao(I12A)
VuNguyenQuynhLam_I12C
phamphihung55
HuaTranTuQuyen(I12A)
PhamDucPhuong(I12A)
tranvanthien27(I12C)
minhtam_I12C
TranThiNgocQuynh(I12C)
NguyenDucMy78(I12C)
nguyenthingocmai_I12A
NguyenVanThang25 (I12A)
levanhop.it
trantrungnam-HC11TH2A
TranThiAnhDao89I12C
TranMinhTuan143(I12A)
NguyenHoangThangI12A
vonganhI12A
NgoXuanQuoc_(102C)
phamduyI12A
NguyenVanBenI12C
nguyenthimao_I12A
BuiPhamAnBinh(I12A)
nguyenthaihiep (I11C)
phuongnguyen
LeThanhTung (I11C)
huynhvanhung(I12A)
Nguyen Sy Hung I12A
dangvannhan_11h1010085
PhamThiKieuOanh_I12A
TranHoangNhanI12C
LeLamThang (113A)
NguyenHongHaiI12C
DaoThaiHuyI12A
LeXuanHau (I12C)
DoanNgocDan(I12A)
LeThiMaiPhuongI12A
KimHue36 (I11C)
tranthithanhuyen85 (I11C)
caothithuhuong(102c)
HoNgocTuan142(I12A)
LePhucHiep(102C)
thailongI12C
LeQuocKhanh-11H1010059
Admin
83 posters

Trang 6 trong tổng số 9 trang Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next

Go down

Thảo luận Bài 2 - Page 6 Empty Re: Thảo luận Bài 2

Bài gửi  trinhvanminh_11h1010077 25/2/2012, 20:50

LePhucHiep(102C) đã viết:- Sau khi bật nguồn, chương trình mồi Bootstrap lấy từ ROM hoặc EEPROM được khởi động với chức năng khởi hoạt các thiết bị hệ thống: Các thanh ghi CPU, Bộ nhớ, Disk Controllers,... sau đó khởi động hạt nhân của HĐH nạp từ đĩa cứng.
- Hạt nhân (Kernel, Monitor) của HĐH khởi động tiến trình đầu tiên gọi là INIT (Initialization) và chờ các sự kiện (Event) có thể xảy ra.

MÌNH GÓP THÊM THÔNG TIN QUÁ TRÌNH KHỞI ĐỘNG CỦA MÁY TÍNH


Đầu tiên ta bắt đầu bật công tắc Power On để khởi động máy tính Bộ nguồn máy tính bắt đầu được cấp nguồn và thao tác đầu tiên của nó là bắt đầu thực thi bước đầu tiên trong giai đoạn POST (Power on self test),nó sẽ đi kiểm tra các giá trị điện thế logic ở ngõ ra đã thực sự ổn định chưa +5v, -5v,+12v,-12v, đúng chưa. Giai đoạn mà nó tự đi POST, nguồn này sẽ diễn ra rất nhanh, khoảng từ 0.5-2 giây.

Nếu trong quá trình kiểm tra có sự cố thì nó sẽ không cấp nguồn cho mainboard nữa và có thể treo máy luôn hoặc dùng tín hiệu âm thanh (Error Sound Code) để báo cho ta biết. Nếu như quá trình kiểm tra tốt không có chuyện gì thì lúc này nó sẽ gửi tín hiệu báo nguồn tốt PG (Power good signal),tín hiệu này sẽ kích vào một mạch định thời gian Timer Microcontroller trên main, cấp nguồn cho CPU và bắt đầu ở vào trạng thái sẵn sàng làm việc.

Sau khi được cấp nguồn, công việc đầu tiên CPU đi thực thi là nó sẽ tiến hành đi đọc ROM BIOS .Như vậy lúc này có thể nói Rom BIOS đóng vai trò là người dẫn đường đầu tiên cho CPU trong quá trình khởi động.

Thực chất trong Rom BIOS sẽ mang một đoạn chương trình và yêu cầu CPU phải tiến hành thực thi đoạn chương trình này ở mỗi lần khởi động máy .Lúc này CPU sẽ lần lượt thực hiện các lệnh trong Rom BIOS theo từng bước sau:

Tiến hành kiểm tra các thiết bị cơ bản nhất trên hệ thống để xem tình trạng làm việc của các thiết bị này đã sẳn sàng chưa. Các thiết bị cơ bản này sẽ bao gồm :RAM, HDD, VGA, các bộ chipset và mainboard..Trong quá trình kiểm tra từng thiết bị, nếu tốt nó sẽ kiểm tra thiết bị kế tiếp, nhưng nếu gặp sự cố trong giai đọan này thì hoặc là máy sẽ treo luôn, không có hình ảnh âm thanh gì, hoặc là máy sẽ dùng tín hiệu báo lỗi âm thanh để thông báo cho ta biết .Lúc này chưa thể hiện hình được vì CPU chưa đọc Rom màn hình (Rom video ).

Khi kiểm tra RAM trong giai đoạn này thì thông thường ta sẽ gặp một số lỗi và tình trạng như sau : Nếu ta gắm RAM sai Bank thì máy sẽ không lên hình ảnh và không báo lỗi gì cả, nhưng nếu ta gắm RAM lõng chân hay RAM hư thì máy sẽ dùng tín hiệu âm thanh báo lỗi cho ta biết và thông thường mã âm thanh báo lỗi của RAM là nó sẽ bip từng tiếng ngắn và liên tục nhau .

Khi kiểm tra đĩa cứng thì thông thường ta cũng sẽ gặp một số lỗi sau :Nếu ta gắn 1 đĩa cứng bị hư, gắn lỏng dây hoặc set Jumper đĩa cứng sai thì chẳng ảnh hưởng gì cả, máy vẫn làm việc bình thừong chỉ có ta không thể detect được đĩa cứng đó trong CMOS mà thôi và tất nhiên cũng chẳng thể vào Win đựơc.

Khi kiểm tra VGA :Nếu ta gắn VGA tốt, bình thường thì không có chuyện gì xảy ra cả, nhưng nếu ta gắn VGA bị hư hay chưa gắn thì lúc này máy sẽ phát tín hiệu báo lỗi và tín hiệu này sẽ là một tiếng bip kéo dài và 3 tiếng bip ngắn .Nhờ code báo lỗi của VGA ta có thể lợi dụng nó để xem mainboard hay CPU có hư hay không .Giả sử ta bật máy lên chẳng có âm thanh hình ảnh gì và ta nghi ngờ là có thể hư main hay CPU.
CPU tiếp tục đi đọc Rom màn hình và bắt đầu thông tin lên màn hình các thông tin đầu tiên mà nó sẽ thông báo cho ta biết là hãng sản xuất của card màn hình, model của card và dung lượng RAM màn hình của nó.Giai đoạn báo thông tin này đối với các máy đời cũ diễn ra khá chậm, nhưng đối với các máy ngày nay nó diễn ra rất nhanh đế nỗi có nhiều khi ta xem không kịp.
Tiếp theo, nó sẽ đi dò tìm trên hệ thống để xem ta có đang sử dụng một adapter card nào có gán Rom hay không, nếu không thì thôi nhưng nếu có thì nó sẽ đi đọc luôn thông tin trong Rom của các Adapter card đó .
Đọc và báo thông tin về CPU, main và Rom BIOS .Về CPU nó sẽ báo hãng sản xuất CPU, loại CPU và tần số làm việc của nó ;về main nó sẽ báo loại main, đời main và bộ chipset của main ;về Rom BIOS có thể nó sẽ báo hãng sản xuất, ngày sản xuất và version của nó .

Test RAM: Thông thường khi test RAM nó sẽ test RAM 3 lần và trong mỗi lần đó nó sẽ test đi test lại bộ nhớ qui ước 2 lần .

Đến 1 địa chỉ trên RAM để đọc 1 byte ở giá trị này xem hệ thống đang boot nóng (warm boot :boot bằng Ctrl-Alt-Del)hay boot lạnh (cold boot:Reset hay tắt máy ). Địa chỉ này là 0000:0472,nếu byte này có giá trị là 1234h thì hệ thống đang boot nóng, còn nếu là 1 giá trị khác thì hệ thống đang boot lạnh .

Nếu hệ thống đang boot lạnh thì khởi động lại nó phải thực thi từng bước giống như lúc đầu .Nhưng nếu hệ thống đang boot nóng thì khi boot lại nó sẽ bỏ qua các bước đã thực thi rồi ví dụ như đọc CPU, test RAM …để nhằm làm cho quá trình khởi động nhanh hơn .

CPU đi đọc CMOS : Đọc các thông tin đang được khai báo trong CMOS rồi so sánh với thực tế trên hệ thống, nếu đúng thì làm tiếp nhưng nếu thông tin đang khai báo trong CMOS bị sai thì có thể máy sẽ báo lỗi hoặc treo máy.

Như vậy thì CPU sẽ đi đọc CMOS ngay sau khi test RAM, nên thông thường nếu ta đang khởi động mà máy test RAM xong lại treo máy thì hầu hết 90 % nguyên nhân là do các thông số trong BIOS gây ra .Kiểm tra lại CMOS.

Đến mục thứ hai BIOS Features Setup trong CMOS đọc mục Boot Sequence để xem ta đang cho khởi động từ ổ đĩa nào :A:C hay C:A .Nếu biết được ổ đĩa đang được cho khởi động thì đi đọc ngay sector vật lý đầu tiên của ổ đĩa đó .Nếu ta đang cho boot A:C thì CPU sẽ đi đọc sector vật lý đầu tiên của đĩa A ;và đó chính là DBR của A ;nhưng nếu ta cho boot C:A thì nó sẽ đi đọc sector vật lý đầu tiên trên đĩa cứng và sector này chính là bảng Master partition table .Bây giờ giả sử ta đang cho boot A: C:,CPU sẽ đi đọc bảng partition chủ trên đĩa cứng.

Đọc bảng Partition của đĩa cứng Đầu tiên nó sẽ đụng 446 bytes của đoạn chương trình ngắn và sẽ thực thi 3 lệnh trong đoạn chương trình ngắn này .

Kiểm tra 64 bytes của bảng thông số vật lý của partition bên dưới rồi so sánh với thực tế trên đĩa xem có đúng không .Nếu đúng thì làm tiếp nhưng nếu sai thì hoặc là treo máy, hoặc là sẽ báo một trong các câu thông báo lỗi sau :Invalid partition table, Error loading operating system, Missing operating system.

Kiểm tra xem ta đang chia làm bao nhiêu partition và partition nào đang được set active .Còn nếu trong quá trình kiểm tra nó không thấy partition nào được set active thì có thể ta sẽ nhận được thông báo P:ress any key to reboot, No Rom Basic, system halt ….

Nếu đã xác định được partition nào đang được set active rồi thì đi đọc sector logic đầu tiên của partition hay ổ đĩa logic đó hay nói cách khác lúc này CPU sẽ đi đọc MBR (Master Boot Record) của ổ đĩa này bởi vì theo qui định của Dos, sector logic đầu tiên của một ổ đĩa lúc nào cũng phải là MBR.

Khi đọc MBR, vì bảng thông số nội bộ của DBR lại nằm tr6en nên đầu tiên nó sẽ đọc 3 bytes nhảy trứoc EB 3C 90 hay EB 58 90 để nhảy qua bảng thông số nội bộ, đến và bắt đầu thực thi 2 lệnh của đạng chương trình mồi MBR.

Kiểm tra 59 bytes hay 87 bytes của bảng thông số nội bộ MBR bên trên rồi so sánh với thực tế nội bộ trên ổ đĩa đó xem có đúng không .Nếu đúng thì làm tiếp nhưng nếu sai thì hệ thống sẽ treo máy và không cho phép ta khởi động được nữa, có thể lúc này ta gặp một con trỏ nhấp nháy trên màn hình.
Đến các cluster đầu tiên trên đĩa, thông thường đối với Diskedit là cluster 2 để tải Io.sys lên RAM .Nếu không tìm thấy Io.sys ở vị trí này ta sẽ nhận được một câu thông báo :Non system Disk or Disk error .Replace and press any key ….Nhưng nếu tải được Io.sys lên RAM rồi thì ta có thể xem như quá trình khởi động đã thành công vì lúc này Ron BIOS trả quyền điều khiển lại cho hệ điều hành .

Có một số lưu ý về Io.sys :Io.sys chính là 1 phần của hệ điều hành và nó phải có vị trí xác định, nó phải nằm ngay các cluster đầu tiên và không bao giờ thay đổi tr6en đĩa .Nếu mất Io.sys đi, vì đặc điểm này nên ta không thể dùng lệnh copy bình thường để copy lại nó mà ta phải dùng Sys để tạo hay Disktool –make a disk bootable .Như vậy Sys hay Disktool cũng là một tập tin dùng để copy nhưng nó copy Io.sys vào đúng ngay vị trí của nó, ngoài ra nó còn tạo cho ta cả đoạn chương trình mồi của MBR.

CÓ GÌ SAI XÓT MONG MỌI NGƯỜI ĐÓNG GÓP THÊM Very Happy THANKS
NET.
trinhvanminh_11h1010077
trinhvanminh_11h1010077

Tổng số bài gửi : 90
Join date : 15/02/2012
Age : 39
Đến từ : tphcm

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty CHƯƠNG 2: CẤU TRÚC MÁY TÍNH

Bài gửi  VoThiHongNhung(I12A) 26/2/2012, 00:06



Câu 1: Trình bày nguyên tắc xử lý ngắt của hệ điều hành
- Hai loại ngắt chính:
. Tín hiệu ngắt (Interrupt Signal) từ các thiết bị (Ngắt cứng) truyền qua System Bus.
. Tín hiệu ngắt từ chương trình người dùng (Ngắt mềm) nhờ Lời gọi hệ thống (System Call hay Monitor Call). Lệnh đặc biệt này ( ví dụ có tên INT hoặc SysCall )cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ, yêu cầu thực hiện lệnh I/O).
- Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
- Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành, không có thiết bị I/O nào làm việc, HĐH im lặng chờ và theo dõi.
- Thông thường, mỗi loại ngắt tương ứng với 1 dòng trong bảng (Véc-tơ ngắt) chứa con
trỏ (Pointer) tới chương trình xử lý loại ngắt đó. Bảng này nằm ở vùng thấp của RAM (ví dụ: 100 bytes đầu tiên).
- Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào Ngăn xếp hệ thống (System Stack) với nguyên tắc làm việc LIFO ( Last-In, First-Out )



Câu 2: Trình bày Tuyến thời gian của một tiến trình có nhiều yêu cầu tới thiết bị ngoại vi

Thảo luận Bài 2 - Page 6 Unleddb


Câu 3: Phân biệt hai phương thức I/O đồng bộ và không đồng bộ

- Synchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình chuyển sang trạng thái chờ đến
khi Nhập/Xuất hoàn tất rồi mới chạy tiếp (thực hiện lệnh kế tiếp)
Ví dụ: Khi ta tạo mới một tài liệu nhập dữ liệu từ bàn phím, khi muốn lưu lại ta phải chọn Save, sau đó đặt tên file, và chọn nơi lưu trữ. Các tiến trình đó ở trạng thái chờ tiến trình trước nhập
xuất hoàn tất đã.

- ASynchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình không chờ Nhập/Xuất hoàn
tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc Nhập/Xuất.
Ví dụ: Khi ta nhập dữ liệu mới hoặc thêm vào tài liệu đã có, khi ta muốn lưu thì ta chọn Save và lúc này tiến trình vận hành song song với việc phát ra lệnh từ Save.



Câu 4: Phân tích vai trò phân cấp các loại bộ nhớ trong máy tính

Thảo luận Bài 2 - Page 6 Unled3ru

- Một sự phân cấp bộ nhớ kiểu mẫu được chỉ ra ở hình trên. Khi chúng ta đi từ trên xuống trong sơ đồ phân cấp này, những sự kiện sau sẽ xảy ra:
. Giảm phí tổn cho một bit
. Tăng dung lượng
. Tăng thời gian truy cập
. Giảm tần số truy cập bộ nhớ bởi CPU
- Do vậy bộ nhớ nhỏ hơn, nhanh hơn, đắt tiền hơn được phụ trợ bởi bộ nhớ lớn hơn, chậm hơn, rẻ hơn. Chìa khóa cho sự thành công trong cách tổ chức này là yếu tố cuối cùng, tức là giảm thiểu tần số truy cập.



Câu 5: Nguyên lý lưu gần
- Là nguyên tắc quan trọng của hệ thống máy tính.
- Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi là Cache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM, mà lấy ngay từ Cache.
- Loại bộ nhớ này không do HĐH quản lý và cấp phát.
- Thực tế, RAM (Bộ nhớ Sơ cấp) là loại Cache nhanh so với đĩa cứng (Bộ nhớ thứ cấp) và HĐH có chức năng quản lý sự lưu chuyển dữ liệu giữa 2 loại bộ nhớ này



Câu 6: Nguyên lý bảo vệ bộ nhớ chính bằng thanh ghi cơ sở và thanh ghi giớ hạn
- Để tiến trình người dùng không can thiệp được vào vùng nhớ của hệ điều hành và các tiến trình khác, thường sử dụng hai thanh ghi :
. Thanh ghi Cơ sở (Base register): được dùng để lưu trữ địa chỉ ô nhớ hợp lệ nhỏ nhất
. Thanh ghi Giới hạn (Limit register): lưu trữ kích thước của cả ô nhớ.
Ví dụ, nếu thanh ghi base lưu trữ giá trị 300040 và thanh ghi limit lưu trữ giá trị là 120900 thì chương trình sẽ có thể truy cập hợp lệ vào các địa chỉ ô nhớ trong khoảng từ 300040 cho đến 420940.
- Chỉ có HĐH mới có thể sửa được nội dung hai thanh ghi này. Vì thanh ghi base và limit chỉ có thể được nạp bởi hệ điều hành

Thảo luận Bài 2 - Page 6 Unled4y

VoThiHongNhung(I12A)

Tổng số bài gửi : 20
Join date : 20/02/2012

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Nguyên lý lưu gần

Bài gửi  lethanhsang_I12A 26/2/2012, 10:44

Cache memory có nhiệm vụ cung cấp những dữ liệu cho CPU. Sự hình thành của Cache giúp nâng cao hiệu quả truy cập thông tin của máy tính. Những thông tin thường dùng (hoặc đang dùng) thường được lưu trong Cache, khi xử lý hay thay đổi thông tin, CPU sẽ tìm trong Cache memory trước xem có tồn tại hay không, nếu có nó sẽ lấy ra dùng lại còn không thì sẽ tìm tiếp vào RAM hoặc các bộ phận khác. Ví dụ nếu mở Microsoft Word lên lần đầu tiên sẽ thấy hơi lâu nhưng mở lên các lần sau thì lẹ hơn rất nhiều vì trong lần mở thứ sau các lệnh (instructions) để mở Microsoft Word đã được lưu giữ trong Cache, CPU chỉ việc tìm trong cache và sử dụng các lệnh đó để mở.

Ví dụ minh họa nguyên lý lưu gần:
Giếng nước nếu ở xa nhà thì người ta thường bơm nước vào bể nước hoặc thùng gần nhà để mỗi khi cần sẽ lại thùng hay bề lấy sẽ nhanh và tiện lợ hơn ...
lethanhsang_I12A
lethanhsang_I12A

Tổng số bài gửi : 22
Join date : 15/02/2012
Age : 34
Đến từ : Đồng Nai

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Phân Biệt Nhập Xuất Đồng Bộ & Nhập Xuất Không Dồng Bộ

Bài gửi  NguyenXuanTri28 26/2/2012, 16:08

Synchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình chuyển sang trạng thái chờ đến khi Nhập/Xuất hoàn tất rồi mới chạy tiếp (thực hiện lệnh kế tiếp).
ASynchronous I/O: Sau khi phát ra lệnh Nhập/Xuất, tiến trình không chờ Nhập/Xuất hoàn tất mà thực hiện ngay lệnh kế tiếp. Như vậy, tiến trình vận hành song song với công việc Nhập/Xuất.
Ex: Bạn không thể vừa uống cafe vừa thổi bong bóng được nè (Cái này là nhập xuất phải đồng bộ), sau khi làm xong việc này mới làm được việc tiếp theo. Còn Bạn vừa nghe nhạc vừa làm việc (Không đồng bộ), bạn không phải đợi làm xong việc mới nghe được nhạc mà bạn có thể làm cả 2 cùng lúc.

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Nguyên lý xử lý ngắt của HĐH

Bài gửi  NguyenXuanTri28 26/2/2012, 16:12

- Có hai loại ngắt chính:
+ Tín hiệu ngắt ( Interrupt Signal ) từ các thiết bị(Ngắt cứng) truyền qua system Bus.
+ Tín hiệu ngắt từ chương trình người dùng (ngắt mềm) nhờ lời goị hệ thống (System Call hay Monitor Call). Lệnh đặc biệt này (ví dụ có tên INT hoặc SysCall) là cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ thực hiện lệnh I/O).
- Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
- Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành,không có thiết bị I/O nào làm việc, HĐH im lặng chờ và theo dõi.
- Thông thường, mỗi loại ngắt tương ứng với một dòng trong bảng (véc-tơ ngắt) chứa con trỏ (Poniter) tới chương trình xử lý loại ngắt đó. Bảng này nằm ờ vùng thấp của RAM.
- Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào ngăn xếp hệ thống (System Stack) với nguyên tắc làm việc LIFO (Last-In,First-Out).
VD:
* Ngắt cứng:khi chương trình đang chạy thì bị ngắt do có câu lệnh buộc phải ngắt chương trình.
* Ngắt mềm:khi chương trình đang chạy nhưng người dùng muốn sử dụng thao tác khác nên máy tính phải dừng việc đang làm và thực thi hiệu lệnh của người dùng.
- Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện
một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR –
Interrupt Service Routine).
- Trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm
Ngắt mềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy
Khác với ngắt mềm, ngắt cứng không được khởi động bên trong máy tính mà do các
linh kiện điện tử tác đông lên hệ thống.
- Hoạt động: Khi thực hiện lệnh gọi ngắt, CPU sẽ tìm kiếm trong bảng vector ngắt địa chỉ của chương trình phục vụ ngắt. Người sử dụng cũng có thể xây dựng môt chương trình cơ sở như các chương trình xử lý ngắt. Sau đó, các chương trình khác có thể gọi ngắt ra để sử dụng. Một chương trình có thể gọi chương trình con loại này mà không cần biết địa chỉ của nó.

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Trình bày nguyên lý lưu gần (caching) sử dụng trong máy tính

Bài gửi  NguyenXuanTri28 26/2/2012, 16:13

Là nguyên tắc quan trọng của hệ thống máy tính.
- Thông tin từ RAM có thể được cơ chế phần cứng đưa vào bộ nhớ nhanh hơn gọi là Cache. Khi CPU cần chính thông tin đó, không cần phải truy xuất RAM, mà lấy ngay từ Cache.
- Loại bộ nhớ này không do HĐH quản lý và cấp phát.
- Thực tế, RAM (Bộ nhớ Sơ cấp) là loại Cache nhanh so với đĩa cứng (Bộ nhớ thứ cấp) và HĐH có chức năng quản lý sự lưu chuyển dữ liệu giữa 2 loại bộ nhớ này

Theo mình nghĩ bộ nhớ Cache la :
-Bộ nhớ Cache là bộ nhớ nằm bên trong của CPU, nó có tốc độ
truy cập dữ liệu theo kịp tốc độ xủa lý của CPU, điều này khiến
cho CPU trong lúc xử lý không phải chờ dữ liệu từ RAM vì dữ
liệu từ RAM phải đi qua Bus của hệ thống nên mất nhiều thời
gian.
- Một dữ liệu trước khi được xử lý , thông qua các lệnh gợi ý của
ngôn ngữ lập trình, dữ liệu được nạp sẵn lên bộ nhớ Cache, vì
vậy khi xử lý đến, CPU không mất thời gian chờ đợi .
Khi xử lý xong trong lúc đường truyền còn bận thì CPU lại
đưa tạm kết quả vào bộ nhớ Cache, như vậy CPU không mất
thời gian chờ đường truyền được giải phóng .
- Bộ nhớ Cache là giải pháp làm cho CPU có điều kiện hoạt động
thường xuyên mà không phải ngắt quãng chờ dữ liệu, vì vậy
nhờ có bộ nhớ Cache mà hiệu quả xử lý tăng lên rất nhiều, tuy
nhiên bộ nhớ Cache được làm bằng Ram tĩnh do vậy giá thành
của chúng rất cao

vai trò của bộ nhớ Cache

Có hai loại Cache cơ bản đó là Cache L1 và Cache L2. Bất kể một máy PC nào đều tỏ ra rất hữu hiệu khi dùng cache.Cache này thường có ở Chíp, Ram và cả trên ổ cứng. Bằng cách đọc nhiều dữ liệu hơn là trình ứng dụng đòi hỏi, dữ liệu cần thiết cho ứng dụng đó đã nằm sẵn sàng trong bộ nhớ cache. Do đọc dữ liệu từ cache nhanh hơn đọc từ đĩa cứng nên tốc độ của cả hệ thống cũng như của ứng dụng tăng đáng kể. Cache càng lớn thì CPU càng ít phải dùng đến bộ nhớ chính để lưu thông tin và lệnh, nhờ vậy tốc độ hệ thống nhanh hơn. Trong 2 loại Cache thì Cache L1 thường nhỏ hơn, nhanh hơn và hiệu quả hơn Cache L2. Để hiểu một cách thực tế thì Cache là một bộ đệm của máy tính nó là vùng lưu trữ các dòng lên hoặc các thông tin nhăm tăng tốc cho các quá trình xử lỹ thông tin dữ liệu mà không cần phải thông qua các thiết bị lưu trữ khác

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty ĐỒNG BỘ VÀ KHÔNG ĐỒNG BỘ (SYNCHRONOUS & ASYNCHRONOUS)

Bài gửi  NguyenXuanTri28 26/2/2012, 16:14

“Synchronous & Asynchronous”:Diễn đàn cũng đã và đang tạo ra “Synchronous & Asynchronous” rồi đó! Một chủ đề đã đưa ra, khái niệm đã đưa ra rồi… nhưng vẫn có bạn vẫn trình bày lại (giống nhau).
Mình có vài điều đã lượm lặc được, mong mọi người đóng góp!
Trước khi bàn trực tiếp về Đồng bộ và không đồng bộ (synchronous & asynchronous), chúng ta nên bàn về bối cảnh của việc sử dụng cặp từ này. Có thể thấy chúng liên quan tới cái gì đó có số nhiều. Bạn không bao giờ có thể dùng từ synchronous hay asynchronous cho trường hợp chỉ duy nhất được. Mở rộng ra chúng còn thường được dùng liên quan tới những quá trình có khả năng tái diễn cao. Như vậy chúng nên được xem xét trong một phạm vi của tập hợp nhiều phần tử, những phần tử này có thể là dữ liệu, tín hiệu, tiến trình xử lý hay tác vụ.

Synchronous (đồng bộ) là khái niệm nói lên tính nguyên tắc, đòi hỏi các dữ liệu, tiến trình... có liên quan phải được kết nối, liên hệ theo một trình tự thực hiện, một định dạng,... cách thức cố định, không bao giờ thay đổi. Trong một chuỗi các hàm của một quy trình có “n” tác vụ, nếu nó được bảo là đồng bộ thì trình tự thực hiện các hàm đó sẽ không bao giờ thay đổi. Hàm A đã được thiết lập để được gọi và chạy trước hàm B thì dù có phải đợi dài cổ hàm B cũng phải chờ hàm A kết thúc mới được phép bắt đầu. Một dây chuyền sản xuất công nghiệp của một nhà máy có thể coi là một quá trình đồng bộ.

Asynchronous (không đồng bộ) là một khái niệm có thể nói là ngược lại với Synchronous. Nó nói lên sự thiếu chặt chẽ, tính liên kết yếu, quản lý vô cùng khó khăn tuy nhiên lại uyển chuyển và khả năng tùy biến cao. Trong một chuỗi các hàm của một quy trình có “n” tác vụ, nếu nó được bảo là bất đồng bộ thì có nghĩa là cho dù hàm B được gọi sau hàm A nhưng không ai đảm bảo được rằng hàm A sẽ phải kết thúc trước hàm B và hàm B bắt buộc phải chỉ được gọi chạy khi hàm A kết thúc.

Liên hệ thực tế. Trong một xã hội đồng bộ, kẹt xe xảy ra, xe nọ nối đuôi xe kia trong đúng làn đường vì đơn giản mọi thành phần tham gia giao thông đều tuân thủ nguyên tắc trước sau (FIFO) và quy định đi đúng phần đường. Tuy nhiên trong một xã hội thiếu đồng bộ thì khi kẹt xe bạn có thể vác xe lên vai, hay phóng xe lên vỉa hè rồi tót lên trên, lao bừa vô hẻm, phân tích thiệt hơn chúng ta sẽ thấy sự ưu khuyết của hai quan điểm hành xử Asynchronous và Synchronous có phần mang tính hên xui và tùy tình huống ứng dụng

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Quản lý bộ nhớ chính

Bài gửi  NguyenXuanTri28 26/2/2012, 16:16

Trong hệ thống máy tính hiện đại, bộ nhớ chính là trung tâm của các thao tác, xử lý. Bộnhớ chính có thể xem như một mảng kiểu byte hay kiểu word. Mỗi phần tử đều có địa chỉ. Đó là nơi lưu dữ liệu được CPU truy xuất một cách nhanh chóng so với các thiết bị nhập/xuất. CPU đọc những chỉ thị từ bộ nhớ chính. Các thiết bị nhập/xuất cài đặt cơ chế DMA cũng đọc và ghi dữ liệu trong bộ nhớ chính. Thông thường bộ nhớ chính chứa các thiết bị mà CPU có thể định vị trực tiếp. Ví dụ CPU truy xuất dữ liệu từ đĩa, những dữ liệu này được chuyển vào bộ nhớ qua lời gọi hệ thống nhập/xuất.
Một chương trình muốn thi hành trước hết phải được ánh xạ thành địa chỉ tuyệt đối và nạp vào bộ nhớ chính.Khi chương trình thi hành, hệ thống truy xuất các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. Ngay cả khi tiến trình kết thúc , dữ liệu vẫn còn trong bộ nhớ cho đến khi một tiến trình khác được ghi chồng lên.
Hệ điều hành có những vai trò như sau trong việc quản lý bộ nhớ chính :
- Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và tiến trình nào đang 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.

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Đồng bộ và không đồng bộ I / O

Bài gửi  NguyenXuanTri28 26/2/2012, 16:17

Đồng bộ và không đồng bộ I / O
Có hai loại đầu vào / đầu ra (I / O) đồng bộ: đồng bộ I / O và không đồng bộ I / O. I / O không đồng bộ cũng được gọi như chồng chéo I / O.

Trong tập tin đồng bộ I / O, một thread bắt đầu một hoạt động I / O và ngay lập tức đi vào trạng thái chờ đợi cho đến khi yêu cầu I / O hoàn thành. Một thread thực hiện không đồng bộ tập tin I / O sẽ gửi một yêu cầu I / O để hạt nhân bằng cách gọi một chức năng thích hợp. Nếu yêu cầu được chấp nhận bởi hạt nhân, các chủ đề kêu gọi tiếp tục xử lý một công việc khác cho đến khi các tín hiệu hạt nhân để các chủ đề mà các hoạt động I / O hoàn thành. Sau đó nó làm gián đoạn công việc hiện tại và xử lý dữ liệu từ các hoạt động I / O là cần thiết.

Hai loại đồng bộ hóa được minh họa trong hình sau.



Trong tình huống mà một yêu cầu I / O dự kiến ​​sẽ mất một số lượng lớn thời gian, chẳng hạn như làm mới hoặc sao lưu dự phòng của một cơ sở dữ liệu lớn hoặc các thông tin liên lạc liên kết chậm, không đồng bộ I / O nói chung là một cách tốt để tối ưu hóa hiệu quả xử lý. Tuy nhiên, đối với tương đối nhanh I / O hoạt động, chi phí hạt nhân xử lý I / O yêu cầu và tín hiệu hạt nhân có thể không đồng bộ I / O ít mang lại lợi ích, đặc biệt nếu nhiều I / O nhanh chóng các hoạt động cần phải được thực hiện. Trong trường hợp này, đồng bộ I / O sẽ được tốt hơn. Các cơ chế và các chi tiết thực hiện như thế nào để thực hiện các nhiệm vụ khác nhau tùy thuộc vào loại thiết bị xử lý được sử dụng và nhu cầu cụ thể của ứng dụng. Nói cách khác, thường có nhiều cách để giải quyết vấn đề.

Đồng bộ và không đồng bộ I / O cân nhắc

Nếu một tập tin hoặc thiết bị được mở ra cho đồng bộ I / O (có nghĩa là, FILE_FLAG_OVERLAPPED không quy định), các cuộc gọi sau khi các chức năng như WriteFile có thể ngăn chặn thực hiện các luồng gọi cho đến khi một trong những sự kiện sau đây xảy ra:

Các hoạt động I / O hoàn thành (trong ví dụ này, một ghi dữ liệu).
Một lỗi I / O xảy ra. (Ví dụ, đường ống bị đóng lại từ đầu kia.)
Lỗi đã được thực hiện trong các cuộc gọi chính nó (ví dụ, một hoặc nhiều tham số không hợp lệ).
Một chủ đề khác trong quá trình này gọi CancelSynchronousIo chức năng bằng cách sử dụng xử lý các chủ đề Chủ đề bị chặn, chấm dứt I / O cho chủ đề đó, không hoạt động I / O.
Các chủ đề bị chặn là chấm dứt bởi hệ thống, ví dụ, quá trình tự nó chấm dứt, hoặc chủ đề khác gọi TerminateThread chức năng sử dụng xử lý các chủ đề bị chặn. (Điều này thường được coi là một phương sách cuối cùng và không phải thiết kế ứng dụng tốt.)
Trong một số trường hợp, sự chậm trễ này có thể là không thể chấp nhận được để thiết kế và mục đích của ứng dụng, vì vậy thiết kế ứng dụng nên xem xét việc sử dụng không đồng bộ I / O với các đối tượng đồng bộ hóa chủ đề thích hợp như cổng I / O hoàn thành. Để biết thêm thông tin về đồng bộ hóa thread, thấy Giới Đồng bộ hóa .
Một quá trình mở một tập tin cho không đồng bộ I / O trong cuộc gọi đến CreateFile bằng cách chỉ định lá cờ FILE_FLAG_OVERLAPPED trong tham số dwFlagsAndAttributes . Nếu FILE_FLAG_OVERLAPPED không quy định, các tập tin được mở ra cho đồng bộ I / O. Khi tập tin đã được mở cho không đồng bộ I / O, một con trỏ đến một cấu trúc chồng chéo thông qua vào cuộc gọi ReadFile và WriteFile . Khi thực hiện đồng bộ I / O, cấu trúc này là không cần thiết trong các cuộc gọi ReadFile và WriteFile.

Chú ý: Nếu một tập tin hoặc thiết bị được mở ra cho không đồng bộ I / O, các cuộc gọi sau khi các chức năng như WriteFile bằng cách sử dụng có thể xử lý thường trở lại ngay lập tức nhưng cũng có thể hành xử đồng bộ với sự tôn trọng để thực hiện chặn. Để biết thêm thông tin, hãy xem http://support.microsoft.com/kb/156932 .

Mặc dù CreateFile là chức năng phổ biến nhất để sử dụng cho các tập tin mở, số lượng đĩa, ống vô danh, và các thiết bị tương tự khác, I / O hoạt động cũng có thể được thực hiện bằng cách sử dụng một định kiểu xử lý từ các đối tượng hệ thống khác chẳng hạn như một ổ cắm được tạo ra bởi các ổ cắm hoặc chấp nhận chức năng.

Xử lý các đối tượng thư mục thu được bằng cách gọi CreateFile chức năng với các thuộc tính FILE_FLAG_BACKUP_SEMANTICS. Xử lý thư mục hầu như không bao giờ sử dụng sao lưu các ứng dụng là một trong những ứng dụng thông thường sẽ sử dụng chúng.

Sau khi mở tập tin đối tượng không đồng bộ I / O, chồng chéo cấu trúc phải được tạo ra, khởi tạo, và thông qua vào mỗi cuộc gọi đến các chức năng như ReadFile và WriteFile . Sau đây giữ trong tâm trí khi sử dụng cấu trúc chồng chéo trong không đồng bộ đọc và ghi các hoạt động:

Không deallocate hoặc sửa đổi các cấu trúc chồng chéo hoặc bộ đệm dữ liệu cho đến khi không đồng bộ tất cả các hoạt động I / O cho các đối tượng tập tin đã được hoàn thành.
Nếu bạn khai báo con trỏ của bạn để chồng chéo cấu trúc như là một biến địa phương, không thoát khỏi chức năng địa phương cho đến khi không đồng bộ tất cả các hoạt động I / O cho các đối tượng tập tin đã được hoàn thành. Nếu chức năng địa phương đã thoát sớm, cấu trúc chồng chéo sẽ đi ra khỏi phạm vi và nó sẽ không truy cập được bất kỳ ReadFile WriteFile chức năng nó gặp bên ngoài chức năng đó .
Bạn cũng có thể tạo ra một sự kiện và xử lý trong các cấu trúc chồng chéo , các chức năng chờ đợi sau đó có thể được sử dụng để chờ đợi cho các hoạt động I / O để hoàn thành bằng cách chờ đợi vào xử lý sự kiện.

Như đã nói, khi làm việc với một xử lý không đồng bộ, các ứng dụng nên sử dụng cẩn thận khi đưa ra quyết định về việc khi nào các tài nguyên miễn phí liên quan đến một hoạt động I / O quy định về xử lý đó. Nếu xử lý được deallocated sớm, ReadFile , WriteFile không chính xác có thể báo cáo rằng các hoạt động I / O hoàn thành. Hơn nữa, chức năng WriteFile đôi khi sẽ trở về TRUE với một GetLastError giá trị của ERROR_SUCCESS, mặc dù nó là sử dụng một xử lý không đồng bộ (mà cũng có thể trả về FALSE với ERROR_IO_PENDING ). Các lập trình quen với việc thiết kế I / O đồng bộ thường sẽ giải phóng tài nguyên bộ đệm dữ liệu vào thời điểm này bởi vì TRUE và ERROR_SUCCESS biểu hoạt động được hoàn tất. Tuy nhiên, nếu I / O cổng hoàn thành được được sử dụng này xử lý không đồng bộ, hoàn thành một gói cũng sẽ được gửi ngay cả khi hoạt động I / O hoàn thành ngay lập tức. Nói cách khác, nếu ứng dụng giải phóng tài nguyên sau khi trở về WriteFile TRUE với ERROR_SUCCESS ngoài cổng I / O thường xuyên hoàn thành, nó sẽ có một điều kiện lỗi double-. Trong ví dụ này, đề nghị sẽ cho phép các thói quen hoàn thành cổng hoàn toàn chịu trách nhiệm cho tất cả các hoạt động giải phóng tài nguyên đó.

Hệ thống không duy trì các con trỏ tập tin trên không đồng bộ xử lý để các tập tin và các thiết bị hỗ trợ con trỏ tập tin (có nghĩa là, tìm kiếm các thiết bị), do đó các vị trí tập tin phải được thông qua chức năng đọc và viết trong bù đắp các dữ liệu liên quan đến thành viên của các cấu trúc chồng chéo . Để biết thêm thông tin, xem WriteFile và ReadFile .

Tập tin con trỏ vị trí cho một xử lý đồng bộ được duy trì bởi hệ thống như dữ liệu được đọc hay viết và cũng có thể được cập nhật bằng cách sử dụng SetFilePointer hoặc SetFilePointerEx chức năng.

Một ứng dụng cũng có thể chờ đợi trong hồ sơ xử lý để đồng bộ hóa hoàn thành một hoạt động I / O, nhưng làm như vậy đòi hỏi phải hết sức thận trọng. Mỗi một hoạt động I / O bắt đầu, hệ điều hành bộ các tập tin xử lý cho nhà nước nonsignaled. Mỗi một hoạt động I / O được hoàn thành, hệ thống điều hành bộ xử lý tập tin để nhà nước báo hiệu. Vì vậy, nếu một ứng dụng bắt đầu I / O hoạt động và chờ đợi trên các tập tin xử lý, không có cách nào để xác định hoạt động kết thúc khi xử lý được thiết lập để nhà nước báo hiệu. Nếu một ứng dụng phải thực hiện đồng bộ nhiều hoạt động I / O trên một tập tin duy nhất, nên chờ xử lý sự kiện trong cấu trúc chồng chéo cụ thể cho từng hoạt động I / O, chứ không phải là xử lý tập tin phổ biến.

Hủy bỏ tất cả không đồng bộ đang chờ xử lý I / O hoạt động, sử dụng một trong hai:

CancelIo -chức năng này chỉ hủy bỏ các hoạt động do các chủ đề kêu gọi các tập tin xử lý theo quy định.
CancelIoEx chức năng này hủy bỏ tất cả các hoạt động do các chủ đề cho các tập tin xử lý theo quy định.
Sử dụng CancelSynchronousIo để hủy bỏ đang chờ xử lý đồng bộ các hoạt động I / O.

ReadFileEx và WriteFileEx chức năng cho phép một ứng dụng để chỉ định một thói quen để thực hiện ( xem FileIOCompletionRoutine) khi không đồng bộ yêu cầu I / O được hoàn thành

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Đồng bộ và không đồng bộ trong linux

Bài gửi  NguyenXuanTri28 26/2/2012, 16:18

Linux không đồng bộ I / O là một bổ sung tương đối gần đây cho nhân Linux. Đó là một tính năng tiêu chuẩn của hạt nhân 2.6, nhưng bạn có thể tìm thấy các bản vá lỗi cho 2,4. Ý tưởng cơ bản đa chức năng là cho phép một quá trình để bắt đầu một số hoạt động I / O mà không cần phải ngăn chặn hoặc chờ cho bất kỳ để hoàn thành. Tại một số thời gian sau đó, hoặc sau khi được thông báo về I / O hoàn thành, quá trình có thể lấy lại kết quả của I / O.
I / O mô hình
Trước khi đào sâu vào API đa chức năng, chúng ta hãy khám phá I / O mô hình khác nhau mà có sẵn trong Linux. Đây không phải là dự định như là một sự xem xét đầy đủ, mà là nhằm mục đích để trang trải các mô hình phổ biến nhất để minh họa cho sự khác biệt của họ từ không đồng bộ I / O. Hình 1 cho thấy mô hình đồng bộ và không đồng bộ, cũng như ngăn chặn và các mô hình non-blocking.

Hình 1. Đơn giản hóa ma trận cơ bản Linux mô hình I / O
( mediafire.com ym9gsr8x681xvms )

Mỗi của các mô hình I / O có các mô hình sử dụng được thuận lợi cho các ứng dụng cụ thể. Phần này một thời gian ngắn tìm hiểu mỗi một.
Đồng bộ ngăn chặn I / O
I / O-bound so với quy trình CPU-bound
Một quá trình I / O bị ràng buộc là một trong những thực hiện I / O hơn xử lý. Một quá trình CPU-bound xử lý hơn so với I / O. Linux 2.6 lên lịch và thực sự ủng hộ I / O-bị ràng buộc quá trình bởi vì họ thường bắt đầu một khối I / O và sau đó, có nghĩa là làm việc khác có thể có hiệu quả xen kẽ giữa chúng.
Một trong những mô hình phổ biến nhất là ngăn chặn các mô hình I / O đồng bộ. Trong mô hình này, các ứng dụng không gian người dùng thực hiện một cuộc gọi hệ thống là kết quả trong ứng dụng ngăn chặn. Điều này có nghĩa rằng các khối ứng dụng cho đến khi hệ thống gọi là đầy đủ (chuyển dữ liệu hoặc lỗi). Các ứng dụng gọi điện thoại trong một nhà nước mà nó tiêu thụ không có CPU và chỉ đơn giản là đang chờ đợi phản ứng, vì vậy nó rất hiệu quả từ một góc độ chế biến.
Hình 2 minh họa việc ngăn chặn mô hình I / O truyền thống, cũng là mô hình phổ biến nhất được sử dụng trong các ứng dụng hiện nay. Hành vi của nó là hiểu rõ, và sử dụng của nó là hiệu quả cho các ứng dụng điển hình. Khi read gọi hệ thống được gọi, các khối ứng dụng và bối cảnh chuyển sang hạt nhân . Đọc sau đó bắt đầu, và khi trở về phản ứng (từ thiết bị mà từ đó bạn đang đọc), dữ liệu được chuyển đến bộ đệm sử dụng không gian. Sau đó, ứng dụng được hết cấm read và đọc trở lại cuộc gọi ).

Hình 2. Điển hình dòng chảy của các mô hình đồng bộ I / O chặn
( mediafire.com 8qgog4b15ovzb13 )
Từ quan điểm của ứng dụng, read gọi kéo dài một thời gian dài. Tuy nhiên, trên thực tế, ứng dụng thực sự là bị chặn trong khi đọc là ghép với các công việc khác trong hạt nhân.
Đồng bộ non-blocking I / O
Một biến thể ít hiệu quả đồng bộ ngăn chặn được đồng bộ non-blocking I / O. Trong mô hình này, một thiết bị được mở ra như non-blocking. Điều này có nghĩa là thay vì hoàn thành một I / O ngay lập tức, một read có thể trả lại một mã lỗi chỉ ra rằng lệnh có thể không được hài lòng ngay lập EAGAIN ( EWOULDBLOCK hoặc EWOULDBLOCK), như thể hiện trong hình 3.

Hình 3. Điển hình dòng chảy của các mô hình đồng bộ I / O non-blocking
( mediafire.com ezkiebcbogj3x9z )
Hàm ý của non-blocking là một lệnh I / O có thể không được hài lòng ngay lập tức, đòi hỏi các ứng dụng thực hiện cuộc gọi rất nhiều để chờ đợi hoàn thành. Điều này có thể cực kỳ không hiệu quả bởi vì trong nhiều trường hợp ứng dụng phải bận rộn-chờ đợi cho đến khi dữ liệu có sẵn, hoặc cố gắng để làm công việc khác trong khi lệnh được thực hiện trong kernel. Như thể hiện trong hình 3, phương pháp này có thể giới thiệu độ trễ trong khoảng cách I / O bất kỳ bởi vì giữa các dữ liệu trở nên có sẵn trong hạt nhân và người sử read gọi điện thoại đọc để trả lại nó có thể làm giảm thông lượng dữ liệu tổng thể.
Không đồng bộ ngăn chặn I / O
Một mô hình ngăn chặn không ngăn chặn I / O với các thông báo ngăn chặn. Trong mô hình này, non-blocking I / O được cấu hình, và sau đó chặn cuộc gọi hệ thống select được sử dụng để xác định khi có bất kỳ hoạt động cho một mô tả I / O . Điều gì làm cho cuộc gọi select thú vị là nó có thể được sử dụng để cung cấp thông báo cho không chỉ mô tả một trong, nhưng nhiều người. Đối với mỗi mô tả, bạn có thể yêu cầu thông báo khả năng mô tả để ghi dữ liệu, tính sẵn có của dữ liệu đọc, và cũng có một lỗi đã xảy ra.

Hình 4. Dòng chảy của không đồng bộ ngăn chặn I / O mô hình điển hình (chọn )
( mediafire.com 51o4y3yrjv10m35 )
Vấn đề chính với các select cuộc gọi là nó không phải là rất hiệu quả . Trong khi đó là một mô hình thuận tiện cho việc thông báo không đồng bộ, sử dụng của nó đối với hiệu suất I / O là không nên.
Không đồng bộ non-blocking I / O (đa chức năng)
Cuối cùng, không ngăn chặn các mô hình I / O không đồng bộ là một trong những xử lý chồng chéo với I / O. Yêu cầu đọc trả về ngay lập tức, chỉ read được khởi xướng thành công. Các ứng dụng sau đó có thể thực hiện xử lý khác trong khi các hoạt động đọc nền hoàn tất. Khi read phản ứng đến, một tín hiệu hoặc gọi lại dựa trên một sợi có thể được tạo ra để hoàn tất giao dịch I / O.

Hình 5. Điển hình dòng chảy của các mô hình I / O không đồng bộ non-blocking
( mediafire.com qn0dr6is0mc2yb7 )
Các khả năng chồng chéo lên nhau tính toán và xử lý I / O trong một quá trình duy nhất có khả năng nhiều yêu cầu I / O khai thác khoảng cách giữa tốc độ xử lý và tốc độ I / O. Trong khi một hoặc nhiều chậm I / O yêu cầu đang chờ xử lý, CPU có thể thực hiện các nhiệm vụ khác hoặc, thường hơn, hoạt động trên đã hoàn thành I / O trong khi I / O khác khởi xướng.
Phần tiếp theo xem xét mô hình này tiếp tục, khám phá các API, và sau đó cho thấy một số các lệnh

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Ví dụ thêm về I/O đồng bộ và I/O không đồng bộ

Bài gửi  NguyenXuanTri28 26/2/2012, 16:18

+I/O đồng bộ:Với thiết bị bàn phím chương trình phải chờ người dùng bấm Yes hoặc No,với kết quả Yes hoặc No chương trình mới chạy tiếp.
+I/O không đồng bộ:khi người dùng nhập xong thì chương trình sẽ tự động xuất ra mà không cần phải hỏi ý kiến của người dùng.

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Những lợi ích khi Hệ Điều hành thực hiện cơ chế dual mode

Bài gửi  NguyenXuanTri28 26/2/2012, 16:36

* Lợi ích
Thứ 1 : Chống virus có hại thâm nhập và phá huỷ những phần quan trọng của hệ thống

Thứ 2 : Hạn chế bớt quyền của người dùng

Thứ 3 : Kiểm soát được tài nguyên đã sử dụng trên máy tính

Thứ 4 : Tăng tính bảo mật bởi của ai thì người đó biết

* Bất cập :
Thứ 1: bị hạn chế bớt một số quyền ở một số vùng đặt biệt (như khi cài phần mềm HĐH không cho phép cài ở chế độ user mode mà phải là monitor mode)

Thứ 2 : Tốn bộ nhớ vì phải chia sẻ qua lại giữa các người dùng

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Ngắt "cứng" và ngắt "mềm"

Bài gửi  NguyenXuanTri28 26/2/2012, 16:36

1, Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện
một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR –
Interrupt Service Routine).

2, Trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm
Ngắt mềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy
Khác với ngắt mềm, ngắt cứng không được khởi động bên trong máy tính mà do các
linh kiện điện tử tác đông lên hệ thống
3, hoạt động: Khi thực hiện lệnh gọi ngắt, CPU sẽ tìm kiếm trong bảng vector ngắt địa chỉ của chương trình phục vụ ngắt. Người sử dụng cũng có thể xây dựng môt chương trình cơ sở như các chương trình xử lý ngắt. Sau đó, các chương trình khác có thể gọi ngắt ra để sử dụng. Một chương trình có thể gọi chương trình con loại này mà không cần
biết địa chỉ của nó.

NguyenXuanTri28

Tổng số bài gửi : 39
Join date : 05/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Bổ sung " Tại sao cần phải đa dạng bộ nhớ và phân cấp bộ nhớ ?"

Bài gửi  BuiHuongTra(I12A) 26/2/2012, 22:44

NguyenVanBenI12C đã viết:Máy tính ngày nay có bộ nhớ nhỏ tốc độ cao gọi là cache, nơi mà dữ liệu được lưu trữ thường xuyên. Cache kết nối tới bộ nhớ lớn hơn - bộ nhớ chính, bộ nhớ có tốc độ tầm trung. Bộ nhớ này được bổ sung bởi 1 bộ nhớ phụ, kết hợp với hard disk và các phương tiện có thể tháo dời khác nhau (various removable media). Bằng việc sử dụng hệ thống phân cấp, 1 bộ nhớ có thể nâng cao tốc độ truy cập, chỉ sử dụng 1 số nhỏ chip tốc độ nhanh. Nó cho phép người thiết kế tạo ra máy tính hiệu suất chấp nhận được với giá thành hợp lý.

Đầu tiên , việc đa dạng bộ nhớ và phân cấp bộ nhớ mang lại hiệu quả cao trong quá trình tiết kiệm chi phí và giá thành của bộ nhớ.
Trong đó lợi ích quan trọng của bộ nhớ đệm nhanh(cache memory) và phân cấp bộ nhớ (THE MEMORY HIERARCHY)mang lại hiệu quả trong quá trình truy xuất dữ liệu.
  • Bộ nhớ đệm nhanh(cache memory)
: là một loại bộ nhớ nhỏ, tốc độ cao (đồng nghĩa với chi phí cao).Thường được sử dụng xuyên để truy cập dữ liệu,bộ xử lý sử dụng để lấy thông tin mà nó cần trong một khơảng thời gian ngắn
Có rất nhiều ví dụ xung quanh chúng ta.
VD:
Trong một ngôi nhà và những công cụ để trong gara và bạn cần sửa lại tầm hầm. Nó sẽ cần nhiều công cụ như: mũi khoan, bộ vặn đai ốc, cưa, ốc vít... Việc đầu tiên bạn nghĩ tới là đo và cắt các tấm gỗ, bạn chạy ra ngoài gara lấy cái thước đo từ kho lưu trữ, chạy xuống tầm hầm đo gỗ rồi quay trở lại nhà xe. Bỏ cái thước dây và lấy cái cưa sau đó trở lại tầng hầm với cái cưa và cắt gỗ. Bạn quyết định vặn ốc vít nối các mảnh gỗ lại. Bạn chạy lại gara để lấy khoan quay xuống tần hầm, khoan các lỗ để đặt ốc vít trở lại nhà để xe lấy cái vặn ốc, sau đó phát hiện ra là sai kích thước trở lại nhà để xe lấy cái khác và chạy lại. Bạn có làm theo cách này không? Nếu cần một cái vặn ốc có lẽ sẽ cần nhiều kích cỡ khác nhau tại sao không lấy toàn bộ những cái vặn ốc. Tiến thêm một bước tại sao không lấy một gói nhỏ bao gồm các công cụ cần thiết vào tầng hầm. Nó sẽ nhanh hơn rất nhiều. Bạn chỉ cần có bộ nhớ đệm. Một công cụ để dễ dàng truy cập và sử dụng nhanh chóng! Những công cụ mà bạn đang có ít có khả năng hơn để sử dụng vẫn còn được lưu giữ trong một địa điểm đó là đi xa hơn và đòi hỏi nhiều thời gian hơn để truy cập vào.
Đây là tất cả những gì mà bộ nhớ đệm phải làm, nó lưu trữ dữ liệu được truy cập và dữ liệu có thể được truy cập bởi CPU nhanh hơn và gần gũi hơn bộ nhớ. Bộ nhớ cache làm việc trên cùng một nguyên tắc cơ bản như là các ví dụ trước bằng cách sao chép dữ liệu thường xuyên được sử dụng vào bộ nhớ cache hơn là một đòi hỏi quyền truy cập vào bộ nhớ chính, để lấy các dữ liệu. Copy những dữ liệu cần sử dụng vào bộ đệm hơn là truy cập tới bộ nhớ chính để truy xuất dữ liệu. Bộ đệm có thể được tổ chức như cuốn sổ địa chỉ.
Phần Phân cấp bộ nhớ (THE MEMORY HIERARCHY ) như đã trình bày ở trên.


BuiHuongTra(I12A)

Tổng số bài gửi : 12
Join date : 16/02/2012
Age : 36
Đến từ : Phú Yên

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Cấu trúc đĩa cứng.

Bài gửi  dongocthien (I11C) 27/2/2012, 09:36

1. TRACK:

trên một mặt làm việc của đĩa từ chia ra nhiều vòng tròn đồng tâm tạo thành các track (rãnh) để xác định các vùng lưu trữ dữ liệu riêng biệt trên mặt

đĩa. Track trên ổ đĩa cứng

không cố định từ khi sản xuất, chúng có thể thay đổi vị trí khi định dạng cấp thấp ổ đĩa (low format)

2. SECTOR:

Mỗi track được chia thành những phần nhỏ bằng các đoạn hướng tâm tạo thành các sector (cung từ). Sector là đơn vị chứa dữ liệu nhỏ nhất. Theo

các chuẩn thông thường thì

một sector chứa (dung lượng) 512 byte. Số sector trên các track từ phần rìa đĩa vào đến trung tâm đĩa là khác nhau, các ổ đĩa cứng đều chia ra hơn

10 vùng mà trong mỗi vùng

có số sector/track bằng nhau

3. CLUSTER:

Trong lĩnh vực lưu trữ dữ liệu (đĩa mềm hoặc đĩa cứng) ở mức độ hệ điều hành (HĐH), cluster (liên cung) là một đơn vị lưu trữ gồm một hoặc nhiều

sector. Khi HĐH lưu trữ một

tập tin vào đĩa, nó ghi tập tin đó vào hàng chục, có khi hàng trăm cluster liền nhau. Nếu không sẵn cluster liền nhau, HĐH sẽ tìm kiếm cluster còn trống

ở kế đó và ghi tiếp tập tin

lên đĩa. Quá trình cứ thế tiếp tục như vậy cho đến khi toàn bộ dữ liệu được cất giữ hết.

4. CYLINDER

Tập hợp các track cũng bán kính ở các mặt đĩa khác nhau tạo thành các cylinder (trụ). Trên đĩa hai mặt, một cylinder sẽ bao gồm rãnh 1 của mặt trên

và rãnh 1 của mặt dưới.

Trên các đĩa cứng sắp xếp cái này chồng lên cái kia, một cylinder gồm các rãnh trên cả hai mặt của tất cả các đĩa. Trên một ổ đĩa cứng có nhiều

cylinder bởi có nhiều track trên

mỗi mặt của đĩa từ

dongocthien (I11C)

Tổng số bài gửi : 51
Join date : 27/08/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty KHÁI NIỆM VÀ PHÂN LOẠI NGẮT

Bài gửi  dongocthien (I11C) 27/2/2012, 09:39

1/ Khái niệm :
Mỗi khi một thiết bị phần cứng hay một chương trình cần đến sự giúp đỡ của CPU nó gửi đi một tín hiệu hoặc lệnh gọi là ngắt đến bộ vi xử lý chỉ định một công việc cụ thể nào đó mà nó cần CPU thực hiện .Khi bộ vi xử lý nhận được tín hiệu ngắt nó thường tạm ngưng tất cả các hoạt động khác và kích hoạt một chương trình con đang có trong bộ nhớ gọi là chương trình xử lý ngắt tương ứng với từng số liệu ngắt cụ thể .Sau khi chương trình xử lý ngắt làm xong nhiệm vụ, các hoạt động của máy tính sẽ tiếp tục lại từ nơi đã bị tạm dừng lúc xảy ra ngắt .
Ngắt (interrupt) là khả năng tạm dừng chương trình chính dể thực hiện chương trình khác gọi là chương trình con xử lý ngắt.
Ngắt có hai phần : hiệu số ngắt và chức năng ngắt. Hiệu số ngắt được gọi tắt là ngắt (như ngắt 10h , 20h ,21h) mỗi ngắt có nhiều chức ngăn khác nhau do thanh ghi AH quy định.

2/ Phân loại ngắt :
Có ba loại ngắt chính, đầu tiên là các ngắt được tạo ra bởi mạch điện của máy tính nhằm đáp lại một sự kiện nào đó như nhấn phím trên bàn phím ..Các ngắt này được bộ điều khiển ngắt 8259A quản lý , 8259A sẽ ấn định mức độ ưu tiên cho từng ngắt rồi gửi đến CPU .
Sau đó là các ngắt do CPU tạo ra khi gặp phải một kết quả bất thường trong khi thực hiện chương trình như chia cho 0 chẳng hạn ..
Cuối cùng là các ngắt do chính chương trình tạo ra nhằm gọi các chương trình con ở xa đang nằm trong ROM hoặc RAM, các ngắt này gọi là ngắt mềm chúng thường là bộ phận của các chương trình con phục vụ của ROM-BIOS hoặc của DOS.
Ngoài ba loại ngắt trên còn có loại ngắt đặc biệt là ngắt không bị che NMI đòi hỏi CPU phục vụ ngay khi có yêu cầu. Loại ngắt này thường được dùng để báo hiệu sự cố như sụt điệp áp hay lỗi bộ nhớ . Như vậy NMI là mức ngắt có độ ưu tiên cao nhất .
Các ngắt trong PC có thể chia thành 7 nhóm như sau :
- Các ngắt vi xử lý :Thường gọi là các ngắt logic được thiết kế sẵn trong bộ VXL Bốn trong số các ngắt này (0,1,3,4 ) do chính bộ VXL tạo ra còn ngắt 2 (NMI ) sẽ được kích hoạt khi có tín hiệu tạo ra bởi một trong các thiết bị ngoài.
- Các ngắt cứng : Ðược thiết kế sẵn trong phần cứng của của PC ,tám ngắt trong số các ngắt này (2,8,9,từ Bh đến Fh ) được gắn chết vào trong bộ VXL hoặc vào bảng mạch chính của hệ thống .Tất cả các ngắt cứng đều do 8259A điều khiển .
- Các ngắt mềm: Những ngắt này là một phần của các chương trình ROM -BIOS ,các số hiệu dành cho các ngắt của ROM- BIOS là 5 ,từ 10h đến 1C hex và 48h .
Ngoài ra còn có các ngắt DOS và ngắt BASIC phục vụ hệ điều hành DOS và chương trình BASIC .
- Các ngắt địa chỉ :Các số hiệu dành cho các ngắt này là từ 1Dhex đến 1Fhex . Ba trong số các ngắt này trỏ đến ba bảng rất quan trọngđó là bảng khởi tạo màn hình ,bảng cơ sở đĩa và bảng các ký tự đồ thị .Các bảng này chứa các tham số được ROM BIOS dùng khi khởi động hệthống và tạo các ký.
Nếu cùng một thời điểm có nhiều lệnh ngắt thuộc các ngắt khác nhau đòi hỏi CPU cùng xử lý thì CPU sẽ xử lý ngắt theo thứ tự ưu tiên vơi nguyên tắc ngắt nào có mức ưu tiên cao hơn sẽ được CPU nhận biết và phục vụ trước.

dongocthien (I11C)

Tổng số bài gửi : 51
Join date : 27/08/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Phân Biệt Ngắt Cứng & Ngắt Mềm

Bài gửi  dongocthien (I11C) 27/2/2012, 09:41

1/ Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR – Interrupt Service Routine).
2/ Trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm Ngắt mềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy. Khác với ngắt mềm, ngắt cứng không được khởi động bên trong máy tính mà do các linh kiện điện tử tác đông lên hệ thống.
3/ Hoạt động: Khi thực hiện lệnh gọi ngắt, CPU sẽ tìm kiếm trong bảng vector ngắt địa chỉ của chương trình phục vụ ngắt. Người sử dụng cũng có thể xây dựng môt chương trình cơ sở như các chương trình xử lý ngắt. Sau đó, các chương trình khác có thể gọi ngắt ra để sử dụng. Một chương trình có thể gọi c hương trình con loại này mà không cần biết địa chỉ của nó.

dongocthien (I11C)

Tổng số bài gửi : 51
Join date : 27/08/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty ĐỒNG BỘ VÀ KHÔNG ĐỒNG BỘ (SYNCHRONOUS & ASYNCHRONOUS)

Bài gửi  dongocthien (I11C) 27/2/2012, 09:46

Synchronous (đồng bộ) là khái niệm nói lên tính nguyên tắc, đòi hỏi các dữ liệu, tiến trình... có liên quan phải được kết nối, liên hệ theo một trình tự thực hiện, một định dạng,... cách thức cố định, không bao giờ thay đổi. Trong một chuỗi các hàm của một quy trình có “n” tác vụ, nếu nó được bảo là đồng bộ thì trình tự thực hiện các hàm đó sẽ không bao giờ thay đổi. Hàm A đã được thiết lập để được gọi và chạy trước hàm B thì dù có phải đợi dài cổ hàm B cũng phải chờ hàm A kết thúc mới được phép bắt đầu. Một dây chuyền sản xuất công nghiệp của một nhà máy có thể coi là một quá trình đồng bộ.

Asynchronous (không đồng bộ) là một khái niệm có thể nói là ngược lại với Synchronous. Nó nói lên sự thiếu chặt chẽ, tính liên kết yếu, quản lý vô cùng khó khăn tuy nhiên lại uyển chuyển và khả năng tùy biến cao. Trong một chuỗi các hàm của một quy trình có “n” tác vụ, nếu nó được bảo là bất đồng bộ thì có nghĩa là cho dù hàm B được gọi sau hàm A nhưng không ai đảm bảo được rằng hàm A sẽ phải kết thúc trước hàm B và hàm B bắt buộc phải chỉ được gọi chạy khi hàm A kết thúc.

Liên hệ thực tế. Trong một xã hội đồng bộ, kẹt xe xảy ra, xe nọ nối đuôi xe kia trong đúng làn đường vì đơn giản mọi thành phần tham gia giao thông đều tuân thủ nguyên tắc trước sau (FIFO) và quy định đi đúng phần đường. Tuy nhiên trong một xã hội thiếu đồng bộ thì khi kẹt xe bạn có thể vác xe lên vai, hay phóng xe lên vỉa hè rồi tót lên trên, lao bừa vô hẻm, phân tích thiệt hơn chúng ta sẽ thấy sự ưu khuyết của hai quan điểm hành xử Asynchronous và Synchronous có phần mang tính hên xui và tùy tình huống ứng dụng

dongocthien (I11C)

Tổng số bài gửi : 51
Join date : 27/08/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Nguyên lý lưu gần Caching

Bài gửi  dongocthien (I11C) 27/2/2012, 09:50

chương trình muốn được thực thi thì đầu tiên nó phải được nạp vào RAM .Sau đó mới được nạp vào các thanh ghi của CPU để thực thi với các tham số được lấy từ RAM.
Trước khi CPU thực thi các mã lệnh cửa chương trình thì nó sẽ kiểm tra xem trong bộ nhớ CPU đã thực thi (biên dịch ) các lệnh này chưa nếu rồi thì chỉ cần lấy ra không cần xử lý lại giúp tăng đáng kể tốc độ.
Theo nguyên tắc này thì trước khi thực thi HDH sẽ kiểm tra bộ nhớ gần nhất so với thiết bị mà nó đang thao tác. Những bộ nhớ này sẽ chứa các mã lệnh đã thực thi .
Ví dụ khi mua 1 CPU bên cạnh các thông số về tốc độ ta còn thấy thêm 1 số khác là CACHE , số này càng lớn thì máy càng nhanh. Sở dĩ bạn lướt web nhanh là do các web browser đã lưu lại 1 phần nội dung các website nên khi bạn vào lần sau sẽ load rất nhanh.
Hệ thống tên miền trên thế giới cũng áp dụng nguyên tắc này không những giúp tăng tố mà còn giảm tải cho các dns server. Thậm chí người ta còn xây dựng hẳn 1 cacheing server.
Bên cạnh bộ nhớ chính là bộ nhớ RAM thì HDH còn dùng thêm 1 loại bộ nhớ nữa là bộ nhớ ảo .Loại bộ nhớ này được lấy ra 1 phần từ dung lượng ổ cứng của chúng ta.Khi nào sử dụng hết RAM nó sẽ sử dụng sang bộ nhớ ảo này.

dongocthien (I11C)

Tổng số bài gửi : 51
Join date : 27/08/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Các tính chất của hệ điều hành

Bài gửi  lengocthuthao89 (i11c) 27/2/2012, 09:51

1. Tin cậy
Mọi hoạt động, mọi thông báo của HĐH đều phải chuẩn xác, tuyệt đối. chỉ khi nào biết chắc chắn là đúng thì HĐH mới cung cấp thông tin cho người sử dụng. Để đảm bảo được yêu cầu này, phần thiết bị kỹ thuật phải có những phương tiện hỗ trợ kiểm tra tính đúng đắn của dữ liệu trong các phép lưu trữ và xử lý. Trong các trường hợp còn lại HĐH thông báo lỗi và ngừng xử lý trao quyền quyết định cho người vận hành hoặc người sử dụng.
2. An toàn
Hệ thống pahỉ tổ chức sao cho chương trình và dữ liệu không bị xoá hoặc bị thay đổi ngoài ý muốn trong mọi trường hợp và mọi chế độ hoạt động. Điều này đặc biệt quan trọng khi hệ thống là đa nhiệm. Các tài nguyên khác nhau đòi hỏi những yêu cầu khác nhau trong việc đảm bảo an toàn.
3. Hiệu quả
Các tài nguyên của hệ thống phải đợc khai thác triệt để sao chon gay cả điều kiện tài nguyên hạn chế vẫn có thể giải quyết những yêu cầu phức tạp. Một khía cạnh quan trọng của đảm bảo hiệu quả là duy trì đồng bộ trong toàn bộ hệ thống, không để các thiết bị tốc độ chậm trì hoãn hoạt động của toàn bộ hệ thống.
4. Tổng quát theo thời gian
HĐH phải có tính kế thừa, đồng thời có khả năng thích nghi với những thay đổi cso thể cso trong tương lai. Tính thừa kế là rất quan trọng ngay cả với các hệ điều hành thế hệ mới. Đối với việc nâng cấp, tính kế thừa là bắt buộc. Các thao tác, thông báo là không được thay đổi, hoặc nếu có thì không đáng kể và phải được hướng dẫn cụ thể khi chuyển từ phiên bản này sang phiên bản khác, bằng các phương tiện nhận biết của hệ thống. Đảm bảo tính kế thừa sẽ duy trì và phát triển đội ngũ người sử dụng-một nhân tố quan trọng để HĐH có thể tồn tại. Ngoài ra người sử dụng cũng rất quan tâm, liệu những kinh nghiệm và kiến thức của mình về HĐH hiện tại còn được sử dụng bao lâu nữa. Khả năng thích nghi với những thay đổi đòi hỏi HĐH phải được thiết kế theo một số nguyên tắc nhất định.
5. Thuận tiện
Hẹ thống phải dẽ dàng sử dụng, có nhiều mức hiệu quả khác nhau tuỳ theo kiến thức và kinh nghiệm người dùng. Hệ thống trợ giúp phong phú để người sử dụng có thể tự đào tạo ngay trong quá trình khai thác.
Trong một chừng mực nào đó, các tính chất trên mâu thuẫn lẫn nhau. Mỗi HĐH có một giải pháp trung hoà, ưu tiên hợp lý ở tính chất này hay tính chất khác

lengocthuthao89 (i11c)

Tổng số bài gửi : 50
Join date : 13/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Ngắt cứng và ngắt mềm

Bài gửi  lengocthuthao89 (i11c) 27/2/2012, 09:54

1, Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện
một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR –
Interrupt Service Routine).
2, Trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm
Ngắt mềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy
Khác với ngắt mềm, ngắt cứng không được khởi động bên trong máy tính mà do các
linh kiện điện tử tác đông lên hệ thống
3, hoạt động: Khi thực hiện lệnh gọi ngắt, CPU sẽ tìm kiếm trong bảng vector ngắt địa chỉ của chương trình phục vụ ngắt. Người sử dụng cũng có thể xây dựng môt chương trình cơ sở như các chương trình xử lý ngắt. Sau đó, các chương trình khác có thể gọi ngắt ra để sử dụng. Một chương trình có thể gọi chương trình con loại này mà không cần
biết địa chỉ của nó.

lengocthuthao89 (i11c)

Tổng số bài gửi : 50
Join date : 13/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Quản lý bộ nhớ chính.

Bài gửi  lengocthuthao89 (i11c) 27/2/2012, 09:57

Trong hệ thống máy tính hiện đại, bộ nhớ chính là trung tâm của các thao tác, xử lý. Bộnhớ chính có thể xem như một mảng kiểu byte hay kiểu word. Mỗi phần tử đều có địa chỉ. Đó là nơi lưu dữ liệu được CPU truy xuất một cách nhanh chóng so với các thiết bị nhập/xuất. CPU đọc những chỉ thị từ bộ nhớ chính. Các thiết bị nhập/xuất cài đặt cơ chế DMA cũng đọc và ghi dữ liệu trong bộ nhớ chính. Thông thường bộ nhớ chính chứa các thiết bị mà CPU có thể định vị trực tiếp. Ví dụ CPU truy xuất dữ liệu từ đĩa, những dữ liệu này được chuyển vào bộ nhớ qua lời gọi hệ thống nhập/xuất.
Một chương trình muốn thi hành trước hết phải được ánh xạ thành địa chỉ tuyệt đối và nạp vào bộ nhớ chính.Khi chương trình thi hành, hệ thống truy xuất các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. Ngay cả khi tiến trình kết thúc , dữ liệu vẫn còn trong bộ nhớ cho đến khi một tiến trình khác được ghi chồng lên.
Hệ điều hành có những vai trò như sau trong việc quản lý bộ nhớ chính :
- Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và tiến trình nào đang 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.

lengocthuthao89 (i11c)

Tổng số bài gửi : 50
Join date : 13/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Trình bày nguyên lý lưu gần cache sử dụng trong máy tính. Nêu Ví dụ minh họa từ đời thường

Bài gửi  lengocthuthao89 (i11c) 27/2/2012, 10:00

Như định nghĩa mà các bạn đã thảo luận ở trên, Cache là bộ nhớ có khả năng truy xuất dữ liệu rất nhanh, nhưng vì lí do giá thành sản xuất rất đắt do đó Cache không được sử dụng làm bộ nhớ mà chỉ được dùng làm vùng nhớ đệm với dung lượng nhỏ, giúp CPU truy xuất nhanh hơn.
Khi CPU cần sử dụng thông tin trong khối nhớ nhiều lần thì lần đầu tiên CPU sẽ đọc thông tin trong bộ nhớ của máy và lưu khối nhớ đó vào Cache. Các lần đọc thông tin tiếp theo CPU sẽ không sử dụng thông tin trên bộ nhớ của máy, mà sẽ đọc khối nhớ trên Cache. Như vậy, sẽ tiết kiệm được thời gian truy xuất vào bộ nhớ chính, giúp CPU làm việc hiệu quả hơn.
Ví Dụ về cache trong đời thường rất đơn giản, bạn có thể bắt gặp ngay trong học tập. Trong một học kì, các bạn sẽ học một số môn và mỗi môn sẽ có tài liệu và sách vở riêng, bạn sẽ để các tài liệu này ở góc học tập của mình để phục vụ công việc học trong học kì. Các tài liệu và sách vở ở các học kì trước bạn sẽ cất đi vào một nơi khác(Chẳng hạn đóng gói vào thùng, bỏ vào gác xếp), xa góc học tập vì bạn sẽ không dùng đến.

lengocthuthao89 (i11c)

Tổng số bài gửi : 50
Join date : 13/09/2011

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Re: Thảo luận Bài 2

Bài gửi  NguyenHongHaiI12C 27/2/2012, 10:27

Nguyen Sy Hung I12A đã viết:Thảo luận Bài 2 - Page 6 Unleddbn
Theo mình thì hình đó là tiến trình 2 nhập xuất , còn 3 nhập xuất thì vẽ như vậy ko biết có đúng không các bạn góp ý dùm cảm ơn
Thảo luận Bài 2 - Page 6 Yeucau3nhapxuatgif




NguyenHongHaiI12C

Tổng số bài gửi : 48
Join date : 18/02/2012

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Quá trình khởi động máy tính và hệ điểu hành

Bài gửi  TranVanBao(I12A) 27/2/2012, 11:29

Đầu tiên ta bắt đầu bật công tắc Power On để khởi động máy tính
Bộ nguồn máy tính bắt đầu được cấp nguồn và thao tác đầu tiên của nó là bắt đầu thực thi bứoc đầu tiên trong giai đoạn POST (Power on selftest),nó sẽ đi kiểm tra các giá trị điện thế logic ở ngõ ra đã thực sự ổn định chưa +5v ,-5v,+12v,-12v ,đúng chưa .Giai đoạn mà nó tự đi POST ,nguồn này sẽ diễn ra rất nhanh ,khoảng từ 0.5-2 giây .Nếu trong quá trình kiểm tra có sự cố thì nó sẽ không cấp nguồn cho mainboard nữa và có thể treo máy luôn hoặc dùng tín hiệu âm thanh (Error Sound Code) để báo cho ta biết .Nếu như quá trình kiểm tra tốt không có chuyện gì thì lúc này nó sẽ gửi tín hiệu báo nguồn tốt PG (Power good signal),tín hiệu này sẽ kích vào một mạch định thời gian Timer Microcontroller trên main ,cấp nguồn cho CPU và bắt đầu ở vào trạng thái sẳn sàng làm việc .
Sau khi được cấp nguồn ,công việc đầu tiên CPU đi thực thi là nó sẽ tiến hành đi đọc ROM Bios .Như vậy lúc này có thể nói Rom Bios đóng vai trò là người dẫn đường đầu tiên cho CPU trong quá trình khởi động .
BIOS sẽ thực thi các công việc theo thứ tự liên tục sau đây:
-Kiểm tra các thông số cài đặt của người sử dụng lưu trong CMOS.
-Nạp bộ điều khiển ngắt và các Driver của thiết bị.
-Khởi tạo các Register và bộ quản lý nguồn Power Management.
-Kiểm tra các thiết bị phần cứng với POST(kiểm tra tất cả các thiết bị phần cứng khác nhau trên hệ thống để đảm bảo mọi thứ đều làm việc ổn định)
-Nạp các cấu hình hệ thống.
-Quyết định xem thiết bị nào có thể khởi động.
Thường thì ổ đĩa cứng của máy tính sẽ được kích hoạt đầu tiên. Trong hầu hết các máy tính hiện nay, khi máy tính kích hoạt ổ đĩa cứng nó sẽ gặp phần đầu tiên của hệ điều hành : Bootstrap Loader.
Bootstrap Loader là một chương trình nhỏ có một chức năng duy nhất là tải hệ điều hành vào trong bộ nhớ và cho phép nó bắt đầu hoạt động. Theo hình thức cơ bản nhất thì Bootstrap Loader thiết lập chương trình nhỏ điều khiển các phần cứng khác nhau của máy tính. Nó cài đặt các phần bộ nhớ nắm giữ hệ điều hành, thông tin người sử dụng và các ứng dụng. Nó thiết lập cấu trúc dữ liệu chứa vô số tín hiệu, cờ ... được dùng để kết nối giữa các hệ thống nhỏ và các ứng dụng của máy tính. Sau đó chuyển quyền điều khiển máy tính cho hệ điều hành. Và các chức năng sau đó của hệ điều hành thì các bạn đã biết.

TranVanBao(I12A)

Tổng số bài gửi : 21
Join date : 15/02/2012

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 6 Empty Re: Thảo luận Bài 2

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Trang 6 trong tổng số 9 trang Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết