OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

<Trước | Nội dung | Tiếp theo>

Hơn nữa, Linux dựa trên UNIX, nơi mà chính sách phổ biến là có nhiều người dùng chạy nhiều lệnh, cùng lúc và trên cùng một hệ thống. Rõ ràng là phải thực hiện các biện pháp để CPU quản lý tất cả các quy trình này và chức năng đó phải được cung cấp để người dùng có thể chuyển đổi giữa các quy trình. Trong một số trường hợp, các quy trình sẽ phải tiếp tục chạy ngay cả khi người dùng đã đăng xuất chúng. Và người dùng cần một phương tiện để kích hoạt lại các tiến trình bị gián đoạn.


Chúng tôi sẽ giải thích cấu trúc của các tiến trình Linux trong các phần tiếp theo.


hình ảnh

4.1.2. Các loại quy trình


4.1.2.1. Quy trình tương tác


Các quy trình tương tác được khởi tạo và kiểm soát thông qua một phiên đầu cuối. Nói cách khác, phải có một người nào đó được kết nối với hệ thống để bắt đầu các quá trình này; chúng không được khởi động tự động như một phần của các chức năng hệ thống. Các quy trình này có thể chạy ở phía trước, chiếm dụng thiết bị đầu cuối đã khởi động chương trình và bạn không thể khởi động các ứng dụng khác miễn là quá trình này đang chạy ở phía trước. Ngoài ra, chúng có thể chạy ở chế độ nền để thiết bị đầu cuối mà bạn khởi động chương trình có thể chấp nhận các lệnh mới trong khi chương trình đang chạy. Cho đến nay, chúng tôi chủ yếu tập trung vào các chương trình đang chạy ở nền trước - khoảng thời gian cần thiết để chạy chúng quá ngắn để nhận thấy - nhưng việc xem một tệp có ít lệnh là một ví dụ điển hình về lệnh chiếm phiên đầu cuối. Trong trường hợp này, chương trình đã được kích hoạt đang chờ bạn làm điều gì đó. Chương trình vẫn được kết nối với thiết bị đầu cuối từ nơi nó được bắt đầu và thiết bị đầu cuối chỉ hữu ích để nhập các lệnh mà chương trình này có thể hiểu được. Các lệnh khác sẽ chỉ dẫn đến lỗi hoặc


không phản hồi của hệ thống.


Tuy nhiên, trong khi một tiến trình chạy ở chế độ nền, người dùng không bị ngăn cản làm những việc khác trong thiết bị đầu cuối mà anh ta đã khởi động chương trình, trong khi nó đang chạy.


Vỏ cung cấp một tính năng được gọi là kiểm soát công việc cho phép dễ dàng xử lý nhiều quy trình. Cơ chế này chuyển đổi các quy trình giữa tiền cảnh và hậu cảnh. Sử dụng hệ thống này, các chương trình cũng có thể được khởi động ở chế độ nền ngay lập tức.


hình ảnh

Chạy một tiến trình trong nền chỉ hữu ích cho các chương trình không cần người dùng nhập (thông qua trình bao). Đặt một công việc ở chế độ nền thường được thực hiện khi việc thực thi công việc dự kiến ​​sẽ mất nhiều thời gian. Để giải phóng thiết bị đầu cuối phát hành sau khi nhập lệnh, một dấu và ở cuối được thêm vào. Trong ví dụ, bằng cách sử dụng chế độ đồ họa, chúng tôi mở thêm một cửa sổ đầu cuối từ cửa sổ hiện có:


billy: ~> xterm &

[1] 26558


billy: ~> việc làm

[1] + Đang chạy

xterm &

billy: ~> xterm &

[1] 26558


billy: ~> việc làm

[1] + Đang chạy

Các tính năng kiểm soát công việc đầy đủ được giải thích chi tiết trong bash Các trang thông tin, vì vậy chỉ những ứng dụng kiểm soát công việc thường được sử dụng mới được liệt kê ở đây:


Bảng 4-1. Kiểm soát quy trình


(một phần của) lệnh

Ý nghĩa

câu_lệnh thường_phục

Chạy lệnh này ở phía trước.

chỉ huy &

Chạy lệnh này trong nền (nhả thiết bị đầu cuối)

việc làm

Hiển thị các lệnh chạy trong nền.

Ctrl+Z

Tạm dừng (dừng, nhưng không thoát) một tiến trình đang chạy ở phía trước (tạm ngừng).

Ctrl+C

Ngắt (chấm dứt và thoát) một tiến trình đang chạy ở phía trước.


%n

Mọi tiến trình chạy trong nền đều được gán một số cho nó. Ví dụ: bằng cách sử dụng biểu thức%, một công việc có thể được tham chiếu bằng cách sử dụng số của nó fg %2.

bg

Kích hoạt lại một chương trình bị treo trong nền.

fg

Đặt công việc trở lại ở phía trước.

giết

Kết thúc một quá trình (cũng xem các Lệnh Shell Builtin trong các trang Thông tin của bash)

Các ví dụ thực tế hơn có thể được tìm thấy trong các bài tập.


Hầu hết các hệ thống UNIX đều có thể chạy màn, điều này rất hữu ích khi bạn thực sự muốn một trình bao khác thực thi các lệnh. Khi gọi màn, một phiên mới được tạo với một trình bao đi kèm và / hoặc các lệnh như được chỉ định, sau đó bạn có thể thực hiện theo cách này. Trong phiên mới này, bạn có thể làm bất cứ điều gì bạn muốn. Tất cả các chương trình và hoạt động sẽ chạy độc lập với trình bao phát hành. Sau đó, bạn có thể tách phiên này ra, trong khi các chương trình bạn đã bắt đầu trong đó tiếp tục chạy, ngay cả khi bạn đăng xuất khỏi trình bao ban đầu và chọn màn up lại bất cứ lúc nào bạn thích.


Chương trình này bắt nguồn từ thời kỳ khi bảng điều khiển ảo chưa được phát minh và mọi thứ cần được thực hiện bằng một thiết bị đầu cuối văn bản. Đối với những người nghiện, nó vẫn có ý nghĩa trong Linux, mặc dù chúng ta đã có bảng điều khiển ảo được gần mười năm.


hình ảnh


4.1.2.2. Quy trình tự động


Các quy trình tự động hoặc hàng loạt không được kết nối với thiết bị đầu cuối. Thay vào đó, đây là những tác vụ có thể được xếp hàng đợi vào một vùng bộ đệm, nơi chúng chờ được thực thi trên cơ sở FIFO (nhập trước, xuất trước). Các tác vụ như vậy có thể được thực thi bằng một trong hai tiêu chí:


Vào một ngày và giờ nhất định: được thực hiện bằng cách sử dụng at lệnh mà chúng ta sẽ thảo luận trong phần thứ hai của chương này.

Vào những thời điểm khi tổng tải hệ thống đủ thấp để chấp nhận các công việc phụ: được thực hiện bằng cách sử dụng hàng loạt chỉ huy. Theo mặc định, các tác vụ được đưa vào một hàng đợi để chúng chờ được thực thi cho đến khi tải hệ thống thấp hơn 0.8. Trong môi trường lớn, quản trị viên hệ thống có thể thích xử lý hàng loạt khi phải xử lý một lượng lớn dữ liệu hoặc khi các tác vụ đòi hỏi nhiều tài nguyên hệ thống phải được thực thi trên một hệ thống đã được tải. Xử lý hàng loạt cũng được sử dụng để tối ưu hóa hiệu suất hệ thống.


hình ảnh

4.1.2.3. yêu tinh


Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: