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 9 trong tổng số 9 trang Previous  1, 2, 3, 4, 5, 6, 7, 8, 9

Go down

Thảo luận Bài 2 - Page 9 Empty Thuật giải deadlock

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:40

#include “prototype.h”

#define N 10 /* Số tiến trình */
#define M 20 /* Số loại tài nguyên */

int Available [M];
int Allocation [N][M];
int Request [N][M];

/* Available[j]=k – Số phiên bản của tài nguyên Rj */
/* Allocation [i, j] = k – Pi đang giữ k phiên bản Rj */
/* Request [i, j] = k – Pi yêu cầu k phiên bản Rj */

int Work [M];
/* Work=Available Allocation[i1] Allocation[i2] ....*/
Boolean Finish [N];
int i, j;



/* Có Deadlock ? */
Boolean IsDeadlockState ( void ) {
Work = Available;
Finish [j] = false vớii j = 0, 1, ... , N-1;
while ( $ i : Finish[i] = false và Request[i]<=Work){
Work = Work Allocation [i];
Finish [i] = true;
}

if ( Finish [i] == true với i )
return (false);/* Không có Deadlock */
else
return (true); /* Có Deadlock */
/* Nếu Finish[i] = false thì Pi bị Deadlock */

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Giải thích code

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:41

#define BUFFER_SIZE 50
//Định ngĩa mảng Buffer_size với số phần tử =50;
HANDLE semEmpty ,semFull;
//Khai báo 2 đèn hiệu semEmpty và semFull có kiểu dữ liệu HANDLE
semEmpty=CreateSemaphore(0,BUFFER_SIZE,BUFFER_SIZE,"SemEmpty")
/*Hàm này tạo đèn hiệu có tên SemEmpty với giá trị ban đầu và giá trị tối đa = Buffer_size. Sau khi đèn hiệu này được tạo thì mục quản của nó được giữ bởi biến semEmpty được khai báo ở trên.*/
semFull =CreateSemaphore(0,BUFFER_SIZE,BUFFER_SIZE," semFull ")
/*Hàm này tạo đèn hiệu có tên semFull với giá trị ban đầu và giá trị tối đa = Buffer_size. Sau khi đèn hiệu này được tạo thì mục quản của nó được giữ bởi biến semFull được khai báo ở trên.*/
WaitForSinglePbject(semEmpty,INFINITE);
//chờ mãi mãi cho tới khi đèn hiệu SemEmpty bật xanh
Printf("semEmpty Handle=%d",semEmpty);
//in mục quản của đèn hiệu semEmpty ra màn hình
WaitForSinglePbject(semFull,INFINITE);
//chờ mãi mãi cho tới khi đèn hiệu semFull bật xanh
Printf("semEmpty Handle=%d", semFull);
//in mục quản của đèn hiệu semFull ra màn hình

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Phân biệt master boot record & boot record

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:42

- Master Boot Record: là 512 Bytes đầu của ổ đĩa vật lý. Chứa chương trình Khởi động, đọc bảng mô tả các Partition trên đĩa, tìm Active Partition, chọn HĐH, chuyển điều khiển cho chương trình trong Boot Record của Partition vừa chọn.
- Boot Record: là 512 Bytes đầu của ổ đĩa luận lý hay một Partition. Chứa lệnh nhảy đến đầu đoạn mã boot của Boot Record, tên và số hiệu phiên bản HĐH, Serial number, Volume label, đoạn mã dùng nạp HĐH từ đĩa ….

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty PHân biệt Basic Disk & Dynamic Disk

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:44

- Một Basic Disk là một ổ cứng vật lý bao gồm các phân vùng chính (Primary Partition), các phân vùng mở rộng (Extended Partition) hoặc các ổ đĩa luận lý (Logical Drive). Các phân vùng và các ổ đĩa luận lý trên các basic disk còn được hiểu như là các Basic Volume.
Số phân vùng (Partition) ta tạo trên một Basic disk tuỳ thuộc vào loại phân vùng của ổ đĩa (Disk’s Partition Type).
 Đối với MBR (Master Boot Record) disks, chúng ta có thể tạo được nhiều nhất 4 phần vùng chính (Primary Partition), hoặc 3 phân vùng chính và một phân vùng mở rộng (Extended Partion). Trong phân vùng mở rộng ta có thể tạo vô hạn các ổ đĩa luận lý (Logical Drive).
 Đối với GPT (GUIDs Partition Table) disks, chúng ta có thể tạo lên đến 128 phân vùng chính (Primary Partition). Bởi vì GPT disks không giới hạn 4 phân vùng chính nên chúng ta không cần tạo phân vùng mở rộng hay các ổ đĩa luận lý.
- Một Dynamic Disk cung cấp các tính năng mà Basic Disk không có, như khả năng tạo những volume mở rộng trên nhiều ổ đĩa vật lý (Spanned and Striped Volumes) và khả năng tạo ra những volume Fault Tolerance (Mirrored and Raid-5 Volumes). Các volume trên Dynamic Disk ta gọi là Dynamic Volumes, và một Dynamic Disk có thể hỗ trợ lên tới 2000 Volume trên một ổ đĩa (dù vậy Microsoft đã giới thiệu số lượng Dynamic Volumes là 32 hoặc ít hơn trên một ổ đĩa). Có 5 loại Dynamic Volume là: Simple, Spanned, Stripped, Mirrored và Raid-5. Trong đó Mirrored và Raid-5 chỉ chạy trên máy tính có hệ điều hành Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server, or Windows XP….

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Thuật toán dẫn đến Deadlock

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:44

Consumer
Code:
while(1){
wait(semFull);
wait(critSec);
// Lấy sản phẩm từ Buffer
signal(semEmpty);
signal(critSec);
}

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Thuật toán dẫn đến Deadlock (dành cho producer)

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:45

Producer
Code:
while(1){
wait(semEmpty);
wait(critSec);
// Đưa sản phẩm vào Buffer
signal(semFull);
signal(critSec);
}

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Giải thích code hiền triết cùng ăn

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:46

Code (Hiền triết cùng ăn):

#define n 5 // số hiền triết là 5
#define LEFT id // id là số hiệu nhà hiền triết
#define RIGHT (id+1) % n

semaphore chopsticks[n];

// Nghĩ
wait(chopsticks[LEFT]); // Tìm cách nhấc đũa Trái
wait(chopsticks[RIGHT]); // Tìm cách nhấc đũa Phải
// Ăn
signal(chopsticks[LEFT]); // Đặt đũa Trái xuống
signal(chopsticks[RIGHT]); // Đặt đũa Phải xuống


#define n 5 // số hiền triết là 5
#define LEFT id // id là số hiệu nhà hiền triết
#define RIGHT (id+1) % n

semaphore chopsticks[n];
semaphore cs[2]; // Mảng trung gian

// Nghĩ
cs[0]=chopsticks[LEFT]; // Gửi mục quản của đèn bên Trái vào cs[0]
cs[1]=chopsticks[RIGHT]; // Gửi mục quản của đèn bên Phải vào cs[1]
wait(cs); // Chờ đến khi cả 2 đèn Trái-Phải có màu Xanh
// Ăn
signal(chopsticks[LEFT]); // Đặt đũa Trái xuống
signal(chopsticks[RIGHT]); // Đặt đũa Phải xuống

Code (Sản xuất - Tiêu thự):

#define BUFFER_SIZE 10 // Khai bao kich thuoc bo dem
HANDLE semEmpty, semFull; // hai den hieu
CRITICAL_SECTION critSec; // bien kieu Mutex

// ... Sản xuất

// Chờ đến khi có chỗ trống
WaitForSingleObject(semEmpty, INFINITE);
EnterCriticalSection(&critSec) // vào đoạn tương tranh
// Tăng (semFull) lên 1
ReleaseSemaphore(semFull, 1, NULL);
LeaveCriticalSection(&critSec) // rời khỏi đoạn tương tranh

// ... Tieu thu

// Chờ đến khi có sản phẩm
WaitForSingleObject(semFull, INFINITE);
EnterCriticalSection(&critSec) // Vào đoạn tương tranh
ReleaseSemaphore (semEmpty, 1, NULL) // Tăng (semEmpty) lên 1
LeaveCriticalSection(&critSec); // Rời khỏi đoạn tương tranh
// ... Tiêu thụ (nextConsumed)

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

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

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:49

PhamQuangHien_I12A đã viết:cách nhận biết bad sector ?
1. Trong lúc đang cài đặt Windows hệ thống bị treo mà không hề xuất hiện một thông báo lỗi nào (đĩa cài đặt Windows vẫn còn tốt), mặc dù vẫn có thể dùng Partition Magic phân vùng cho HDD một cách bình thường.

2. Không Fdisk được: Khi Fdisk báo lỗi No fixed disk present (đĩa cứng hiện tại không thể phân chia) hoặc Fdisk được nhưng rất có thể máy sẽ bị treo trong quá trình Fdisk.

3. Không format được HDD: Khi tiến hành format đĩa cứng máy báo lỗi Bad Track 0 - Disk Unsable.

4. Khi đang format thì máy báo Trying to recover allocation uint ***x. Lúc này máy báo cho ta biết cluster ***x bị hư và nó đang cố gắng phục hồi lại cluster đó, nhưng thông thường cái ta nhận được là một bad sector!

5. Đang chạy bất kỳ ứng dụng nào, nhận được một câu thông báo như Error reading data on driver C:, Retry, Abort, Ignore, Fail? Hoặc Sector not found on driver C:, Retry, Abort, Ignore, Fail? Hoặc A serious error occur when reading driver C:, Retry or Abort ?.

6. Khi chạy Scandisk hay NDD (Norton Disk Doctor) hay bất kỳ phần mềm kiểm tra bề mặt đĩa (surface scan) nào, ta sẽ gặp rất nhiều bad sector.

CÁCH KHẮC PHỤC:

- Cách 1: Dùng Partition Magic cắt bỏ chổ bad.

Thực hiện như sau:

Đầu tiên dùng chương trình NDD, khởi động hệ thống từ đĩa Hiren’s Boot, ở menu của chương trình chọn mục 6. Hard Disk Tools, chọn tiếp 6. Norton Utilities, chọn 1. Norton Disk Doctor.

Sau khi dùng NDD xác định được vị trí bị bad trên HDD, tiến hành chạy chương trình Partion Magic cắt bỏ phần bị bad.

Ví dụ: Khoảng bị bad từ 6.3 GB đến 6.6 GB, bạn chia lại partition, chọn partition C đến 6 GB, partition D bắt đầu từ 7 GB, cứ như thế bạn tiến hành loại bỏ hết hẳn phần bị bad (đừng hà tiện!). Cách này thủ công nhưng sử dụng rất hiệu quả, tuy nhiên nó chỉ khắc phục khi đĩa cứng của bạn có số lượng bad thấp.

- Cách 2: Dùng chương trình HDD Regenerator:

Thông thường nhà sản xuất luôn để dự phòng một số sector trên mỗi track hoặc cylinder, và thực chất kích thước thực của sector vẫn lớn hơn 512 bytes rất nhiều (tùy loại và hãng đĩa). Như thế nếu như số sector bị bad ít hơn số dự phòng còn tốt thì lúc này có thể HDD Regenerator sẽ lấy những sector dự phòng còn tốt đắp qua thay cho sector bị hư, như vậy bề mặt đĩa sẽ trở nên “sạch” hơn và tốt trở lại. Dĩ nhiên nếu lượng bad sector nhiều hơn sector dự phòng thì ổ cứng sẽ còn một ít bad. Bạn có thể quay lại cách 1.

Cách thực hiện: Khởi động hệ thống từ đĩa Hiren’s Boot. Cửa sổ đầu tiên xuất hiện, chọn 6. Hard Disk Tools, chọn tiếp 2. HDD Regenerator, bấm phím bất kỳ để xác nhận. Kế đến ở dòng Starting sector (leave 0 to scan from the beginning) gõ vào dung lượng lớn nhất hiện có của HDD, gõ xong bấm Enter để chương trình thực hiện. Thời gian chờ, tùy thuộc vào dung lượng đĩa và số lượng bad.....

Cảm ơn bài viết hay của bạn , nhưng có hình minh họa thì sẽ tuyệt vời hơn cheers

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Thuat toan đen tin hiệu

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:51

Giai thuật đèn hiệu Semaphore
typedef int semaphore;
wait (semaphore S)
{ while ( S <= 0 );
S --;}
// Hàm signal được viết lại như sau:
signal (semaphore S)
{ S =S++;}

Bài 1: đồng bộ P1 tới trước báo hiệu P2 và P3 cùng chạy sau P1.
Ta có: P1 có mã S1, P2 có mã S2, P3 có mã S3. Cần tổ chức để S2 và S3 thi hành sau S1
Sử dụng 1 đèn hiệu duy nhất Semaphore synch=0


signal (semaphore S,int i)
{ S =S+i;}
Tại thời điểm ban đầu: P1 đang thực hiện lệnh S1, lúc này synch=0
 Khi tiến trình P2 được thực hiện, thì P2 sẽ bị khóa tại hàm wait(synch) do synch=0 cho đến khi synch>0.
 Tương tự, khi tiến trình P3 được thực hiện, thì cũng như P2, P3 sẽ bị khóa tại hàm wait(synch) do synch=0 cho đến khi synch>0. Do đó, S2 và S3 chỉ được thực hiện khi S1 thực hiện xong.
Khi tiến trình P1 được thực hiện, lệnh S1 được thi hành xong, rồi đến lệnh signal (synch,2) lúc này synch được tăng lên 2.
 Khi synch=2, tiến trình P2 được thực hiện và hàm wait(synch) sẽ giảm giá trị synch xuống 1 đơn vị (synch=1). Đồng thời, hàm wait(synch) của tiến trình P3 có thể được thực hiện trước khi S2 được thực hiện, hàm wait này sẽ giảm giá trị synch xuống một đơn vị (synch = 0), rồi lần lượt S2 , S3 được thi hành.
--> Luôn đảm bảo quy tắc S1 đi trước S2 và S3.

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Thuat toan đen tin hiệu

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:54

Bài : Đồng bộ P1 trước P2 và P2 trước P3
Ta có: P1 có mã S1, P2 có mã S2, P3 có mã S3. Cần tổ chức để S1 và S2 thi hành trước S3. Sử dụng 2 đèn hiệu: Semaphore synch1=0, synch2=0.



Tại thời điểm ban đầu: P1 đang thực hiện lệnh S1, lúc này synch1=0,
Khi tiến trình P2 được thực hiện, thì P2 sẽ bị khóa tại hàm wait(synch1) do synch1=0 cho đến khi synch1>0.
Tương tự, khi tiến trình P3 được thực hiện, thì cũng như P2, P3 sẽ bị khóa tại hàm wait(synch2) do synch2=0 cho đến khi synch2>0. Do đó, S2 và S3 chỉ được thực hiện khi S1 thực hiện xong.

Khi tiến trình P1 được thực hiện, lệnh S1 được thi hành xong, rồi đến lệnh signal (synch1) lúc này synch1 được tăng lên 1 (synch1=1).

Khi synch1=1, tiến trình P2 mở khóa tại hàm wait(synch1) và hàm wait(synch1) sẽ giảm giá trị synch1 xuống 1 đơn vị (synch1=0), tiếp tục S2 được thực hiện, sau khi S2 thực hiện xong, lệnh signal(synch2) sẽ tăng lên 1 (synch2=1).

Khi synch2=1, tiến trình P2 chạy hoàn tất, P3 sẽ được mở khóa tại hàm wait(synch2) và thực thi lệnh S3

--> Luôn đảm bảo quy tắc S1 trước S2 và S2 trước S3.Thảo luận Bài 2 - Page 9 93796428

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

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

Bài gửi  HuynhMinhChanh(i91C) 14/4/2012, 01:58

Bài Đồng bộ P1 và P2 tới trước P3
Ta có: P1 có mã S1, P2 có mã S2, P3 có mã S3. Cần tổ chức để S1 và S2 thi hành trước S3. Sử dụng 1 đèn hiệu duy nhất Semaphore synch=-1
Thảo luận Bài 2 - Page 9 60620990

Khi synch=-1, khi P1 làm xong trước, thi synch=0, và P2 làm xong thì synch=1. Lúc này P3 mới được vào làm, sẽ đảm bảo S1 và S2 luôn trước S3
Khi synch=1, tiến trình P3 được thực hiện và hàm wait(synch) sẽ giảm giá trị synch xuống 1 đơn vị (synch=0), và thi hành lệnh S3
--> Luôn đảm bảo quy tắc S1 và S2 trước S3.

HuynhMinhChanh(i91C)

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

Về Đầu Trang Go down

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

Bài gửi  HUYNHDUCANHI12A 21/4/2012, 18:13

Admin đã viết:Thảo luận những vấn đề liên quan đến Bài 2
Bài 2 không thấy bài nào mà các bạn post lên mà thầy hồi âm sửa sai. Sad

HUYNHDUCANHI12A

Tổng số bài gửi : 31
Join date : 07/03/2012

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Nguyên lý họat động của máy tính

Bài gửi  ĐoànMinhQuangI12A 25/4/2012, 10:45

A.Cấu trúc máy tính :
Về cơ bản tất cả các hệ thống máy tính đều có các bộ phận cơ bản sau :
- CPU : Bộ xử lý trung tâm
- Bộ nhớ trong : ROM& RAM
- Bộ nhớ ngoài : Backing Storage
- Các thiết bị nhập :Input Unit
- Các thiết bị xuất : Output Unit
1. Bộ xử lý trung tâm : CPU:
Đây là bộ não của máy tính , nó thực hiện hầu hết các phép toán số học và logic
CPU được chia làm các bộ phận sau :
a, Khối xử lý các phép toán số học và logic ( Athimetic Logic Unit ) : ALU
- Thực hiện các phép toán số học : +, - , x , : ....
- Thực hiện các phép toán so sánh : > , < ,≥, ≤ , #,=....
-Thực hiện các phép toán login : and , or , xor , not ...
b, Khối điều khiển : (Control Unit ) : CU
Khối này có chức năng thực hiện tuần tự các phép tính :
VD : Cho X=2, Y= 5 , X= X+Y , Y=X.Y, X=X+Y
Theo các bạn KQ là gì ? X=42, Y=35
2.Bộ nhớ trong (ROM&RAM)
Được chia làm các ô nhớ hình mắt lưới .Mỗi ô nhớ có dung lượng 1 byte và được dùng để lưu trữ 1 ký tự .
Bô nhớ trong được chia làm 2 loại như sau :
a, Bộ nhớ chỉ đọc : ROM
Đây là bộ nhớ được các nhà sản xuất máy tính thiết lập ra .Người sử dụng chỉ có thể sử dụng dữ liệu trong bộ nhớ này chứ không thể thay đổi được dữ liệu trong nó .Khi tắt máy hoặc mất điện dữ liệu trong ROM không bị mất đi
VD: Bios ROM Basic Input Output System Read Only Memmory ) :Bộ nhớ chỉ đọc điều khiển các thiết bị vào ra cơ bản của hệ thống máy tính .
b,Bộ nhớ truy cập ngẫu nhiên RAM:
Người sử dụng có thể hoàn toàn thay đổi được dữ liệu bên trong bộ nhớ này nhưng khi mất điện hoặc tắt máy dữ liệu trong RAM sẽ bị mất đi .
3.Bộ nhớ ngoài :
Là bộ nhớ có dung lượng rất lớn dùng để lưu trữ những dữ liệu có dung lượng lớn như các bộ cài đặt ,các phần mềm ứng dụng ,tiện ích ..vv..Người sử dụng có thể thay đổi dữ liệu bên trong bộ nhớ này nhưng khi tắt máy hoặc mất điện dữ liệu không bị mất đi .Tuy vậy bộ nhớ ngoài có tốc độ truy cập chậm hơn bộ nhớ trong nhưng giá thành lại rẻ hơn rất nhiều lần .
VD : HDD, FDD, ODD, USB ,....
4.Các thiết bị nhập :
Là những thiết bị dùng để nhập dữ liệ vào máy tính .
VD : Key , Mouse, Webcam,...
5.Các thiết bị xuất : Là các thiết bị dùng để xuất dữ liệu ra ngoài sau khi đã đựợc xử lý :
VD : Màn hình, Máy in , ....
B. Các thành phần của máy tính :
Máy tính được chia làm 3 thành phần cơ bản sau :
- Hardware
- Software
- Firmware
a.Hardware : Đây là những phần mà ta có thể nắm bắt được .(Chắc vì vậy nên người ta gọi là phần cứng )
b.Software
Là phần mềm do trí tuệ con người tạo ra nhằm phục vụ cho mục đích sử dụng của con người
Nó bao gồm :
- Appication Software : Phần mềm ứng dụng : Là phần mềm phục vụ cho một mục đích chuyên biệt nào đó VD: Word ,Execl....
- Utilit Software :Phần mềm tiện ích :Là phần mềm mang lại lợi ích cho người sử dụng trong việc quản lý hệ thống máy tính như việc quản lý ổ đĩa , thư mục , file ...VD .NC, NU , Norton Ghost , Pq Magic , Dm ....
- Hệ điều hành :Operating System :
Là phần mềm để khởi động máy tính ,kết nối các thiết bị ngoại vi và còn là môi trường để các phần mềm khác chạy trong nó
- Các ngôn ngữ lập trình : Progamming langueges :
Đây là những phần mềm để tạo ra những phần mềm kể trên , có 2 loại ngôn ngữ lập trình
- Low level langueges : Ngôn ngữ lập trình bậc thấp
- High Level : Ngôn ngữ lập trình bậc cao
c.Firmware : Phần sụn : Là phần để kết nối giữa phần cứng và phần mềm . VD CMOS

