intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hệ điều hành - ThS. Nguyễn Thị Thùy Linh

Chia sẻ: Chuheodethuong 09 | Ngày: | Loại File: PDF | Số trang:313

89
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng giới thiệu về các thế hệ hệ điều hành, các thành phần của hệ điều hành, chức năng của hệ điều hành, các dịch vụ mà hệ điều hành cung cấp. Sau đó nghiên cứu chi tiết chức năng các thành phần bên trong hệ điều hành: Quản lý tiến trình, Quản lý bộ nhớ, Đồng bộ hóa tiến trình, Quản lý Deadlock, Quản lý và cài đặt hệ thống tập tin, Quản lý đĩa.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hệ điều hành - ThS. Nguyễn Thị Thùy Linh

  1. TRƯỜNG ĐẠI HỌC ĐỒNG THÁP KHOA SƢ PHẠM TOÁN – TIN BÀI GIẢNG HỆ ĐIỀU HÀNH Biên soạn : Ths. Nguyễn Thị Thùy Linh LƢU HÀNH NỘI BỘ ĐỒNG THÁP 11/2013
  2. LỜI NÓI ĐẦU Tài liệu đƣợc biên soạn chủ yếu dựa trên kiến thức tích lũy trong giảng dạy nhiều năm về môn học của tác giả và cũng đƣợc tham khảo từ các nguồn về lý thuyết hệ điều hành và nguyên lý hệ điều hành của các trƣờng Đại học Huế, Đại học Cần Thơ… Tổng quan: Bài giảng giới thiệu về các thế hệ hệ điều hành, các thành phần của hệ điều hành, chức năng của hệ điều hành, các dịch vụ mà hệ điều hành cung cấp. Sau đó nghiên cứu chi tiết chức năng các thành phần bên trong hệ điều hành: Quản lý tiến trình, Quản lý bộ nhớ, Đồng bộ hóa tiến trình, Quản lý Deadlock, Quản lý và cài đặt hệ thống tập tin, Quản lý đĩa. Mục tiêu: Kiến thức: - Hiểu đƣợc vai trò của hệ điều hành và cơ chế hoạt động của hệ điều hành - Hiểu các kiến trúc thiết kế hệ điều hành. - Hiểu các chiến lƣợc trong việc thiết kế các hệ điều hành hiện đại. - Biết những vấn đề phát sinh trong quá trình thiết kế hệ điều hành cũng nhƣ những tiếp cận khác nhau đƣợc dùng để phân tích và giải quyết những vấn đề đó. - Xem xét những chiến lƣợc hệ điều hành phổ biến và cách chúng tác động đến những dịch vụ của các hệ điều hành hiện đại. - Vận dụng các chiến lƣợc trong việc thiết kế hệ điều hành để mô phỏng lại trên máy tính. Kỹ năng: - Rèn luyện kỹ năng phân tích và giải quyết các bài toán về chiến lƣợc trong việc thiết kế các thành phần bên trong hệ điều hành. - Rèn luyện tƣ duy giải thuật, kỹ năng lập trình kỹ thuật mô phỏng. - Kỹ năng làm việc nhóm, tự học, tự nghiên cứu. 1
  3. Thái độ: - Nhận thức đúng đắn về phía ngƣời thiết kế hệ điều hành trong hệ thống máy tính. - Nâng cao ý thức tự học, tự nghiên cứu để mở rộng kiến thức. Đối tượng: Tài liệu dành cho ngƣời học cao đẳng và đại học chuyên ngành công nghệ thông tin. Yêu cầu: Ngƣời học cần phải hiểu cấu trúc dữ liệu và giải thuật kèm theo ngôn ngữ lập trình Pascal hoặc một trong các ngôn ngữ C/C++, Java, C#. Ngƣời học cũng cần biết cấu trúc logic của một máy tính nói riêng cũng nhƣ mạng máy tính nói chung. Nội dung: Tài liệu bao gồm có 5 chƣơng: Chƣơng 1: Tổng quan về hệ điều hanh Chƣơng 2: Quản lý tiến trình Chƣơng 3: Quản lý bộ nhớ Chƣơng 4: Quản lý tập tin và đĩa Chƣơng 5: Quản lý hệ thống nhập/xuất 2
  4. MỤC LỤC LỜI NÓI ĐẦU ............................................................................................................................. 1 MỤC LỤC ................................................................................................................................... 3 DANH MỤC THUẬT NGỮ VIẾT TẮT .................................................................................... 6 CHƯ NG 1: TỔNG QU N VỀ HỆ ĐIỀU HÀNH ................................................................ 8 1.1. MỤC TIÊU ....................................................................................................................... 8 1.2. KHÁI NI M VỀ H ĐIỀU HÀNH ................................................................................. 8 1.3. CHỨC N NG H ĐIỀU HÀNH ................................................................................... 10 1.4. PH N LOẠI H ĐIỀU HÀNH ..................................................................................... 12 1.4.1. Hệ điều hành xử lý theo lô đơn chƣơng .................................................................. 12 1.4.2. Hệ thống xử lý theo lô đa chƣơng ........................................................................... 14 1.4.3. Hệ thống chia s thời gian ....................................................................................... 15 1.4.4. Hệ thống đa xử lý hệ thống song song .................................................................. 15 1.4.5. Hệ thống phân tán .................................................................................................... 17 1.4.6. Hệ thống xử lý thời gian thực .................................................................................. 18 1.4.7. Hệ xách tay .............................................................................................................. 18 1.5. L CH S PHÁT TRIỂN CỦA H ĐIỀU HÀNH ......................................................... 19 1.5.1. Thế hệ 1 1945 – 1955)............................................................................................ 19 1.5.2 Thế hệ 2 1955 – 1965)............................................................................................. 20 1.5.3. Thế hệ 3 1965 – 1980)............................................................................................ 20 1.5.4. Thế hệ 4 1980-nay ) ............................................................................................... 21 1.6. CẤU TR C CỦA H ĐIỀU HÀNH ............................................................................. 21 1.6.1. Các thành phần bên trong hệ điều hành ................................................................... 21 1.6.2. Các dịch vụ của hệ điều hành .................................................................................. 26 1.6.3. Lời gọi hệ thống ...................................................................................................... 27 1.6.4. Cấu trúc hệ điều hành .............................................................................................. 28 1.7. MỘT S H ĐIỀU HÀNH HI N ĐẠI ......................................................................... 38 1.7.1. Hệ điều hành Windows95........................................................................................ 38 1.7.2. Hệ điều hành Windows 2000................................................................................... 39 1.7.3. Hệ điều hành Linux ................................................................................................. 40 1.7.4. Hệ điều hành Windows 7......................................................................................... 41 1.7.5. Hệ điều hành Windows 8......................................................................................... 42 1.7.6. Hệ điều hành Android ............................................................................................. 42 1.8. TÓM TẮT ...................................................................................................................... 43 Câu hỏi ôn tập ........................................................................................................................ 44 TÀI LI U THAM KHẢO ..................................................................................................... 44 CHƯ NG 2: QUẢN L TIẾN TR NH ................................................................................ 45 2.1. MỤC TIÊU ..................................................................................................................... 45 2.2. TỔNG QUAN VỀ TIẾN TRÌNH ................................................................................... 45 2.2.1. Nhu cầu xử lý đồng hành ......................................................................................... 45 2.2.2. Khái niệm tiến trình ................................................................................................. 46 2.2.3. Phân loại tiến trình................................................................................................... 49 2.2.4. Tiểu trình Thread và mô hình đa tiểu trình Multithread .................................... 51 2.3. TỔ CHỨC QUẢN LÝ TIẾN TRÌNH ............................................................................ 54 2.3.1. Các trạng thái của tiến trình..................................................................................... 54 2.3.2. Chế độ xử lý của tiến trình ...................................................................................... 60 3
  5. 2.3.3. Cấu trúc dữ liệu khối quản lý tiến trình ................................................................... 61 2.4. THAO TÁC TRÊN TIẾN TRÌNH ................................................................................. 62 2.4.1. Tạo lập tiến trình ..................................................................................................... 63 2.4.2. Kết thúc tiến trình .................................................................................................... 64 2.4.3. Khi tiến trình thay đổi trạng thái ............................................................................. 64 2.5. CẤP PHÁT TÀI NGUYÊN CHO TIẾN TRÌNH........................................................... 65 2.6. Đ NH THỜI BIỂU CPU ................................................................................................ 66 2.6.1. Giới thiệu ................................................................................................................. 67 2.6.2. Tổ chức định thời biểu ............................................................................................. 70 2.6.3. Các chiến lƣợc định thời biểu CPU ......................................................................... 75 2.7. ĐỒNG BỘ HÓA TIẾN TRÌNH ..................................................................................... 87 2.7.1. Liên lạc giữa các tiến trình ...................................................................................... 87 2.7.2. Các cơ chế thông tin liên lạc.................................................................................... 88 2.7.3. Nhu cầu đồng bộ hóa synchronisation .................................................................. 95 2.7.4. Tài nguyên găng và đoạn găng ................................................................................ 96 2.7.5. Đồng bộ tiến trình qua đoạn găng ......................................................................... 102 2.8. TẮC NGHẼN VÀ CH NG TẮC NGHẼN ................................................................. 125 2.8.1. Khái niệm tắc nghẽn .............................................................................................. 125 2.8.2. Đặc điểm của Deadlock ......................................................................................... 128 2.8.3. Các phƣơng pháp xử lý deadlock .......................................................................... 134 2.9. TÓM TẮT .................................................................................................................... 151 Câu hỏi ôn tập ...................................................................................................................... 153 Bài tập .................................................................................................................................. 156 TÀI LI U THAM KHẢO ................................................................................................... 160 CHƯ NG 3: QUẢN L BỘ NHỚ ...................................................................................... 161 3.1. MỤC TIÊU ................................................................................................................... 161 3.2. NHI M VỤ QUẢN LÝ BỘ NHỚ ............................................................................... 161 3.3. KIẾN THỨC NỀN ....................................................................................................... 164 3.3.1. Một chƣơng trình qua nhiều bƣớc xử lý ................................................................ 164 3.3.2. Không gian địa chỉ luận lý và không gian địa chỉ vật lý ....................................... 166 3.3.3. Bộ quản lý bộ nhớ MMU .................................................................................... 167 3.3.4. Phủ lắp Overlay .................................................................................................. 167 3.3.5. Hoán vị .................................................................................................................. 168 3.4. QUẢN LÝ BỘ NHỚ CHÍNH ...................................................................................... 170 3.4.1. Bộ nhớ cấp phát liên tục ........................................................................................ 170 3.4.2. Cấp phát không liên tục ......................................................................................... 182 3.5. QUẢN LÝ BỘ NHỚ ẢO ............................................................................................. 202 3.5.1. Khái niệm bộ nhớ ảo.............................................................................................. 203 3.5.2. Cài đặt bộ nhớ ảo ................................................................................................... 204 3.5.3. Kỹ thuật bộ nhớ ảo ................................................................................................ 208 3.6. TÓM TẮT .................................................................................................................... 222 Câu hỏi ôn tập ...................................................................................................................... 224 Bài Tập ................................................................................................................................ 225 TÀI LI U THAM KHẢO ................................................................................................... 230 CHƯ NG 4: QUẢN L TẬP TIN VÀ ĐĨ ....................................................................... 231 4.1. MỤC TIÊU ............................................................................................................... 231 4.2. TỔNG QUAN VỀ QUẢN LÝ TẬP TIN VÀ ĐĨA ...................................................... 232 4.2.1. Tập tin và hệ thống quản lý tập tin ........................................................................ 232 4
  6. 4.2.2. Bảng danh mục và tập tin chia s .......................................................................... 235 4.2.3. Quản lý không gian đĩa.......................................................................................... 238 4.2.4. Quản lý các block chứa tập tin trên đĩa ................................................................. 241 4.2.5. An toàn trong quản lý tập tin ................................................................................. 246 4.2.6. Hiệu suất hệ thống tập tin ...................................................................................... 251 4.3. MỘT S KHÁI NI M DÙNG TRONG QUẢN LÝ ĐĨA ........................................... 252 4.4. CÁC ĐIỀU KHIỂN H TH NG TẬP TIN ................................................................ 255 4.5. CÁC H TH NG TẬP TIN ĐƢỢC S DỤNG TRÊN CÁC H ĐIỀU HÀNH HI N NAY 257 4.5.1. FAT12, FAT16, FAT32 ........................................................................................ 257 4.5.2. NTFS ..................................................................................................................... 258 4.5.3. CDFS ..................................................................................................................... 259 4.5.4. UDF ....................................................................................................................... 259 4.6. TỔ CHỨC ĐĨA CỦA MS-DOS ................................................................................... 259 4.6.1. FDISK .................................................................................................................... 259 4.6.2. Tổ chức logic của đĩa............................................................................................. 261 4.7. QUẢN LÝ TẬP TIN TRÊN ĐĨA CỦA MS-DOS ....................................................... 265 4.7.1. Boot sector ............................................................................................................. 266 4.7.2. File Allocation Table (FAT) .................................................................................. 268 4.7.3. Root Directory Bảng thƣ mục gốc ...................................................................... 274 4.7.4. Thƣ mục con Subdirectory .................................................................................. 279 4.8. TỔ CHỨC LƢU TRỮ TẬP TIN TRÊN ĐĨA CD_ROM ............................................ 281 4.8.1. Hệ thống tập tin ISO 9660 ..................................................................................... 282 4.8.2. Mở rộng Rock Ridge ............................................................................................. 283 4.8.3. Mở rộng Joliet ....................................................................................................... 283 4.9. TÓM TẮT .................................................................................................................... 284 Câu hỏi ôn tập ...................................................................................................................... 286 Bài tập .................................................................................................................................. 286 TÀI LI U THAM KHẢO ................................................................................................... 287 CHƯ NG 5: QUẢN L HỆ THỐNG NHẬP/XUẤT ....................................................... 291 5.1. MỤC TIÊU ................................................................................................................... 291 5.2. CÁC KHÁI NI M CƠ BẢN ........................................................................................ 291 5.3. PHẦN CỨNG NHẬP/XUẤT....................................................................................... 292 5.3.1. Thiết bị I/O ............................................................................................................ 292 5.3.2. Tổ chức của chức năng I/O .................................................................................... 293 5.4. GIAO DI N NHẬP/XUẤT ỨNG DỤNG ................................................................... 299 5.5. H TH NG CON NHẬP/XUẤT CỦA NH N KERNEL I/O SUBSYTEM .......... 302 5.5.1. Định thời biểu nhập/xuất ....................................................................................... 302 5.5.2. Vùng đệm .............................................................................................................. 303 5.5.3. Vùng lƣu trữ .......................................................................................................... 303 5.5.4. Vùng chứa.............................................................................................................. 304 5.5.5. Quản lý lỗi ............................................................................................................. 304 5.5.6. Cấu trúc dữ liệu nhân............................................................................................. 305 5.6. CHUYỂN NHẬP/XUẤT TỚI HOẠT ĐỘNG PHẦN CỨNG..................................... 305 5.7. N NG LỰC ................................................................................................................. 308 5.8. TÓM TẮT .................................................................................................................... 310 Câu hỏi ôn tập ...................................................................................................................... 311 Câu hỏi trắc nghiệm ............................................................................................................. 311 5
  7. TÀI LI U THAM KHẢO ................................................................................................... 311 D NH MỤC THUẬT NGỮ VIẾT TẮT K HIỆU THUẬT NGỮ NGHĨ API Application Programming Interface CDFS CD-ROM File System Là hệ thống tập tin đƣợc đƣa ra để quản lý các tập tin, thƣ mục trên các đĩa CD_ROM. CLI Clean Interrupt Cấm ngắt CPU Processor Bộ xử lý CRT Cathode-Ray Tube ng phóng điện tử chân không CS Critical Section Miền găng, đoạn găng CSDL Cơ sở dữ liệu DMA Direct Memory Access Truy xuất bộ nhớ trực tiếp FAT File Allocation Table Bảng cấp phát tập tin FCFS First-Come, First-Served Đến trƣớc đƣợc phục vụ trƣớc FDD Floppy Disk Đĩa mềm FIFO First In First Out Vào trƣớc ra trƣớc FSD File System Driver Điều khiển hệ thống tập tin HDD Hard disk Đĩa cứng I/O device Input/Output device Thiết bị nhập/xuất IC Integrated C rcuit Mạch tích hợp ISO International Organization for Tổ chức tiêu chuẩn hoá quốc tế Standardization KTCN Kiểm tra cập nhật LCNs Logical Cluster Numbers Số hiệu Cluster logic LFU The Least Frequently Used Ít đƣợc dùng thƣờng xuyên nhất. LRU Least-Recently-Used Lâu nhất chƣa sử dụng LWP Lightweight Process Liên kết các tiểu trình của cùng một tiến trình MEM Memory Bộ nhớ MFT Master File Table MFU The Most Frequently Used Trang đƣợc sử dụng nhiều nhất MMU Memory Management Unit Đơn vị quản lý bộ nhớ MS-DOS Microsoft Disk Operrating System Hệ điều hành MS-DOS NRU Not Recently Used Không sử dụng gần đây NTFS New Technology File System Hệ thống tập tin NTFS OPT Optimal Tối ƣu hóa OS Operating System Hệ điều hành P Process Tiến trình, quá trình PC Personal Computer Máy tính cá nhân 6
  8. Program Counter Nghĩa khác: Bộ đếm chƣơng trình PCB Process Control Block Khối điều khiển tiến trình PCT Page Control Table Bảng trang PDA Personal Digital Assistant Thiết bị kỹ thuật số hỗ trợ cá nhân PTBR Page Table Base Register Thanh ghi nền bảng trang RID Resource Identification Định danh của khối quản lý tài nguyên ROM Read Only Memory Bộ nhớ chỉ đọc RR Round Robin SCT Segment Control Table Bảng phân đoạn SJF Shortest Job First Công việc ngắn nhất trƣớc STBR Segment Table Base Register Thanh ghi nền của bảng phân đoạn STI Setting Interrupt Mở ngắt STLR Segment Table Length Register Thanh ghi giới hạn của bảng phân đoạn THE Technische Hogeschool Eindhoven Hệ điều hành THE TLBs Translation Look-aside Buffers Bộ nhớ kết hợp TSL Test and Set Kiểm tra khóa UDF Là hệ thống tập tin đƣợc đƣa ra để quản lý các đĩa từ/quang, chủ yếu là các đĩa DVD_ROM UMA Uniform Memory Access Truy xuất bộ nhớ đồng nhất USER USER Ngƣời dùng VCNs Virtual Cluster Numbers Số hiệu Cluster ảo 7
  9. CHƯ NG 1: TỔNG QU N VỀ HỆ ĐIỀU HÀNH 1.1. MỤC TIÊU Sau khi học xong chƣơng này, ngƣời học nắm đƣợc các kiến thức sau: - Hiểu chức năng của hệ điều hành trong hệ thống máy tính - Biết phân loại hệ điều hành - Biết hệ điều hành phát triển qua nhiều giai đoạn - Các thành phần bên trong hệ điều hành - Các dịch vụ mà hệ điều hành cung cấp - Biết đƣợc cấu trúc các hệ điều hành Bài học này cung cấp cho chúng ta một cái nhìn tổng quát về những nguyên lý cơ bản của hệ điều hành. Chúng ta bắt đầu với việc xem x t mục tiêu và các chức năng của hệ điều hành, sau đó phân loại chúng và tìm hiểu quá trình phát triển hệ điều hành qua từng giai đoạn. Phân biệt các thành phần hệ thống và các thành phần bên trong hệ điều hành. Thông qua các giai đoạn khác nhau chúng ta sẽ thấy cách thức mà những thành phần của hệ điều hành đƣợc cải tiến cũng nhƣ các dịch vụ mà hệ điều hành cung cấp, cuối cùng là khảo sát các cấu trúc khác nhau của các hệ điều hành. 1.2. KHÁI NIỆM VỀ HỆ ĐIỀU HÀNH Hệ điều hành là một chƣơng trình hệ thống hay một hệ chƣơng trình đóng vai tr trung gian giữa ngƣời dùng máy tính và phần cứng máy tính. Mục tiêu của hệ điều hành là cung cấp một môi trƣờng thuận lợi để ngƣời dùng d dàng thực hiện các chƣơng trình ứng dụng của họ trên máy tính và khai thác triệt để các chức năng phần cứng máy tính. Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính. Một hệ thống máy tính thƣờng đƣợc chia làm bốn phần chính: phần cứng, hệ điều hành, các chƣơng trình ứng dụng và ngƣời dùng (user). Phần cứng bao gồm bộ xử lý, bộ nhớ, các thiết bị nhập xuất, đây là những tài nguyên cơ bản của máy tính. Chương trình ứng dụng nhƣ các chƣơng trình dịch trong ngôn ngữ lập trình Pascal, C,… , hệ thống cơ sở dữ liệu (Access, SQL), các chƣơng 8
  10. trình tr chơi, và các chƣơng trình thƣơng mại. Các chƣơng trình này sử dụng tài nguyên của máy tính để giải quyết các yêu cầu của ngƣời dùng. Hệ điều hành làm nhiệm vụ điều khiển và phối hợp việc sử dụng phần cứng cho những ứng dụng khác nhau của nhiều người dùng khác nhau bao gồm cả thiết bị đầu cuối, hệ thống máy tính khác). Hệ điều hành cung cấp một môi trƣờng mà các chƣơng trình có thể làm việc hữu hiệu trên đó. Ngƣời dùng Ngƣời dùng Ngƣời dùng Ngƣời dùng 1 2 3 4 Chƣơng trình Hợp ngữ Soạn thảo văn CSDL dịch bản Chƣơng trình ứng dụng Hệ điều hành Phần cứng Hình 1.1. Mô hình trừu tượng của hệ thống máy tính Hệ điều hành có thể đƣợc coi nhƣ là bộ phân phối tài nguyên của máy tính. Nhiều tài nguyên của máy tính nhƣ thời gian sử dụng CPU, không gian bộ nhớ, vùng lƣu trữ tập tin, thiết bị nhập xuất v.v… đƣợc các chƣơng trình yêu cầu để giải quyết vấn đề. Hệ điều hành hoạt động nhƣ một bộ quản lý các tài nguyên và phân phối chúng cho các chƣơng trình và ngƣời dùng khi cần thiết. Do có rất nhiều yêu cầu, hệ điều hành phải giải quyết vấn đề tranh chấp và phải quyết định cấp phát tài nguyên cho những yêu cầu theo thứ tự nào để hoạt động của máy tính là hiệu quả nhất. Một hệ điều hành cũng có thể đƣợc coi nhƣ là một chƣơng trình kiểm soát việc sử dụng máy tính, đặc biệt khi ngƣời dùng sử dụng các thiết bị nhập xuất. Tuy nhiên, nhìn chung chƣa có định nghĩa nào là hoàn hảo về hệ điều hành. Hệ điều hành tồn tại để giải quyết các vấn đề sử dụng hệ thống máy tính. Mục tiêu cơ bản của nó là giúp cho việc thi hành các chƣơng trình d dàng hơn. Mục tiêu thứ hai là hỗ 9
  11. trợ cho các thao tác trên hệ thống máy tính hiệu quả hơn. Mục tiêu này đặc biệt quan trọng trong những hệ thống nhiều ngƣời dùng và trong những hệ thống lớn. Tuy nhiên hai mục tiêu này cũng có phần tƣơng phản vì vậy thuyết về hệ điều hành à đứng về phía người thiết ế ra hệ điều hành n n t p trung vào việc tối ưu h a việc s dụng tài nguy n của máy tính à quan trọng nh t 1.3. CHỨC N NG HỆ ĐIỀU HÀNH Để đạt mục tiêu trên hệ điều hành thực hiện hai chức năng chính nhƣ sau: - Gi p một máy tính m rộng: Máy tính là một thiết bị vi điện tử, nó đƣợc cấu thành từ các bộ phận nhƣ: Bộ xử lý, bộ nhớ, thiết bị nhập/xuất, BUS, ... Do đó, để làm việc với máy tính ngƣời dùng phải hiểu đƣợc cơ chế hoạt động của các bộ phận này và phải tác động trực tiếp vào nó, tất nhiên là dùng m máy ký số 0,1 . Điều này là quá khó đối với ngƣời dùng. Để đơn giản hơn, hệ điều hành phải che dấu hết các chi tiết phức tạp của phần cứng máy tính bởi một một máy tính m rộng. Máy tính mở rộng này có đầy đủ các chức năng của một máy tính thực nhƣng đơn giản và d sử dụng. Theo đó khi cần tác động vào máy tính thực ngƣời sử dụng chỉ cần tác động vào máy tính mở rộng, mọi sự chuyển đổi thông tin điều khiển từ máy tính mở rộng sang máy tính thực hoặc ngƣợc lại điều do hệ điều hành thực hiện. Mục đích của chức năng này là: giúp ngƣời sử dụng khai thác các chức năng phần cứng máy tính d dàng và hiệu quả hơn. - Qu n tài nguy n hệ thống gồm Bộ xử lý, bộ nhớ, thiết bị nhập/xuất, tập tin,... Đây là những tài nguyên cơ bản mà hệ điều hành cấp phát cho các tiến trình trong khi điều khiển sự hoạt động của hệ thống. Khi ngƣời dùng cần thực hiện một chƣơng trình hay khi một chƣơng trình cần nạp thêm một tiến trình mới vào bộ nhớ thì hệ điều hành phải cấp phát không gian nhớ cho chƣơng trình, tiến trình đó để chƣơng trình, tiến trình đó nạp đƣợc vào bộ nhớ và hoạt động đƣợc. Trong môi trƣờng hệ điều hành đa nhiệm có thể có nhiều chƣơng trình, tiến trình đồng thời cần đƣợc nạp vào bộ nhớ, nhƣng không gian lƣu trữ của bộ nhớ có giới hạn, do đó hệ điều hành phải tổ chức cấp phát bộ nhớ sao cho hợp lý để đảm bảo tất cả các chƣơng trình, tiến trình khi cần đều đƣợc nạp vào bộ nhớ để hoạt động. Ngoài ra hệ điều hành c n phải tổ chức bảo vệ các không gian nhớ đ cấp cho các chƣơng trình, tiến trình để tránh sự truy cập bất hợp lệ và sự tranh chấp bộ nhớ 10
  12. giữa các chƣơng trình, tiến trình, đặc biệt là các tiến trình đồng thời hoạt động trên hệ thống. Đây là một trong những nhiệm vụ quan trọng của hệ điều hành. Trong quá trình hoạt động của hệ thống, đặc biệt là các hệ thống đa ngƣời dùng, đa chƣơng trình, đa tiến trình, c n xuất hiện một hiện tƣợng khác, đó là nhiều chƣơng trình, tiến trình đồng thời sử dụng một không gian nhớ hay một tập tin dữ liệu, chƣơng trình nào đó. Trong trƣờng hợp này hệ điều hành phải tổ chức việc chia s và giám sát việc truy xuất đồng thời trên các tài nguyên nói trên sao cho việc sử dụng tài nguyên có hiệu quả nhƣng tránh đƣợc sự mất mát dữ liệu và làm hỏng các tập tin. Trên đây là hai dẫn chứng điển hình để chúng ta thấy vai tr của hệ điều hành trong việc quản lý tài nguyên hệ thống, sau này chúng ta sẽ thấy việc cấp phát, chia s , bảo vệ tài nguyên của hệ điều hành là một trong những công việc khó khăn và phức tạp nhất. Hệ điều hành đ tốn nhiều chi phí cho công việc nói trên để đạt đƣợc mục tiêu: Trong mọi trƣờng hợp tất cả các chƣơng trình, tiến trình nếu cần đƣợc cấp phát tài nguyên để hoạt động thì sớm hay muộn nó đều đƣợc cấp phát và đƣợc đƣa vào trạng thái hoạt động. Các nhà thiết kế hệ điều hành luôn hƣớng tới việc phát triển một hệ điều hành ngày càng thân thiện d sử dụng, c c u n n t c nc cc cn n sau1: - Hệ điều hành cho phép thực hiện nhiều chương trình đồng thời trong môi trường đa tác vụ (đa nhiệm). Hệ điều hành đa nhiệm bao gồm: Windows NT, Windows 2000, Linux và OS/2. Trong hệ thống đa nhiệm, hệ điều hành phải xác định khi nào thì một ứng dụng đƣợc chạy và mỗi ứng dụng đƣợc chạy trong khoản thời gian bao lâu thì phải dừng lại để cho các ứng dụng khác đƣợc chạy. - Hệ điều hành tự nạp n vào bộ nhớ: Quá trình nạp hệ điều hành vào bộ nhớ đƣợc gọi là quá trình Booting. Chỉ khi nào hệ điều hành đ đƣợc nạp vào bộ nhớ thì nó mới cho ph p ngƣời dùng giao tiếp với phần cứng. Trong các hệ thống có nhiều ứng dụng đồng thời hoạt động trên bộ nhớ thì hệ điều hành phải chịu trách nhiệm chia s không gian bộ nhớ RAM và bộ nhớ cache cho các ứng dụng này. - Hệ điều hành và API (Application Programming Interface): là một tập các hàm/thủ tục đƣợc xây dựng sẵn bên trong hệ thống, nó có thể thực hiện đƣợc 1 Nguy n Kim Tuấn, Giáo trình lý thuyết hệ điều hành, ĐH Huế, 2004,Tr.3. 11
  13. nhiều chức năng khác nhau nhƣ shutdown hệ thống, đảo ngƣợc hiệu ứng màn hình, khởi động các ứng dụng,… Hệ điều hành giúp cho chƣơng trình của ngƣời dùng giao tiếp với API hay thực hiện một lời gọi đến các hàm/thủ tục của API. - Nạp dữ iệu cần thiết vào bộ nhớ: Dữ liệu do ngƣời dùng cung cấp đƣợc đƣa vào bộ nhớ để xử lý. Khi nạp dữ liệu vào bộ nhớ hệ điều hành phải lƣu lại địa chỉ của bộ nhớ nơi mà dữ liệu đƣợc lƣu ở đó. Hệ điều hành phải luôn theo dõi bản đồ cấp phát bộ nhớ, nơi dữ liệu và chƣơng trình đƣợc lƣu trữ ở đó. Khi một chƣơng trình cần đọc dữ liệu, hệ điều hành sẽ đến các địa chỉ bộ nhớ nơi đang lƣu trữ dữ liệu mà chƣơng trình cần đọc để đọc lại nó. - Hệ điều hành bi n dịch các chỉ thị chương trình: Hệ điều hành phải đọc và giải m các thao tác cần đƣợc thực hiện, nó đƣợc viết trong chƣơng trình của ngƣời dùng. Hệ điều hành cũng chịu trách nhiệm sinh ra thông báo lỗi khi hệ thống gặp lỗi trong khi đang hoạt động. - Hệ điều hành qu n tài nguy n: Nó đảm bảo việc sử dụng thích hợp tất cả các tài nguyên của hệ thống nhƣ là: bộ nhớ, đĩa cứng, máy in, … 1.4. PH N LOẠI HỆ ĐIỀU HÀNH Có nhiều cách khác nhau để phân loại hệ điều hành, ở đây chúng tôi dựa vào cách mà hệ điều hành thực hiện các công việc, các tác vụ, các tiến trình của ngƣời dùng để phân loại hệ điều hành. 1.4.1. Hệ điều hành xử lý theo lô đơn chương Hệ điều hành loại này thực hiện các tác vụ ần ượt theo những chỉ thị đ đƣợc xác định trƣớc. Khi một tác vụ chấm dứt thì hệ thống sẽ tự động thực hiện tác vụ tiếp theo mà không cần sự can thiệp từ bên ngoài, do đó hệ thống đạt tốc độ thực hiện cao. Để thực hiện đƣợc điều này hệ điều hành phải có bộ giám sát thƣờng trực. Bộ giám sát thường trực: Khi một công việc chấm dứt, hệ thống sẽ thực hiện công việc kế tiếp mà không cần sự can thiệp của ngƣời lập trình, do đó thời gian thực hiện sẽ mau hơn. Một chƣơng trình, c n gọi là bộ giám sát thƣờng trực đƣợc thiết kế để giám sát việc thực hiện d y các công việc một cách tự động, chƣơng trình này luôn luôn thƣờng trú trong bộ nhớ chính. 12
  14. Hệ điều hành Vùng chƣơng trình ngƣời dùng Bản 1.1. S p xếp bộ nhớ của hệ thống x theo ô đơn chương Môi trƣờng sử dụng Nhập công việc Môi trƣờng máy tính Hàng đợi công việc Kết quả n 2. Cài đ t hàng đợi các công việc người d ng Trong hệ điều hành này khi hệ thống cần thực hiện một công việc thì nó phải lƣu chƣơng trình và dữ liệu của các công việc vào hàng đợi các công việc, sau đó sẽ thực hiện lần lƣợt từng bộ chƣơng trình và dữ liệu của công việc tƣơng ứng trong hàng đợi và cho ra lần lƣợt các kết quả. B ng 1 1 ở trên minh họa cho sự hoạt động của hệ thống theo lô đơn chƣơng. Với cách tổ chức hàng đợi công việc, thì hệ thống không thể thay đổi chƣơng trình và dữ liệu của các công việc ngay cả khi chúng c n nằm trong hàng đợi, đây là một hạn chế. Mặt khác trong quá trình thực hiện công việc nếu công việc chuyển sang truy xuất trên thiết bị vào/ra thì CPU rơi vào trạng thái chờ điều này gây l ng phí thời gian xử lý của CPU. Các thao tác khác của hệ điều hành xử lý theo lô đơn chƣơng: - CPU và thao tác nh p xu t: CPU thƣờng hay nhàn rỗi do tốc độ làm việc của các thiết bị nhập xuất thƣờng là thiết bị cơ chậm hơn rất nhiều lần so với các thiết bị điện tử CPU . Cho dù là một CPU chậm nhất, nó cũng nhanh hơn rất nhiều lần so với thiết bị nhập xuất. Do đó phải có các phƣơng pháp để đồng bộ hóa việc hoạt động của CPU và thao tác nhập xuất. 13
  15. - X off_ ine: Thay vì CPU phải đọc trực tiếp từ thiết bị nhập và xuất ra thiết bị xuất, hệ thống dùng một bộ lƣu trữ trung gian. CPU chỉ thao thác với bộ phận lƣu trữ trung gian này. - Spool (simultaneous peripheral operation online : là đồng bộ hóa các thao tác bên ngoài online. Cơ chế này cho ph p xử lý của CPU là online, sử dụng đĩa để lƣu các dữ liệu nhập/xuất. 1.4.2. Hệ thống xử lý theo lô đa chương Một trong những hạn chế của hệ điều hành xử lý theo lô đơn giản là l ng phí thời gian xử lý của CPU khi công việc hiện tại truy xuất đến thiết bị vào/ra. Hệ điều hành xử lý theo lô đa chƣơng sẽ khắc phục hạn chế này. Hệ điều hành Công việc 1 Công việc 2 Công việc 3 Công việc 4 Bản 2. S p xếp bộ nhớ của hệ thống x theo ô đa chương Khi có nhiều công việc cùng truy xuất lên thiết bị, vấn đề lập lịch cho các công việc là cần thiết. Khía cạnh quan trọng nhất trong việc lập lịch là khả năng đa chƣơng (multiprogram). Mục ti u của n à gia tăng hiệu su t s dụng CPU b ng cách t chức các công việc sao cho CPU uôn uôn ph i trong trạng thái àm việc. Hệ điều hành loại này có khả năng thực hiện nhiều công việc, nhiều chƣơng trình đồng thời. Khi cần thực hiện nhiều công việc đồng thời hệ điều hành sẽ nạp một phần m lệnh và dữ liệu vào bộ nhớ các phần c n lại sẽ đƣợc nạp sau tại thời điểm thích hợp và tất cả đều ở trạng thái sẵn sàng thực hiện. Sau đó hệ điều hành dùng bộ định thời CPU chọn ra một công việc nào đó và cho nó thực thi trong CPU, nhƣng khi công việc đang thực hiện cần truy xuất thiết bị vào/ra thì CPU sẽ đƣợc chuyển sang thực hiện các công việc khác, và cứ nhƣ thế hệ điều hành tổ chức chuyển hƣớng CPU để 14
  16. thực hiện hết các phần công việc trong bộ nhớ cũng nhƣ các công việc mà hệ thống yêu cầu. Hệ điều hành loại này mang lại hai ƣu điểm đó là tiết iệm được bộ nhớ, vì hông nạp hết mã ệnh và dữ iệu của các công việc vào bộ nhớ, và hạn chế thời gian rỗi của CPU. Tuy nhiên nó phải trả chi phí cao cho việc lập lịch CPU, tức là khi CPU r nh hệ điều hành phải xem x t nên chuyển nó cho công việc nào trong số các công việc đang đợi ở trạng thái sẵn sàng. Ngoài ra hệ điều hành c n phải giải quyết việc chia s bộ nhớ chính cho các công việc khác nhau. Hệ điều hành MS-DOS là hệ điều hành đơn nhiệm, đa chƣơng. Với hệ đa chƣơng hệ điều hành ra quyết định cho ngƣời dùng. Vì vậy, hệ điều hành đa chƣơng rất tinh vi. Hệ phải xử lý các vấn đề lập lịch cho công việc, lập lịch cho bộ nhớ và cho cả CPU. 1.4.3. Hệ thống chia s thời gian Hệ thống chia s thời gian là một mở rộng logic của hệ đa chƣơng. Hệ thống này c n đƣợc gọi là hệ thống đa nhiệm nhƣ Windows 9x/NT. Chia sẻ thời gian đây chính à chia sẻ thời gian x của CPU cho các công việc, các tiến trình đang ở trong trạng thái sẵn sàng thực hiện. Mục ti u của n à cung c p cơ chế cho phép người d ng giao tiếp với mỗi chương trình trong hi chạy. Nguyên tắc của hệ điều hành chia s thời gian tƣơng tự nhƣ trong hệ điều hành xử lý theo lô đa chƣơng nhƣng việc chuyển CPU từ tác vụ, tiến trình này sang tác vụ, tiến trình khác không phụ thuộc vào việc tác vụ, tiến trình hiện tại có truy xuất đến thiết bị vào/ra hay không mà chỉ phụ thuộc vào sự điều phối CPU của hệ điều hành. Công việc điều phối CPU của hệ điều hành rất phức tạp phụ thuộc vào nhiều yếu tố khác nhau, chúng ta sẽ đề cập đến vấn đề này trong chƣơng sau của tài liệu này. Hệ điều hành chia s phức tạp hơn hệ điều hành đa chƣơng. Nó phải có các chức năng: quản trị và bảo vệ bộ nhớ, sử dụng bộ nhớ ảo. Nó cũng cung cấp hệ thống tập tin truy xuất online…Hệ điều hành chia s là kiểu của các hệ điều hành hiện đại ngày nay. 1.4.4. Hệ thống đa xử lý hệ thống song song) 15
  17. Ngoài hệ thống một bộ xử lý c n có các hệ thống c nhiều bộ x c ng chia sẻ hệ thống đường truyền dữ iệu, đồng hồ, bộ nhớ và các thiết bị ngoại vi. Các bộ xử lý này liên lạc bên trong với nhau. n 3. Hệ thống đa x Có n u n uyên n ân xây d n t ốn d n n y: - Thông ượng được gia tăng: Với sự gia tăng số lƣợng bộ xử lý, công việc đƣợc thực hiện nhanh chóng hơn, Nhƣng không phải theo đúng tỉ lệ thời gian, nghĩa là có n bộ xử lý không có nghĩa là sẽ thực hiện nhanh hơn n lần. Vì trong khi nhiều bộ xử lý cộng tác trên một công việc, một lƣợng chi phí phải chịu trong việc giữ các thành phần làm việc phù hợp. Chi phí này cộng với chi phí cạnh tranh tài nguyên đƣợc chia s , làm giảm kết quả đƣợc mong đợi từ những bộ xử lý bổ sung. Tƣơng tự nhƣ một nhóm gồm N lập trình viên làm việc với nhau không dẫn đến kết quả công việc đang đạt đƣợc tăng N lần. - Tính inh tế của việc mở rộng: hệ thống đa xử lý có thể tiết kiệm nhiều chi phí hơn hệ thống đơn bộ xử lý, bởi vì chúng có thể chia s ngoại vi, thiết bị lƣu trữ và điện. Nếu nhiều chƣơng trình điều hành trên cùng tập hợp dữ liệu thì lƣu trữ dữ liệu đó trên một đĩa và tất cả bộ xử lý chia s chúng sẽ r hơn là có nhiều máy tính với đĩa cục bộ và nhiều bản sao dữ liệu. - Kh năng tin c y được gia tăng: nếu các chức năng đƣợc phân bổ hợp lý giữa các bộ xử lý thì lỗi trên một bộ xử lý sẽ không dừng hệ thống, chỉ năng lực bị giảm. Nếu chúng ta có 10 bộ xử lý và có 1 bộ xử lý bị sự cố thì mỗi bộ xử lý trong 9 bộ xử lý c n lại phải chia s của công việc của bộ xử lý bị lỗi. Do đó, toàn bộ hệ thống chỉ giảm 10% năng lực hơn là dừng hoạt động. Các hệ thống đƣợc thiết kế nhƣ thế đƣợc gọi là hệ thống có khả năng chịu lỗi fault tolerant 2. 2 Nguy n Phú Trƣờng, Giáo trình hệ điều hành, ĐH Cần Thơ, 2005,tr.8 16
  18. Hệ thống đa xử lý thông thƣờng sử dụng cách đa x đối xứng, trong cách này mỗi bộ xử lý chạy với một bản sao của hệ điều hành, những bản sao này liên lạc với nhau khi cần thiết. Một ví dụ về hệ thống xử lý đối xứng là phiên bản Encore của UNIX cho máy tính Multimax. Hệ thống này có hàng chục bộ xử lý. Ƣu điểm của nó là nhiều tiến trình có thể thực hiện cùng lúc. Một hệ thống đa xử lý cho ph p nhiều công việc và tài nguyên đƣợc chia s tự động trong những bộ xử lý khác nhau. Hầu nhƣ tất cả hệ điều hành hiện đại - gồm Windows NT, Solaris, Digital UNIX, OS/2 và LINUX - hiện nay cung cấp sự hỗ trợ đa xử lý đối xứng. Một số hệ thống sử dụng đa x b t đối xứng, trong đó mỗi bộ xử lý đƣợc giao một công việc riêng biệt. Một bộ xử lý chính kiểm soát toàn bộ hệ thống, các bộ xử lý khác thực hiện theo lệnh của bộ xử lý chính hoặc theo những chỉ thị đ đƣợc định nghĩa trƣớc. Mô hình này theo dạng quan hệ chủ tớ. Bộ xử lý chính sẽ lập lịch cho các bộ xử lý khác. 1.4.5. Hệ thống phân tán Hệ thống này cũng tƣơng tự nhƣ hệ thống chia s thời gian nhƣng các bộ xử lý không chia s bộ nhớ và đồng hồ, thay vào đó mỗi bộ xử lý có bộ nhớ cục bộ riêng. Các bộ x thông tin với nhau thông qua các đường truyền thông như những bus tốc độ cao hay đường dây điện thoại. Các bộ xử lý trong hệ phân tán thƣờng khác nhau về kích thƣớc và chức năng. Nó có thể bao gồm máy vi tính, trạm làm việc, máy mini, và những hệ thống máy lớn. Các bộ xử lý thƣờng đƣợc tham khảo với nhiều tên khác nhau nhƣ Site, Node, Computer v.v.... tùy thuộc vào trạng thái làm việc của chúng. C c n uyên n ân p ả xây d n t ốn p ân t n l : - Chia sẻ tài nguy n: Một ngƣời dùng A có thể sử dụng máy in của ngƣời dùng B và ngƣời dùng B có thể truy xuất những tập tin của A. Tổng quát, chia s tài nguyên trong hệ thống phân tán cung cấp một cơ chế để chia s tập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán, in ấn tại một vị trí xa, sử dụng những thiết bị ở xa để thực hiện các thao tác. 17
  19. - Tăng tốc độ tính toán: Một thao tác tính toán đƣợc chia làm nhiều phần nhỏ cùng thực hiện một lúc. Hệ thống phân tán cho ph p phân chia việc tính toán trên nhiều vị trí khác nhau để tính toán song song. - An toàn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác vẫn tiếp tục làm việc. - Thông tin i n ạc với nhau: Có nhiều lúc, chƣơng trình cần chuyển đổi dữ liệu từ vị trí này sang vị trí khác. Ví dụ trong hệ thống Windows, thƣờng có sự chia s và chuyển dữ liệu giữa các cửa sổ. Khi các vị trí đƣợc nối kết với nhau trong một hệ thống mạng, việc trao đổi dữ liệu di n ra rất d . Ngƣời dùng có thể chuyển tập tin hay các Email cho nhau từ cùng vị trí hay những vị trí khác. 1.4.6. Hệ thống xử lý thời gian thực Hệ thống x thời gian thực được s dụng hi c những đòi hỏi h t he về thời gian tr n các thao tác của bộ x ho c dòng dữ iệu, nó thƣờng đƣợc dùng điều khiển các thiết bị trong các ứng dụng tận hiến. Máy tính phân tích dữ liệu và có thể chỉnh các điều khiển giải quyết cho dữ liệu nhập. Một hệ điều hành xử lý thời gian thực phải đƣợc định nghĩa tốt, thời gian xử lý nhanh. Hệ thống phải cho kết quả chính xác trong khoảng thời gian bị thúc p nhanh nhất. Có hai hệ thống xử lý thời gian thực là hệ thống thời gian thực cứng và hệ thống thời gian thực mềm.. Hệ thống thời gian thực cứng là công việc đƣợc hoàn tất đúng lúc. Lúc đó dữ liệu thƣờng đƣợc lƣu trong bộ nhớ ngắn hạn hay trong ROM. Việc xử lý theo thời gian thực sẽ xung đột với tất cả hệ thống liệt kê ở trên. Dạng thứ hai là hệ thống thời gian thực mềm, mỗi công việc có một độ ƣu tiên riêng và sẽ đƣợc thi hành theo độ ƣu tiên đó. Có một số lĩnh vực áp dụng hữu hiệu phƣơng pháp này là các ứng dụng đa phƣơng tiện. 1.4.7. Hệ xách tay Hệ xách tay gồm các máy ỹ thu t số hỗ trợ cá nhân (personal digital assistants- PDAs nhƣ Palm hay điện thoại di động với nối kết Internet. Những ngƣời phát triển hệ xách tay và ứng dụng gặp phải nhiều thử thách, nhất là sự giới hạn về ích thƣớc của thiết bị. Thí dụ, một PDA điển hình cao khoảng 12,7cm và rộng khoảng 7,62cm và 18
  20. trọng lƣợng của nó ít hơn 225g. Do sự giới hạn về kích thƣớc này, hầu hết các thiết bị xách tay có bộ nhớ nhỏ gồm các bộ xử lý thấp và màn hình hiển thị nhỏ. Bây giờ chúng ta sẽ xem x t mỗi sự giới hạn này. Nhiều thiết bị xách tay có dung lƣợng bộ nhớ 512KB và 8MB ngƣợc lại, các máy PC hay trạm làm việc có hàng trăm MB bộ nhớ . Do đó, hệ điều hành và các ứng dụng phải quản lý bộ nhớ hiệu quả. Hiện nay, nhiều thiết bị xách tay không dùng kỹ thuật bộ nhớ ảo do đó buộc ngƣời phát triển chƣơng trình làm việc trong phạm vi giới hạn của bộ nhớ vật lý. Vấn đề thứ hai mà ngƣời phát triển cần quan tâm đến là tốc độ của bộ xử lý đƣợc dùng trong thiết bị. Các bộ xử lý nhanh hơn yêu cầu điện năng nhiều hơn. Để chứa một bộ xử lý nhanh hơn bên trong thiết bị xách tay yêu cầu nhiều pin hơn và phải đƣợc nạp lại thƣờng xuyên. Để tối thiểu hoá kích thƣớc của các thiết bị xách tay đ i hỏi bộ xử lý nhỏ hơn, chậm hơn tiêu thụ ít điện năng hơn. Do đó, hệ điều hành và các ứng dụng phải đƣợc thiết kế không đ i hỏi sử dụng nhiều bộ xử lý. Vấn đề cuối cùng gây khó khăn cho ngƣời thiết kế chƣơng trình cho các thiết bị xách tay là màn hình hiển thị nhỏ. Màn hình cho thiết bị xách tay thƣờng có diện tích không quá 7,62cm. Những tác vụ quen thuộc nhƣ đọc email hay hiển thị các trang web, phải đƣợc cô đọng vào màn hình nhỏ hơn. Một phƣơng pháp để hiển thị nội dung các trang web là cắt xén web, ở đó chỉ một tập hợp nhỏ trang web đƣợc phân phát và hiển thị trên thiết bị xách tay. 1.5. L CH S PHÁT TRIỂN CỦ HỆ ĐIỀU HÀNH 1.5.1. Thế hệ 1 1945 – 1955) Vào khoảng giữa thập niên 1940, Howard Aiken ở Havard và John Von Neumann ở Princeton, đ thành công trong việc xây dựng máy tính dùng ống chân không. Những máy này rất lớn với hơn 10000 ống chân không nhƣng chậm hơn nhiều so với máy r nhất ngày nay3. Mỗi máy đƣợc một nhóm ngƣời thực hiện tất cả các khâu từ thiết kế, xây dựng lập trình, thao tác đến quản lý. Lập trình bằng ngôn ngữ máy tuyệt đối, thƣờng là bằng 3 Nguy n Hạnh Nhi, Bài giảng điện tử hệ điều hành nâng cao, Trƣờng Đại học Khoa học Tự nhiên 19
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
118=>1