sách gpt4 ăn đã đi

Khám phá hệ điều hành: Những bí ẩn về hạt nhân, khả năng khởi động và lệnh gọi hệ thống

In lại Tác giả: Tôi là chú chim nhỏ Thời gian cập nhật: 24-08-2023 14:31:34 34 4
mua khóa gpt4 giày nike

Lời nói đầu

Trước hết, độc giả có trình độ chuyên môn có thể bỏ qua loạt bài này. Mục đích chính của những bài viết này là giúp những độc giả không chuyên về khoa học hiểu được kiến ​​thức cơ bản thông qua những tóm tắt đơn giản, dễ hiểu, đồng thời hiểu rõ hơn lý do tại sao những vấn đề cơ bản này lại được đưa vào các cuộc phỏng vấn. Nếu không, một số khái niệm sẽ vẫn khó nắm bắt. Những bài viết cơ bản về máy tính này sẽ mở ra 2 kênh kiến ​​thức cho các bạn. Chúc các bạn thành công trong lĩnh vực lập trình! .

hệ điều hành

Hãy bắt đầu với hệ điều hành. Hệ điều hành là thứ chúng ta sử dụng thường xuyên và là một phần không thể thiếu của máy tính. Các hệ thống máy tính hiện đại bao gồm một hoặc nhiều bộ xử lý, bộ nhớ chính, máy in, bàn phím, chuột, màn hình, giao diện mạng và các thiết bị đầu vào/đầu ra khác nhau.

hình ảnh

Nhưng liệu chúng ta có cần xử lý trực tiếp những phần cứng này khi viết ngôn ngữ lập trình không? Không cần thiết. Bạn chỉ cần nhấp chuột và bàn phím để khởi động chương trình và đáp ứng nhu cầu kinh doanh của mình. Nếu bạn cũng cần xem xét sự tương tác với phần cứng khi viết mã, bạn có thể không viết thành công bất kỳ mã nào. Bạn có thể hiểu rằng các gói jar, ứng dụng, v.v. mà chúng tôi viết, các ngôn ngữ lập trình khác nhau tương tác với hệ điều hành ở cấp độ thấp nhất. Ví dụ: hình ảnh này:

hình ảnh

Hệ điều hành có quyền truy cập vào phần cứng và có thể thực thi bất kỳ lệnh nào mà máy có khả năng chạy. Bằng cách này, bạn có thể sử dụng nhiều khung RPC khác nhau, các thao tác đọc và ghi tệp và các chức năng khác.

hạt nhân

Cốt lõi của hệ điều hành là kernel và có hai phe chính trên thị trường: Windows và Linux. Mỗi loại đều có ưu điểm riêng, Windows chủ yếu được sử dụng cho mục đích cá nhân, trong khi lớp máy chủ chủ yếu sử dụng hệ thống Linux. Bởi vì hệ thống Linux là nguồn mở và miễn phí nên nó đã thu hút được nhiều nhân vật nổi tiếng đóng góp mã nguồn. Nếu công ty có nhu cầu tùy chỉnh thì có thể tải mã nguồn hệ thống về để tùy chỉnh.

Bây giờ quay lại chủ đề, sẽ rất cồng kềnh nếu tất cả các ứng dụng đều xử lý trực tiếp với phần cứng. Vì vậy, kernel đóng vai trò là cầu nối giữa ứng dụng và thiết bị phần cứng. Ứng dụng chỉ cần tập trung vào việc tương tác với kernel và không cần quan tâm đến các chi tiết của phần cứng.

Nhân của một hệ điều hành hiện đại thường cung cấp bốn khả năng cơ bản sau:

  • Quản lý quy trình và luồng xác định mức sử dụng CPU;
  • Quản lý bộ nhớ, xác định việc phân bổ và tái chế bộ nhớ;
  • Quản lý thiết bị phần cứng, cung cấp khả năng giao tiếp cho các tiến trình và thiết bị phần cứng;
  • Các cuộc gọi hệ thống đóng vai trò là giao diện giữa các chương trình người dùng và hệ điều hành.

Kernel có quyền cao hơn và có thể kiểm soát phần cứng như CPU, bộ nhớ, đĩa cứng, v.v., trong khi các ứng dụng có quyền nhỏ hơn. Do đó, hầu hết các hệ điều hành đều chia bộ nhớ thành hai khu vực: không gian kernel chỉ có thể truy cập được đối với các chương trình kernel và không gian người dùng dành riêng cho việc sử dụng ứng dụng.

Không gian người dùng có quyền truy cập hạn chế, trong khi không gian kernel có quyền truy cập vào tất cả không gian bộ nhớ. Do đó, các dự án và ứng dụng Spring của chúng ta chạy ở chế độ người dùng. Khi chúng ta cần truy cập vào không gian kernel, chương trình sẽ chuyển sang chế độ kernel để thực thi. Nếu một ứng dụng cần vào không gian kernel, nó cần sử dụng các lệnh gọi hệ thống. Tiếp theo chúng ta hãy xem quá trình gọi hệ thống:

hình ảnh

quá trình khởi động máy tính

Dưới đây là phần giới thiệu ngắn gọn về ROM (Bộ nhớ chỉ đọc) là một chương trình phần sụn được lưu trữ trên bo mạch chủ máy tính. Chức năng chính của nó là lưu trữ chương trình cơ sở Hệ thống đầu vào đầu vào cơ bản (BIOS) cần thiết để khởi động hệ thống máy tính. Khi máy tính được bật, trước tiên nó sẽ tải và thực thi chương trình BIOS trong ROM, có nhiệm vụ khởi tạo các thiết bị phần cứng, phát hiện cấu hình hệ thống và khởi động quá trình tải hệ điều hành. Nếu bạn đã từng cài đặt lại hệ thống thì chắc hẳn bạn đã quen với giao diện này.

hình ảnh

Không giống như ROM, RAM (Bộ nhớ truy cập ngẫu nhiên) là bộ nhớ tạm thời có thể đọc và ghi, tức là một thẻ nhớ. Nó dùng để lưu trữ tạm thời các chương trình, dữ liệu đang chạy để CPU có thể truy cập và xử lý nhanh chóng. Tốc độ đọc và ghi của RAM rất nhanh, cho phép máy tính hoàn thành một lượng lớn thao tác dữ liệu trong một khoảng thời gian ngắn.

Nếu hệ thống máy tính của bạn thường xuyên bị treo hoặc chạy chậm thì việc tăng dung lượng RAM có thể là một giải pháp hữu hiệu. Bằng cách thêm các mô-đun bộ nhớ, bạn có thể cải thiện tốc độ chạy và khả năng phản hồi của máy tính, giúp các chương trình và hệ thống mượt mà hơn.

cuộc gọi hệ thống

Chúng tôi đã đề cập trước đó rằng nếu bạn cần chuyển chế độ người dùng sang chế độ kernel, bạn cần có lệnh gọi hệ thống. Cuộc gọi hệ thống là một giao diện được hệ điều hành cung cấp cho một chương trình ứng dụng. Nó cho phép chương trình ứng dụng yêu cầu hệ điều hành thực hiện một số hành động cụ thể. hoạt động hoặc cung cấp các chức năng cụ thể. Các ứng dụng truy cập các chức năng của nhân hệ điều hành thông qua các lệnh gọi hệ thống, chẳng hạn như thao tác tệp, giao tiếp mạng, quản lý quy trình, v.v.

Ví dụ: nhiều quy trình cần in tập tin ra máy in. Nếu bạn in ngẫu nhiên, cùng một mảnh giấy sẽ xuất hiện. Dòng đầu tiên là văn bản xuất ra của quy trình A và dòng thứ hai là văn bản xuất ra của quy trình B. tất cả đều rối tung lên. Do đó, hoạt động trực tiếp của máy in được đặt trong nhân hệ điều hành và quá trình này không thể vận hành nó một cách tùy tiện. Cuộc gọi hệ thống sẽ cung cấp cho quy trình một khóa mutex cấp hạt nhân, khóa này thường đáng tin cậy hơn khóa cấp chương trình của chính bạn.

Các chương trình UNIX bao gồm mã thực hiện các hoạt động cụ thể hoặc các hoạt động khác và cung cấp các dịch vụ nhất định thông qua các lệnh gọi hệ thống. Ngược lại, các ứng dụng trong hệ thống Windows thường hướng sự kiện. Chương trình chính sẽ đợi một sự kiện cụ thể xảy ra, sau đó gọi chương trình tương ứng để xử lý sự kiện đó. Những sự kiện này có thể là thao tác gõ bàn phím, trượt chuột, nhấp chuột hoặc cắm ổ USB. Hệ điều hành gọi bộ xử lý để xử lý các sự kiện này, cập nhật màn hình và cập nhật trạng thái bên trong của chương trình. Phong cách thiết kế này khác với các hệ thống UNIX.

Nói chung, các cuộc gọi hệ thống có thể được coi là một phòng dịch vụ. Cho dù ứng dụng của bạn muốn làm gì thì nó cũng phải được hoàn thành thông qua các cuộc gọi hệ thống. Cuộc gọi hệ thống cung cấp giao diện để truy cập các chức năng của hệ điều hành, cho phép các ứng dụng yêu cầu các hoạt động cụ thể hoặc nhận được các dịch vụ cụ thể.

Tóm tắt

Tóm lại, hệ điều hành là một phần không thể thiếu của máy tính, kết nối phần cứng và ứng dụng. Kernel là cốt lõi của hệ điều hành và chịu trách nhiệm quản lý các tiến trình và luồng, bộ nhớ, thiết bị phần cứng và cung cấp giao diện cuộc gọi hệ thống. Trong quá trình khởi động máy tính, ROM chịu trách nhiệm tải và thực thi các chương trình BIOS, còn RAM dùng để lưu trữ các chương trình và dữ liệu đang chạy. Cuộc gọi hệ thống là giao diện được hệ điều hành cung cấp cho chương trình ứng dụng. Thông qua cuộc gọi hệ thống, các chức năng của hệ điều hành có thể được truy cập. Cuộc gọi hệ thống tương đương với phòng dịch vụ. Ứng dụng cần hoàn thành các hoạt động cụ thể hoặc nhận các dịch vụ cụ thể thông qua cuộc gọi hệ thống.

Cuối cùng, bài viết về khám phá hệ điều hành: những bí ẩn của kernel, quá trình khởi động và các lệnh gọi hệ thống kết thúc ở đây. Nếu bạn muốn biết thêm về việc khám phá hệ điều hành: những bí ẩn về kernel, quá trình khởi động và các lệnh gọi hệ thống, vui lòng tìm kiếm CFSDN. Hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

34 4 0
tôi là một con chim nhỏ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress