Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Windows Processes, Threads, và Handles

    Windows Processes, Threads, và Handles


    Trong hệ điều hành Windows, một ứng dụng bao gồm một hoặc nhiều process (tiến trình). Hiểu đơn giản, process là một phiên bản đang chạy của một chương trình. 1. Process (Tiến trình)


    Mỗi process cung cấp tài nguyên cần thiết để thực thi chương trình và có các đặc điểm sau:
    • Chạy trong không gian địa chỉ ảo (virtual address space).
    • Bao gồm mã thực thi (executable code).
    • Có thể mở handles đến các đối tượng hệ thống.
    • Mang theo ngữ cảnh bảo mật (security context).
    • Process ID (PID) duy nhất.
    • Sử dụng biến môi trường (environment variables).
    • Thuộc một lớp ưu tiên (priority class).
    • Được cấu hình working set tối thiểu và tối đa (dung lượng bộ nhớ có thể sử dụng).
    • Luôn có ít nhất một thread để thực thi.

    Khi được khởi chạy, process sẽ bắt đầu với một primary thread. Sau đó, từ thread này có thể sinh thêm các thread khác. 2. Thread (Luồng)


    Thread là đơn vị nhỏ nhất mà hệ điều hành cấp phát thời gian CPU. Một thread có thể thực thi bất kỳ phần nào trong mã của process.

    Tất cả thread trong một process đều:
    • Chia sẻ cùng không gian địa chỉ ảo và tài nguyên hệ thống.
    • Duy trì riêng biệt ID thread, độ ưu tiên, bộ xử lý ngoại lệ (exception handlers), thread local storage, và ngữ cảnh thực thi (registers, kernel stack, user stack, TEB – Thread Environment Block).
    • Có thể mang ngữ cảnh bảo mật riêng để mạo danh (impersonation).

    Nhờ vậy, threads có thể chạy song song trong cùng một process mà không xung đột tài nguyên. 3. Multitasking và Multiprocessor


    Windows hỗ trợ preemptive multitasking – cho phép nhiều thread từ nhiều process chạy “gần như đồng thời”.
    Trên máy nhiều CPU, số thread có thể chạy thực sự song song bằng với số lượng bộ xử lý vật lý. 4. Object và Handle


    Trong Windows, tài nguyên hệ thống (file, thread, hình ảnh đồ họa,…) được đại diện bởi object.
    • Ứng dụng không thể truy cập trực tiếp object.
    • Thay vào đó, ứng dụng phải có một handle – đây là “con trỏ an toàn” để tham chiếu đến object.
    • Handle được quản lý trong bảng nội bộ của Windows, chứa thông tin nhận dạng loại tài nguyên và địa chỉ liên kết.
    5. Windows Task Manager


    Để xem và quản lý các process, bạn có thể mở Task Manager theo 2 cách:
    • Nhấn chuột phải vào taskbar → chọn Task Manager.
    • Gõ lệnh taskmgr trong cửa sổ Command Prompt.

    Câu hỏi ôn tập


    Câu 1: Thành phần nào của Windows được ứng dụng sử dụng để thay đổi tài nguyên hệ thống?
    • Process
    • Thread
    • Task Manager
    • Object Handle

    Câu 2: Khi điều tra một ứng dụng độc hại trong Windows, hai thành phần nào đi kèm với ứng dụng cũng cần được phân tích? (Chọn 2)
    • Threads
    • DLLs
    • Processes
    • Kernel Object Handles

    Kết luận
    • Process là “container” của ứng dụng.
    • Thread là đơn vị thực thi thực sự.
    • Handle là chìa khóa để ứng dụng truy cập tài nguyên hệ thống.

    Nắm rõ mối quan hệ này sẽ giúp kỹ sư hệ thống và chuyên gia bảo mật phân tích hành vi ứng dụng, đặc biệt khi điều tra malware hoặc sự cố hiệu năng trên Windows.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X