ĐoànMinhQuangI12A

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Nguyên tắc xử lý ngắt của hệ điều hành

Bài gửi  PhamQuangHien_I12A 1/5/2012, 23:28

Gồm có 2 loại Ngắt chính: Ngắt cứng và Ngắt mềm
+ 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) 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ụ yêu cầu thực hiện 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 (Vecto 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)

->Tóm lại có thể hiểu như sau:
+ Tín hiệu ngắt cứng là tín hiệu phát ra từ phần cứng của máy tính ví dụ như là tín hiệu của Ram khi bị duml hoặc là hư hỏng
+ Tín hiệu ngắt mềm là tín hiệu phát ra từ chương trình ứng dụng khi người dùng làm việc, ví dụ như là một cảnh báo hay là thông báo lỗi , như chúng ta copy 1 file dữ liệu có dung lượng quá lớn như 600MB vào USB có dung lượng 2GB nhưng USB chỉ còn không gian lưu là 300MB chẳng hạn thì lúc đó sẽ xãy ra một thông báo của chương trình nói là không đủ bộ nhớ để lưu file.

PhamQuangHien_I12A

Tổng số bài gửi : 62
Join date : 22/02/2012
Age : 35
Đến từ : Quãng Ngãi

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Phân biệt hai phương thức I/O đồng bộ và không đồng bộ

