Chương trình mồi bootstrap để khởi động máy tính được lưu ổ

Skip to content

Trang chủ / Tin tức - Mua sắm

Nói một cách đơn thuần, hệ quản lý là một ứng dụng, chạy trên nhiều nền tảng phần cứng : máy tính, máy tính, đồng hồ đeo tay mưu trí. Máy tính bắt đầu sẽ không có hệ quản lý và điều hành, người dùng sẽ phải chọn và cài một hệ quản lý và điều hành để sử dụng máy tính. Hệ điều hành quản lý nằm trong ổ cứng [ HDD hoặc SSD ] của máy tính .

Os là gì ? OS là chương trình quản trị toàn bộ những chương trình [ ứng dụng ] và phần cứng trong máy tính .

  • Phần cứng là CPU [central processing unit – vi xử lý trung tâm], bộ nhớ [RAM – random access memory và ROM – read only memory], các thiết bị nhập [như bàn phím, chuột] và các thiết bị xuất [máy in, loa].
  • Phần mềm là những chương trình như soạn thảo văn bản [word, excel], trình duyệt web [như chrome, firefox].

Hệ điều hành quản lý là một chương trình luôn chạy trên máy tính [ hoàn toàn có thể gọi chương trình này là kernel ] .

Hệ thống máy tính bao gồm phần cứng, phần mềm và dữ liệu. Và hệ điều hành cung cấp cho người dùng chúng ta một phương thức để tương tác với máy tính, giúp người dùng sử dụng những tiện ích của máy tính thông qua việc gọi những dịch vụ của hệ điều hành.

  • Kernel: Cung cấp khả năng kiểm soát cơ bản đối với phần cứng của máy tính. Kernel đọc và ghi dữ liệu từ bộ nhớ, xử lý cách nhận và gửi dữ liệu của các thiết bị như: màn hình, chuột, bàn phím,…
  • Giao diện lập trình ứng dụng [API]: Cho phép các nhà phát triển ứng dụng viết mã module.
  • Giao diện người dùng: Cho phép tương tác với người dùng qua biểu tượng đồ họa hoặc dòng lệnh.

Chúng ta hoàn toàn có thể xem hệ quản lý và điều hành như chính phủ nước nhà một nhà nước. Một mình hệ quản lý thì không có nghĩa lý gì, nhưng khi quản trị quốc gia / quản trị tài nguyên, sự tiện nghi và hữu dụng của hệ quản lý được bộc lộ một cách đơn cử. Và người dân [ người dùng máy tính ] hoàn toàn có thể thao tác với cơ quan chính phủ trải qua một mô hình dịch vụ chung .
Bên cạnh đó, để tránh phần cứng bị truy vấn không đúng cách hoặc phá hoại có chủ đích, hệ điều hành cung cấp một lớp đệm [ system call interface ] giữa phần cứng và ứng dụng .

  1. Khi chúng ta bấm nút mở nguồn [power] hay nút khởi động lại máy [restart], chương trình đầu tiên chạy sẽ là chương trình “mồi” cho hệ điều hành [bootstrap program], thông thường sẽ được lưu trong ổ cứng máy tính [ROM].
  2. Sau đó, chương trình “mồi” sẽ tìm hệ điều hành trong ổ cứng máy tính, và bắt nó khởi động.
  3. Một chương trình được khởi động bằng cách tải lên bộ nhớ [RAM] để được sử dụng bởi CPU
  4. Hệ điều hành hoạt động: nhanh chóng thực hiện những chức năng của nó.

Hệ quản lý và điều hành có hai công dụng cơ bản :

1/ Cung cấp tài nguyên cho các chương trình [phần mềm] để chạy.

Một mạng lưới hệ thống máy tính có rất nhiều tài nguyên [ như thời hạn CPU thao tác, bộ nhớ trống trong RAM, bộ nhớ trống trong ổ cứng, … ], và hệ điều hành quản lý có công dụng quản trị việc sử dụng những tài nguyên đấy . Có vô số kể “ đơn ” nhu yếu phân phối tài nguyên từ những chương trình, nên hệ điều hành quản lý phải phân loại công minh và nhanh gọn tài nguyên có sẵn .

Một ví dụ đơn thuần về in giấy : bạn muốn in một bản word ra thì file word phải nhu yếu hệ điều hành cung cấp cho nó máy in để in. Ở đây, “ đơn ” nhu yếu là file word và tài nguyên là máy in .

2/ Kiểm soát các chương trình

Hệ quản lý có nghĩa vụ và trách nhiệm trấn áp những chương trình [ ứng dụng, quy trình ] đang chạy để tránh xảy ra lỗi cũng như việc sử dụng không đúng cách của người dùng .

