tailieunhanh - Bài giảng Hệ điều hành: Chương 2B - Thread
Mời các bạn tham khảo bài giảng Hệ điều hành: Chương 2B - Thread sau đây để nắm bắt được những kiến thức về các khái niệm tổng quan; các mô hình multithread; Pthread (POSIX thread); Multithreading trong Solaris. Với các bạn chuyên ngành Công nghệ thông tin thì đây là tài liệu hữu ích. | Chương Thread Khái niệm tổng quan Các mô hình multithread Pthread (POSIX thread) Multithreading trong Solaris Xem xét lại khái niệm quá trình Nhìn lại và phân tích khái niệm quá trình truyền thống: quá trình gồm 1. Không gian địa chỉ chứa code, data, heap (Unix: text, data, heap section) 2. Một luồng thực thi duy nhất (single thread of execution) program counter các register stack (Unix: stack section) 3. Các tài nguyên khác (các open file, các quá trình con, ) Mở rộng khái niệm quá trình Mở rộng khái niệm quá trình truyền thống bằng cách hiện thực nhiều luồng thực thi trong cùng một môi trường của quá trình. Quá trình gồm 1. Không gian địa chỉ 2’. Một hay nhiều luồng thực thi, mỗi luồng thực thi (thread) có riêng program counter các register stack 3. Các tài nguyên khác (các open file, các quá trình con, ) Quá trình đa luồng (Multi-threaded process) Khi quá trình khởi đầu chỉ có main (hay initial) thread thực thi Main thread sẽ tạo các thread khác. Các thread trong cùng một process chia sẻ code, data và tài nguyên khác (các file đang mở,.) của process. Quá trình đa luồng (multithreaded process) là quá trình có nhiều luồng. Sử dụng thread Trình soạn thảo văn bản với ba thread mouse backup formatting Process & thread information Per process items Address space Open files Child processes Signals & handlers Accounting info Global variables Per thread items Program counter Registers Stack & stack pointer State Per thread items Program counter Registers Stack & stack pointer State Per thread items Program counter Registers Stack & stack pointer State Quá trình có ba thread Chia sẻ CPU giữa các thread (1/2) CPU time ba quá trình single-threaded Chia sẻ CPU giữa các thread (2/2) CPU hai quá trình multithreaded time Ví dụ chương trình sử dụng Pthread #include void* thread1(){ int i; for (i = 0; i Chương Thread Khái niệm tổng quan Các mô hình multithread Pthread (POSIX thread) Multithreading trong Solaris Xem xét lại khái niệm quá trình Nhìn lại và phân tích khái niệm quá trình truyền thống: quá trình gồm 1. Không gian địa chỉ chứa code, data, heap (Unix: text, data, heap section) 2. Một luồng thực thi duy nhất (single thread of execution) program counter các register stack (Unix: stack section) 3. Các tài nguyên khác (các open file, các quá trình con, ) Mở rộng khái niệm quá trình Mở rộng khái niệm quá trình truyền thống bằng cách hiện thực nhiều luồng thực thi trong cùng một môi trường của quá trình. Quá trình gồm 1. Không gian địa chỉ 2’. Một hay nhiều luồng thực thi, mỗi luồng thực thi (thread) có riêng program counter các register stack 3. Các tài nguyên khác (các open file, các quá trình con, ) Quá trình đa luồng (Multi-threaded process) Khi quá trình khởi đầu chỉ có main (hay initial) thread thực thi Main thread sẽ tạo các thread khác. Các
đang nạp các trang xem trước