Bài gửi  LeMinhDuc (I11C) 2/5/2012, 16:20

- 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.

LeMinhDuc (I11C)

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty tiến trình của windown

Bài gửi  hoxuanvu_I12A 21/5/2012, 10:01

Như thầy đã giảng trên lớp tiếng trình đầu tiên trong linux là INIT . Tiến trình đầu tiên của windowns là BIOS .
BIOS ở đây là viết tắt của cụm từ tiếng Anh (Basic Input/Output System) có nghĩa là Hệ thống xuất nhập cơ bản. BIOS nằm bên trong máy tính cá nhân, trên bo mạch chính. BIOS được xem như là chương trình được chạy đầu tiên khi máy tính khởi động. Chức năng chính của BIOS là chuẩn bị cho máy tính để các chương trình phần mềm được lưu trữ trên các thiết bị lưu trữ (chẳng hạn như ổ cứng, đĩa mềm và đĩa CD) có thể được nạp, thực thi và điều khiển máy tính. Quá trình này gọi là khởi động.

Thuật ngữ này xuất hiện lần đầu trong hệ điều hành CP/M, là phần CP/M được tải lên trong suốt quá trình khởi động, tương tác trực tiếp với phần cứng (các máy CP/M thường có duy nhất một trình khởi động trong ROM). Các phiên bản nổi tiếng của DOS có một tập tin gọi là "IBMBIO.COM" hay "IO.SYS" có chứng năng giống như BIOS CP/M.

