u40hoccode.devMô 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...Feb 8·5 min read
u40hoccode.devQuả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. ...Jan 30·5 min read
u40hoccode.devSemaphore 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...Jan 24·5 min read
u40hoccode.devCá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...Jan 19·4 min read
u40hoccode.devRace 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...Jan 17·5 min read