LBLê Bách Khoainu40hoccode.dev·Feb 8 · 5 min readMô hình OSI (Open System Interconnection)Mô hình OSI là mô hình kết nối các hệ thống mở, đây là mô hình căn bản về tiến trình truyền thông, thiết lập các tiêu chuẩn kiến trúc mạng, là cơ sở chung để các hệ thống giao tiếp và truyền thông được với nhau. Mô hình OSI tổ chức giao thức truyền t...00
LBLê Bách Khoainu40hoccode.dev·Jan 30 · 5 min readQuản lý bộ nhớ1. Địa chỉ vật lý và địa chỉ logic Địa chỉ vật lý là địa chỉ thực trên RAM, là địa chỉ mà CPU cuối cùng sử dụng để truy cập bộ nhớ, thông qua khối quản lý bộ nhớ (MMU). Địa chỉ logic là địa chỉ được gán cho các lệnh và dữ liệu khi chương trình chạy. ...00
LBLê Bách Khoainu40hoccode.dev·Jan 24 · 5 min readSemaphore và cách sử dụng trong lập trình đa luồngSemaphore là một cơ chế đồng bộ được sử dụng để điều phối quyền truy cập của nhiều luồng/tiến trình vào một số lượng tài nguyên hữu hạn hoặc để đồng bộ luồng trong môi trường đa luồng. 1. Cách thức hoạt động của semaphore Semaphore là một tập hợp các...00
LBLê Bách Khoainu40hoccode.dev·Jan 19 · 4 min readCách đồng bộ dữ liệu bằng Mutex trong đa luồngMutex là gì ? Mutex là chìa khóa để bảo vệ tài nguyên chung, tại một thời điểm chỉ cho phép một luồng truy cập. Nếu coi Tài nguyên chung là một cái phòng có một cửa thì Mutex chính là cái chì khóa phòng. Luồng nào lấy được chìa khóa và đi vào phòng t...00
LBLê Bách Khoainu40hoccode.dev·Jan 17 · 5 min readRace Condition, Critical Section là gì? Cách sử dụng CRITICAL_SECTION trong lập trình đa luồng (Windows API)Trong lập trình đa luồng, các luồng thuộc cùng môt tiến trình chia sẻ vùng nhớ Heap, biến toàn cục, Files. Do đó, sẽ xảy ra vấn đề tranh chấp nguồn tài nguyên giữa các luồng. 1. Race condition Race condition xảy ra khi kết quả của một chương trình ph...00