Tuy nhiên, thuật ngữ BIOS ngày nay chỉ một chương trình phần mềm khác được chứa trong các chip có sẵn trên bản mạch chính như PROM, EPROM và nó nắm giữ các chức năng chuẩn bị cho máy đồng thời tìm ra ổ nhớ cũng như liên lạc và giao sự điều hành máy lại cho hệ điều hành.

BIOS cũng là bộ phận chuẩn của máy tính. Một máy tính có thể thiếu màn hình, bàn phím, chuột, ổ cứng, ... nhưng không thể thiếu BIOS.
Cách vận hành của BIOS
BIOS được chứa sẵn (thường ở dạng nén dữ liệu) trong các con chip như là PROM, EPROM hay bộ nhớ flash của bo mạch chính. Khi máy tính được mở qua công tắc bật điện hay khi được nhất nút reset, thì BIOS được khởi động và chương trình này sẽ tiến hành các thử nghiệm khám nghiệm trên các ổ đĩa, bộ nhớ, bo hình, các con chip có chức năng riêng khác và các phần cứng còn lại.

Thông thường, BIOS tự giải nén vào trong bộ nhớ chính của máy tính và bắt đầu vận hành từ đây. Hầu hết các lắp đặt của BIOS ngày nay có thể thực thi cài đặt các chương trình giao diện CMOS. Bộ phận này (CMOS) là nơi lưu giữ các dữ liệu cài đặt chuyên biệt của người dùng; như thời gian, các đặc tính chi tiết của ổ đĩa, việc gán chức năng khởi động cho bộ điều khiển (controller) nào, hay ngay cả mật mã khởi động máy, ... CMOS được truy cập bởi BIOS.