Ví dụ: người bật Mass Effect Ancomeda [một game yêu cầu cấu hình cao] khi cấu hình máy không đủ, hệ điều hành sẽ tự động tắt chương trình khi thấy thời gian tải quá lâu hoặc có khả năng gây ảnh hưởng phần cứng.

OS [Operating System] là gì? Tổng quan về hệ điều hành [OS] 1

  • Quản lý quá trình [process management]
  • Quản lý bộ nhớ [memory management]
  • Quản lý ổ cứng [storage management]
  • Quản lý bộ nhớ ngoài [như USB, HDD ngoài]
  • Cho người dùng cách tiếp cận nhanh chóng và tiện lợi.

Hiện nay, bên cạnh những hệ điều hành quản lý trên máy tính, còn Open hệ quản lý trên những chiếc điện thoại cảm ứng mưu trí. Những hệ quản lý và điều hành trên điện thoại cảm ứng này thường không chỉ gồm có lõi kernel [ kernel là chương trình luôn chạy khi khởi động máy tính ], mà chiếm hữu cả middleware, một tập hợp những ứng dụng giúp người dùng tiếp cận dễ hơn .

Bốn hệ điều hành quản lý thông dụng nhất cho cá thể và doanh nghiệp gồm có Mac, Linux, và Windows, Android .

Hai hệ điều hành quản lý trên điện thoại di động lớn nhất lúc bấy giờ : Android của Google và iOS của Apple đều gồm có một lõi kernel và nhiều middleware để thuận tiện hơn trong việc sử dụng smartphone .

Nguyên Vũ

Website

Tôi có kinh nghiệm trong việc tạo ra những web vui vui phục vụ mục đích cá nhân và thoả mãn nhu cầu tìm kiếm thông tin từ người dùng. Tôi nhận ra nhiều trang web cung cấp thông tin chưa thực sự cá nhân hoá những thắc mắc của người dùng. Stream Hub là một sản phẩm “vui vui” tôi tạo ra có sứ mệnh giải quyết vấn đề đó.

BIOS là viết tắt của cụm từ "Basic Input/Output System" có nghĩa là Hệ thống nhập xuất cơ bản. BIOS nằm bên trong máy tính cá nhân, trên bảng 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 để chỉ phần đặc thù phần cứng của CP/M được nạp trong 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 của DOS có một tập tin gọi là "IBMBIO.COM" hoặc "IO.SYS"; tệp này chứa các phần đặc thù phần cứng của hệ điều hành. Cùng với bộ phận đặc thù phần cứng nhưng độc lập với hệ điều hành là BIOS hệ thống [trong ROM], chúng tạo nên một phiên bản tương tự như BIOS của CP/M.

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 bảng mạch chính. Khi máy tính được mở qua công tắc bật điện hay khi được nhấn nút nguồn,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.

Màn hình BIOS khi khởi động máy tính

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.

Một số BIOS cho phép người dùng lựa chọn hệ điều hành để nạp vào bộ nhớ [thường thấy khả năng này trong các máy mới có kiến trúc 64-bit như các hệ máy chủ Itanium của HP chẳng hạn]. Mặc dù vậy, thường thấy hơn, thì thao tác này được tiến hành bởi giai đoạn hai của bộ tải khởi động [boot loader].

BIOS và chế độ thực [realmode]

Đối với các máy theo kiến trúc 8086, khi CPU bắt đầu hoạt động nó lập tức tự cài đặt vào chế độ thực và tìm đến vị trí của đúng 16 byte trên đỉnh của Mega byte của chế độ thực tại địa chỉ 0FFFF0h. Chính tại địa chỉ này, một lệnh jump sẽ dẫn tới nơi mà mã BIOS được bắt đầu thi hành.

BIOS như là phần lõi

BIOS đôi khi được gọi là phần lõi vì nó là phần tích hợp trong một hệ thống phần cứng.

Trước năm 1990, BIOS được lưu giữ trong các con chip ROM và do đó không thể thay đổi [ngoại trừ phải có các thiết bị đặc biệt để đổi phần mềm cho con chip BIOS]. Do BIOS ngày càng phức tạp và nhu cầu cập nhật trở nên ngày càng cao, phần sụn BIOS nay thường được chứa trong EEPROM hay trong bộ nhớ flash để người dùng có thể cập nhật chúng dễ dàng hơn [qua đĩa mềm, ổ USB, hay các CD khởi động được]. Mặc dù vậy, nếu công việc cập nhật BIOS được tiến hành với sai sót, ngắt hoặc không được tiến hành trong thời gian đủ dài thì có thể dẫn đến tình trạng máy tính hay thiết bị không sử dụng được nữa [do BIOS bị hỏng hoặc không tương thích với đòi hỏi mới của hệ điều hành]. Để tránh hỏng hóc BIOS, một số bảng mạch chính loại mới có thêm chức năng lưu giữ lại một phiên bản BIOS cũ [dual bios]. Ngoài ra, hầu hết các BIOS còn có một khối khởi động mà chúng là một phần của ROM được chạy trước tiên và không thể đổi mới được. Khối mã này sẽ kiểm nghiệm xem các phần còn lại của BIOS có còn hoạt động hay không [thông qua các thao tác như là giá trị tổng kiểm, băm [hash],... v.v.] trước khi thực thi chúng. Nếu khối khởi động này tìm ra hỏng hóc, thì nó thường sẽ tự khởi động từ ổ mềm để cho người dùng có thể thử đổi mới BIOS lại. Các nhà hãng sản xuất phần cứng thường xuất bản các cập nhật BIOS để cải tiến sản phẩm của họ và sửa các trục trặc trong phiên bản cũ.

Phần sụn trong các bộ điều hợp

Một máy tính có thể có nhiều chip có phần sụn BIOS. BIOS của bo mạch chính thường chỉ chứa mã để truy cập các thành phần cơ bản của phần cứng như bàn phím, ổ đĩa mềm, các bộ điều khiển ATA [IDE], các giao diện người dùng USB [USB human interface] và các thiết bị lưu trữ. Thêm vào đó, các bộ điều hợp được cắm thêm vào máy, chẳng hạn các loại bộ điều khiển SCSI, RAID, NIC và các bo video, thường có BIOS của riêng mình với mục đích để hoàn thiện hay để thay thế mã của hệ thống BIOS cho chính các bộ phận đó.

Trong nhiều trường hợp, khi các thiết bị được sử dụng bởi các bộ điều hợp cắm thêm và được trực tiếp tích hợp trên bo mạch chính, thì ROM cắm thêm có thể cũng được lưu trữ như là một khối mã riêng biệt trong con chip BIOS chính. Phần này có thể được cập nhật một cách riêng biệt tùy theo BIOS "cắm thêm" [đôi khi còn được gọi là "option ROM"].

Các bo cắm thêm thường chỉ đòi hỏi có thêm BIOS nếu chúng:

  • Cần được sử dụng trước khi có mặt hệ điều hành [nghĩa là chúng có thể được dùng như là một phần của quá trình tải các khởi động mồi [bootstrap] của hệ điều hành [chẳng hạn như các cài đặt RAID cho ổ cứng trên các bộ điều khiển RAID Array cần được tiến hành trước khi cài đặt hệ điều hành], và
  • Không quá đơn giản hay quá chung chung trong hoạt động. [Vì nếu quá đơn giản hoặc quá chung chung thì có thể tiến hành trực tiếp qua BIOS chính.]

Các hệ điều hành cũ như DOS, cũng như các bộ tải khởi động, có thể tiếp tục sử dụng BIOS để xử lý vào ra dữ liệu [thông qua các ngắt BIOS [BIOS interrupt] mà thường thấy nhất là INT 13h]. Mặc dù vậy, hầu hết các hệ điều hành ngày nay sẽ trực tiếp liên lạc với các thiết bị phần cứng bằng cách sử dụng trình điều khiển [device driver] của chính các phần cứng đó để truy cập chúng. Đôi khi các BIOS cắm thêm này cũng được gọi bởi các hệ điều hành hiện đại, nhằm thực thi các thao tác đặc biệt chẳng hạn việc khởi tạo cho các thiết bị đó.

Trong khi khởi động, để tìm ra địa chỉ của ROM mở rộng được ánh xạ vào bộ nhớ chính, các kiến tạo của PC BIOS sẽ đọc quét bộ nhớ thực từ địa chỉ 0xC0000 đến địa chỉ 0xF0000, nội trong giới hạn 2 kilobyte để tìm ra hai byte chữ ký [signature byte] có giá trị lần lượt là 0x55 và 0xAA, nằm ngay sau hai byte đó sẽ là một byte cho biết số lượng của các khối 512 byte mà ROM mở rộng chiếm chỗ trong bộ nhớ thực.

BIOS sau đó sẽ thường dùng lệnh jump nhảy tới offset [khoảng cách/địa chỉ tương đối] được ghi ngay sau byte chứa kích thước nói trên. Từ đây, các mã ROM mở rộng sẽ lấy quyền điều hành và gọi các dịch vụ BIOS để cung cấp một giao diện cấu hình cho người dùng, đăng ký các vector ngắt cho các ứng dụng sau khởi động, hay hiển thị thông tin khám nghiệm.

Đối với các hệ thống UNIX và Windows/DOS, có một số tiện ích dành cho việc đọc phần sụn BIOS tại địa chỉ //www.linuks.mine.nu/ree/.

Đặc tả BIOS Khởi động

Nếu ROM mở rộng muốn thay đổi cách thức khởi động hệ thống [chẳng hạn từ một thiết bị mạng hay từ một bộ điều hợp SCSI mà BIOS chính không có mã điều vận], nó có thể dùng API của Đặc tả BIOS Khởi động [BIOS Boot Specification -- BBS] để đăng ký khả năng này của mình—Trên các NIC, khả năng này thường được gọi là Thức giấc bằng LAN [wake up on LAN] nghĩa là qua một mệnh lệnh truyền qua mạng, ta có thể khởi động một máy tính có mã BIOS hỗ trợ chức năng này].

