Tìm hiểu về process là gì? Hệ điều hành là gì, liên quan như thế nào tới process

Chiếc máy tính trong những năm đầu được chế tạo và phát triển chỉ cho phép một chương trình được chạy tại một thời điểm. Vì thế chương trình đang chạy ấy có quyền điều khiển cả hệ thống. Sau đó, xuất hiện hệ thống cho phép nhiều chương trình chạy cùng lúc. Do thế cần phân rõ quyền điều khiển cũng như sự phân chia tài nguyên của hệ thống cho các chương trình đang chạy. Từ đó xuất hiện khái niệm về quá trình (process). Vậy process là gì

process là gì?

Vậy process là gì? Hãy cùng tìm hiểu bài viết dưới đây nhé

Hệ điều hành là gì?

Trước tiên để định nghĩa được process ta cần hiểu được hệ điều hành là gì.

Hệ điều hành là một phần mềm chạy trên máy tính và các thiết bị di động, dùng để điều hành, quản lý các thiết bị phần cứng và các tài nguyên phần mềm trên máy tính, và các thiết bị di động.

Hệ điều hành đóng vai trò trung gian trong việc giao tiếp giữa người sử dụng và phần cứng máy tính, cung cấp một môi trường cho phép người sử dụng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng.

Những “công việc” mà hệ điều hành thực hiện gọi là quá trình ( Process)

Hệ điều hành là gì?

Process là gì?

Process (quá trình) là trạng thái tức thời của một chương trình đang chạy trên máy tính. Nó bao gồm bộ nhớ cần thiết để chạy chương trình (không gian địa chỉ của quá trình) và khả năng kiểm soát hiện trạng của bộ xử lý trong quá trình thực thi chương trình (tiến trình điều khiển của quá trình). Luồng (thread) tương tự như quá trình nhưng chỉ bao gồm tiến trình điều khiển. Nhiều luồng sử dụng không gian địa chỉ của một quá trình.

Process là gì?

Process và Thread khác nhau thế nào

  • Process là quá trình hoạt động của một ứng dụng. Ví dụ khi bạn click đúp chuột vào biểu tượng MS Word, một process chạy ứng dụng Word được khởi tạo. Còn Thread là một bước điều hành bên trong một process.

  • Một process có thể chứa nhiều thread bên trong nó.

  • Một thread có thể làm bất cứ nhiệm vụ gì một process có thể làm. Tuy nhiên, vì một process có thể chứa nhiều thread, mỗi thread có thể coi như là một process nhỏ. Nên điểm khác biệt mấu chốt giữa thread và process là công việc mỗi cái thường phải làm.

  • Nhiều thread nằm trong cùng một process dùng một không gian bộ nhớ giống nhau, trong khi process thì không. Giao thức giữa các process, hay còn gọi là IPC (inter-process communication) thì tương đối phức tạp bởi các dữ liệu có tính tập trung sâu hơn.

Các trạng thái trong process

Khi 1 process chạy, nó thay đổi trạng thái. Process sẽ có 1 trong những trạng thái sau:

  1. New - Process được khởi tạo

  2. Running - các đoạn code được chạy

  3. Waiting- Process đang đợi các sự kiện như I/O...

  4. Ready - Process đang đợi để được gán vào processor

  5. Terminated - Process kết thúc

Các bước chuyển quá trình của process:

(1): Những process được chương trình tạo ra, được sắp vào “hàng chờ” (stack).

(2): Process được CPU thấy và thực thi.

(3): Khi process quá lớn, CPU phải nhả để thực hiện process khác.

(4): Khi process đã được thực hiện xong.

(5): Khi process đang thực hiện và yêu cầu I/O hay các tín hiệu khác.

(6): Sau khi I/O hay tín hiệu đã đến, process được sắp lại vào “hàng chờ”, chờ thực thi.

Những thông tin được chứa trong Process control block ( PCB)

Những thông tin được chứa trong Process control block ( PCB)

  1. Trạng thái của process: 1 trong các trạng thái được liệt kê bên trên

  2. Bộ đếm (program counter): chứa địa chỉ (hay trong ngôn ngữ lập trình C, ta gọi nó là con trỏ/ pointer) đến lệnh cần thực thi tiếp theo

  3. Thanh ghi CPU: có kiểu khác nhau tùy vào kiến trúc máy tính

  4. Thông tin định thời CPU: độ ưu tiên của các process, quy định process nào thì thực thi trước

  5. Thông tin quản lý bộ nhớ: tùy hệ thống bộ nhớ của từng hệ điều hành

  6. Trạng thái của các tín hiệu I/O: danh sách các I/O được sử dụng bởi các process

  7. Thông tin về số lượng CPU, thời gian sử dụng thực tế, thời gian process được giữ CPU tối đa

Processing là gì?

Ko giống với process, processing là một ngôn ngữ lập trình hiện đại( ra đời năm 2001) cho phép lập trình các ứng dụng đồ họa trên môi trường Window, Linus, Mac Android và cả Web. Nếu bạn đã học C thì bạn có thể tự học Processing rất dễ dàng.

Định dang một tập tin Processing là *pde

Hub là gì?

Hub là gì?

Khi đề cập đến mạng máy tính, hub là thiết bị mạng cơ bản nhất kết nối nhiều máy tính hoặc các thiết bị mạng khác với nhau. Không giống như bộ chuyển mạch switch hoặc bộ định tuyến router, hub mạng không có bảng định tuyến hoặc thông minh về nơi gửi thông tin và phát tất cả dữ liệu mạng trên mỗi kết nối.

Hầu hết các hub có thể phát hiện các lỗi mạng cơ bản như va chạm, nhưng việc phát mọi thông tin được truyền đến nhiều cổng có thể là một nguy cơ bảo mật và gây tắc nghẽn. Trong quá khứ, các hub mạng phổ biến vì chúng rẻ hơn một switch hoặc router. Hôm nay, thiết bị chuyển mạch không chi phí nhiều hơn một trung tâm và là một giải pháp tốt hơn cho bất kỳ mạng nào.

Một hub, cũng được gọi là hub mạng, là một điểm kết nối chung cho các thiết bị trong mạng. Hub là các thiết bị thường được sử dụng để kết nối các phân đoạn của mạng LAN. Trung tâm chứa nhiều cổng. Khi một gói đến một cổng, nó được sao chép sang các cổng khác để tất cả các phân đoạn của mạng LAN có thể xem tất cả các gói.