Đối với hệ kiến trúc 80x86, mã nguồn BIOS của các máy PC và AT thời kỳ đầu đã có kèm Bản tham chiếu kĩ thuật IBM.

Trong hầu hết các lắp đặt của BIOS ngày nay, người dùng có thể lựa chọn thiết bị nào được khởi động trước: CD, đĩa cứng, đĩa mềm, ổ USB, hay các thiết bị lưu trữ tương thích. Thủ tục này đặc biệt hữu ích cho việc cài đặt các hệ điều hành hay khởi động từ CD/DVD khởi động được hay ổ USB khởi động được và cho việc lựa chọn thứ tự của việc kiểm tra sự hiện hữu của các vật liệu (media) khởi động được.
(Theo wikipedia ).
Ở đầy có 1 tiến trình nữa trong windowns mà có thế các bạn có nghe đến là POST (Power-On Self Test) , Trong BIOS của kiến trúc máy tính PC, chức năng tự kiểm tra khi nguồn bật hay POST, viết tắt của chữ tiếng Anh Power-On Self Test, là việc đầu tiên BIOS làm khi nó khởi động máy tính.
POST được xây dựng sẵn là một chương trình máy tính để kiểm tra phần cứng, đảm bảo mọi thứ sẵn có và đảm bảo chức năng của mình, trước khi BIOS bắt đầu khởi động. POST chạy nhanh và thông thường không thông báo kết quả kiểm tra, ngoại trừ trường hợp nó gặp vấn đề. Nếu POST gặp phải trục trặc, khi bật máy, máy sẽ phát ra tiếng bíp và sau đó dừng, không tiếp tục khởi động. Loa được sử dụng vì kiểm tra này được thực hiện trước khi màn hình nhận tín hiệu. Những mẫu tiếng bíp được sử dụng để chẩn đoán các vấn đề phần cứng của máy tính. Các mẫu này phụ thuộc nhà sản xuất BIOS, ví dụ Award hay AMI BIOSes.