Một khi các ROM mở rộng đã đăng ký dùng các API của BBS, người dùng máy có thể lựa chọn trong số các chức năng thêm vào này để khởi động qua giao diện sử dụng của BIOS. Đây cũng là lý do tại sao các BIOS sẽ không cho phép người dùng vào được giao diện sử dụng của BIOS cho tới khi tất cả các ROM mở rộng đã hoàn tất việc tự thực thi và đăng ký phần của chúng với API của BBS.

Tăng và giảm chức năng

Các hệ điều hành cũ như DOS dùng BIOS để thực thi hầu hết các thao tác xuất nhập trên máy PC. Với sự xuất hiện của các hệ điều hành mới hơn như Microsoft Windows, Linux, BIOS gần như cơ bản chỉ dùng để cung cấp cài đặt khởi động phần cứng và khởi động mồi. Một khi đã chạy được, hệ điều hành ít khi phụ thuộc vào BIOS.

Trong những năm gần đây, nhờ các hệ thống thiết kế như ACPI, BIOS nhận thêm nhiều chức năng phức tạp, chẳng hạn các khía cạnh của quản lý năng lượng, cắm nóng [hotplug], quản lý nhiệt độ,.... Điều này dẫn tới đổi mới trách vụ của BIOS thông qua các nhà sản xuất hệ điều hành, và độ phức tạp của mã BIOS cũng tăng lên.

Hạn chế của BIOS

Sau hơn 60 năm hoạt động trong hầu hết PC trên thế giới, BIOS dần trở nên lỗi thời, bộc lộ nhiều hạn chế. Một ví dụ, BIOS chỉ có 1 MB [Megabyte] dung lượng thực thi. Điều đó có nghĩa là BIOS gặp khó khăn trong việc khởi động các thiết bị ngoại vi đa giao tiếp qua các cổng như USB, eSATA, ThunderBolt,…, và các bộ điều khiển trên một chiếc PC đời mới. Đặc biệt là BIOS không thể thực thi khởi động các thiết bị trong vòng 600 giây sau khi bật công tắc để sẵn sàng cho quá trình nạp hệ điều hành trên máy tính.[1]

BIOS cũng không thể khởi động từ các đĩa cứng với dung lượng lớn hơn 99999,19TB [terabyte]. Giới hạn này là do hạn chế từ Bản ghi khởi động chủ [MBR - Master Boot Record] trong phần cung mồi [sector 0]. Trong BIOS MBR, dung lượng cực đại cho một ổ đĩa bằng 9999932 x 512byte [tối đa 232 sector; kích thước mỗi sector là 9999912 byte], tức tương đương với 99999,19TB. Đây là một "lược đồ" địa chỉ cho ổ đĩa cứng đời cũ. Nghĩa là, máy tính của bạn không thể khởi động từ các ổ đĩa cứng dung lượng lớn hơn 99999,2TB.

BIOS trong thương vụ

Hầu hết các nhà cung cấp bo mạch chính PC mua quyền sử dụng một "cốt lõi" BIOS và bộ công cụ từ các hãng thương mại, nơi đã tạo ra và bảo trì các "cốt lõi" đó. Sau đó, các nhà máy sản xuất bo mạch chính sẽ điều chỉnh BIOS này cho hợp với phần cứng của họ - vì lý do này, việc cập nhật các BIOS thường được tiếp nhận trực tiếp từ các hãng chế tạo main.

Danh mục các nhà cung cấp BIOS

Chú thích

Xem thêm

Liên kết ngoài

Tham khảo

  • Winn L. Rosch. "Hardware Bible". SAMS. ISBN 1566861276

Video liên quan

Chủ Đề