Một số lỗi POST được coi là lỗi không sửa được, một số khác thì vẫn sửa được. Lỗi không sửa được (fatal) sẽ ngắt quá trình khởi động ngay lập tức (ví dụ không tìm thấy bộ nhớ hệ thống). Thực tế, hầu như lỗi khởi động POST là lỗi không sửa được.

POST còn được sử dụng trong việc phát hiện các sự cố mở rộng cho PC. Các tín hiệu BIOS gửi ra khi gặp các vấn đề mở rộng có thể được dùng để "gỡ rối vấn đề" bằng giao tiếp gỡ rối. Giao tiếp này đặt tai khe ISA và chấp nhận mã gỡ rối do BIOS gửi tới địa chỉ vào/ra đặc biệt, sử dụng là 80h. Giao tiếp hiển thị những mã này và nơi POST dừng nếu nó tìm ra vấn đề. Giao tiếp này thường được thiết kế chỉ dành cho người sửa chữa PC bị lỗi nghiêm trọng hoặc một số người làm nhiều về hệ thống máy tính.(theo wikipedia ) .
Nếu tiến trình POST không thành công PC sẽ không khởi động được và xuất hiện thông báo lỗi . Khi tiến trình POST thành công có 3 đặc điểm sau :
-Nghe 1 tiếng beep phát ra từ loa hệ thống

- Hoặc nhấn kiểm tra các phím NumLock hoặc ScrollLock hoặc CapsLock trên bàn phím

- Hoặc nhìn thấy chữ/ các tín hiệu khác xuất hiện trên màn hình

Chỉ cần có dấu hiệu của 1 trong 3 yếu tố trên là POST thành công.
Vì vậy theo mình thì POST là tiến trình đâu tiên trong Windowns ở thời điểm hiện tại .

hoxuanvu_I12A

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Các Lỗi Chính Làm Treo Máy Tính

Bài gửi  hoxuanvu_I12A 21/5/2012, 10:07

"Màn hình xanh chết chóc" (Blue Screen of Death) thông báo máy tính đang gặp lỗi nghiêm trọng khiến máy tính tắt hoặc không khởi động được. Dưới đây là 10 nguyên nhân phổ biến nhất của nó.
Xung đột phần cứng

Lý do số một khiến máy tính “chết cứng” là xung đột phần cứng. Các thiết bị phần cứng liên lạc với thiết bị khác qua một IRQ (interrupt request channel – kênh nối thiết bị ngoại vi). Mỗi thiết bị có IRQ riêng và là duy nhất.

Ví dụ, máy tính thường kết nối nội bộ trên IRQ 7, bàn phím thường dùng IRQ 1 và ổ đĩa mềm là IRQ 6. Nếu máy tính có nhiều thiết bị hoặc cài đặt không đúng, có thể sẽ dẫn đến tình trạng hai thiết bị có chung một IRQ. Khi cả hai thiết bị này sử dụng cùng thời điểm sẽ dẫn đến “treo” máy tính.

Để phát hiện xem có xung đột thiết bị không, vào Start, chọn Settings, Control Panel, System. Trong thẻ Hardware, chọn Device Manager. Các thiết bị có vấn đề có biểu tượng “!” màu vàng xuất hiện ở bên phần mô tả của Device Manager. Nếu phát hiện có hai thiết bị dùng chung một IRQ, cách tốt nhất là cài lại thiết bị.

Máy tính trước đây chỉ có 8 số IRQ, hiện nay có 16 IRQ. Trong bối cảnh nhiều thiết bị gắn kèm máy tính hiện nay rất dễ thiếu IRQ.
Lỗi RAM

Các trục trặc RAM (bộ nhớ truy cập ngẫu nhiên) có thể làm treo máy tính, màn hình xanh xuất hiện với thông điệp báo lỗi nghiêm trọng (Fatal Error). Lỗi này có thể là do RAM không khớp tốc độ xử lý. Ví dụ như gắn RAM 70 ns (phần tỷ giây) với RAM 60 ns sẽ khiến máy tính vận hành tất cả các RAM ở tốc độ thấp hơn. Điều này sẽ khiến máy tính treo nếu RAM bị quá tải.

Vấn đề này có thể giải quyết bằng cách vào chế độ BIOS và tăng trạng thái chờ của RAM. Như vậy có thể làm cho RAM hoạt động ổn định hơn.
Các thiết lập BIOS

Mỗi bo mạch chủ đều có một loạt thiết lập xử lý do nhà sản xuất quyết định. Cách phổ thông nhất để tiếp cận các thiết lập xử lý này, được gọi là BIOS là nhấn F2 hoặc nút Delete trong khi máy tính bắt đầu khởi động ở những giây đầu tiên.

Một khi vào BIOS, cần cẩn thận trong mọi thay đổi. Tốt nhất là viết ra giấy tất cả những thiết lập hiện trên màn hình. Bằng cách đó, nếu bạn thay đổi cái gì đó khiến máy tính trở nên bất ổn, bạn sẽ biết được đó là do thay đổi nào trong BIOS gây ra.

Lỗi BIOS phổ biến nhất là CAS latency (thời gian trễ trong quá trình gửi yêu cầu tới bộ nhớ và bộ nhớ xử lý yêu cầu đó). Lỗi này liên quan chính đến RAM. Các RAM cũ trước đây có độ trễ CAS latency là 3. Các RAM mới hiện có độ trễ CAS latency là 2. Thiết lập con số này không đúng có thể khiến RAM không xử lý được, làm treo máy.
Ổ cứng

Sau vài tuần sử dụng, thông tin trên ổ cứng máy tính bắt đầu phân mảnh, các dữ liệu nằm rải rác khắp ổ. Quá nhiều dữ liệu nằm rải rác trên ổ cứng có thể khiến ổ truy lục dữ liệu lâu hơn, thậm chí dẫn đến treo máy tính. Vì thế để ổ cứng đỡ phân mảnh, hàng tuần hoặc tối thiểu là hàng tháng nên dồn ổ một lần để sắp xếp dữ liệu trong ổ cứng gọn gàng.

Để dồn ổ, vào Start -> Programs ->Accessories -> System Tools -> Disk Defragmenter. Nên nhớ là khi đang dồn ổ cứng thì không thể lưu được dữ liệu. Vì thế tốt nhất là nên dồn ổ vào những lúc không dùng máy tính.

Ổ cứng có thể chậm hoặc “chết cứng” nếu quá đầy dữ liệu. Vì thế, nên thường xuyên dọn dẹp ổ cứng để giải phóng bỏ những dữ liệu không cần thiết, như các dữ liệu tạm thời (Temporary Internet Files). Để xóa các dữ liệu tạm thời không cần thiết, vào thư mục Windows trong ổ đĩa C (ổ cài hệ điều hành Windows), tìm thư mục Temporary Internet Files, xóa bỏ tất cả các file trong thư mục đó. Ngoài ra, hàng tuần nên xóa bỏ thùng rác Recyle Bin.

Ổ cứng cũng nên được quét lỗi thường hàng tuần. Để quét lỗi ổ cứng, vào Start -> Programs -> Accessories -> System Tools -> ScanDisk. Việc quét lỗi ổ cứng khá mất thời gian nên thực hiện việc này vào giờ nghỉ, khi không dùng máy tính.
Lỗi “fatal OE exception errors” và “VXD errors”

Lỗi “Fatal OE exception errors” và “VXD errors” thường là do trục trặc video card. Các lỗi này có thể giải quyết dễ dàng bằng cách giảm độ phân giải video. Có thể làm bằng cách vào Start -> Settings -> Control Panel -> Display -> Settings. Ở cửa sổ hiện lên, nên kéo thanh trượt độ trong mục độ phân giải màn hình (screen resolution) sang bên trái. Sau đó nhìn vào ô thiết lập màu (colour settings) ở bên trái cửa sổ, với hầu hết máy tính để bàn, chế độ màu 16 bit là đủ.

Nếu làm vậy mà vẫn chưa xử lý được lỗi trên, có thể là do video card xung đột phần cứng. Để xử lý, vào Start -> Settings -> Control Panel -> System -> Hardware -> Device Manager. Trong Device Manager, nhấn trỏ chuột vào dấu + bên cạnh thẻ Display Adapter sẽ xuất hiện dòng chữ miêu tả video card.

Nhấn phải chuột vào dòng chữ đó, chọn Properties. Trong mục Resources, nếu bình thường sẽ có chữ “no conflicts” ở ô danh sách thiết bị xung đột phía dưới. Nếu có xung đột video card sẽ thấy ngay. Cách để xử lý xung đột là bỏ dấu kiểm ở ô Use Automatic Settings, chọn nút Change Settings. Bạn cần tìm thiết lập đến khi nào hiển thị thông báo No Conflicts là được.
Virus

Chống virus đòi hỏi sự đề phòng liên tục. Tốt nhất là sử dụng phần mềm diệt virus tốt như Norton AntiVirus và phải cập nhật thường xuyên. Ngoài ra, trong quá trình sử dụng cần cẩn trọng với những email không có nguồn gốc, nhất là mở những đính kèm email đáng ngờ.
Máy in

Khi in những ký tự khác thường chưa được nhận diện, có thể làm treo máy tính. Đôi khi máy in không chạy bình thường sau khi máy tính treo do rối loạn bộ nhớ đệm. Cách tốt nhất để làm bộ nhớ đệm bình thường trở lại là tắt máy in khoảng 10 giây. Khởi động máy in trong trạng thái không điện, còn gọi là khởi động nguội, sẽ khôi phục các thiết lập mặc định của máy tính. Sau đó có thể dùng máy in bình thường trở lại.

Hoạt động gửi tài liệu đến máy in sẽ tạo ra file lớn hơn, thường được gọi là postscript file. Trong khi đó máy in chỉ có một lượng bộ nhớ nhỏ gọi là buffer (bộ nhớ đệm), vì vậy rất dễ dẫn đến tình trạng quá tải. In tài liệu cũng sử dụng đáng kể sức mạnh bộ vi xử lý (CPU). Điều này cũng sẽ khiến làm chậm hiệu suất của máy tính.
Phần mềm

Một trong những nguyên khiến máy tính treo phổ biến là phần mềm cài không đúng hoặc lỗi. Thường thì vấn đề này có thể xử lý bằng cách tháo phần mềm đó ra và cài lại. Tháo cài phần mềm bằng cách vào Start -> Settings -> Control Panel -> Add/Remove Programs, sau đó chọn chương trình trong danh sách, chọn nút Remove.
CPU quá nóng

Bộ vi xử lý trung tâm (CPU) thường được gắn quạt để làm mát. Nếu quạt hỏng hoặc nếu CPU quá cũ sinh nhiệt quá nóng sẽ phát sinh lỗi gọi là kernel error. Đây là lỗi phổ biến trong CPU được ép sung để chạy ở tốc độ lớn hơn thiết kế của nhà sản xuất. Giải pháp duy nhất là sắm quạt chip to hơn thay quạt cũ.
Nguồn điện có vấn đề

Sốc điện (điện áp tăng đột ngột) hoặc nguồn điện không ổn định có thể khiến máy tính bị trục trặc. Giải pháp cho vấn đề là sắm một thiết bị ổn áp (UPS). Không chỉ giúp ổn định nguồn điện, mà UPS còn cung cấp điện thêm vài phút (khoảng 10-15 phút) tùy loại trong trường hợp mất điện lưới.

hoxuanvu_I12A

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Nhiệm vụ quản lý bộ nhớ.

Bài gửi  ĐoànMinhQuangI12A 28/5/2012, 11:04

- Bộ nhớ là thiết bị lưu trữ duy nhất mà thông qua đó CPU có thể trao đổi thông tin với môi trường ngoài
- Bộ nhớ chính được tổ chức như một mảng một chiều các từ nhớ (word), mỗi từ nhớ có một địa chỉ
- Việc trao đổi thông tin với môi trường bên ngoài được thực hiện thông qua các thao tác đọc hoặc ghi dữ liệu vào một địa chỉ nhất định trong bộ nhớ.
=> Vì thế tổ chức, quản lý bộ nhớ là nhiệm vụ trọng tâm hàng đầu của HĐH
* Nhiệm vụ của quản lý bộ nhớ:
- Cấp phát và thu hồi vùng nhớ cho các tiến trình khi cần thiết
- Ghi nhận tình trạng bộ nhớ chình: vùng đã cấp phát, vùng còn có thể sử dụng…
- Quyết định tiến trình nào được nạp vào bộ nhớ chính khi có một vùng nhớ trống.
- HĐH chịu trách nhiệm cấp phát vùng nhớ cho các tiến trình có yêu cầu. Để thực hiện tốt HĐH cần phải xem xét nhiều khía cạnh như:
+ Sự tương ứng giữa địa chỉ Logic và địa chỉ vật lý: làm thế nào để chuyển đổi một địa chỉ tưởng trưng trong chương trình thành địa chỉ thực trong bộ nhớ
+ Quản lý bộ nhớ vật lý: làm sao để mở rộng bộ nhớ có sẵn nhằm lưu trữ nhiều tiến trình đồng thời
+ Chia sẻ thông tin: Làm sao cho phép 2 tiến trình chia sẻ thông tin trong bộ nhớ
+ Bảo vệ: làm thế nào để ngăn chặn các tiến trình xâm phạm đến vùng nhớ được cấp phát cho tiến trình khác

ĐoànMinhQuangI12A

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

Về Đầu Trang Go down

Thảo luận Bài 2 - Page 9 Empty Nguyên tắc xử lý ngắt của hệ điều hành

Bài gửi  DaoQuangTri38(I12A) 2/6/2012, 02:44

- 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 )

DaoQuangTri38(I12A)

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

Về Đầu Trang Go down

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

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

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

Về Đầu Trang

- Similar topics

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