ThanhNT Blog's

Computer, Networking, Embedded Systems, PCB Design

Từ khóa Static trong lập trình C/C++

Từ khóa Static Mở đầu Khi học C cơ bản, chắc hẳn bạn sẽ gặp cách dùng từ khoá static như ví dụ dưới đây: #include <stdio.h> void count(int i) { static int num = 0; num += i; printf("current value of num: %d\n", num); } int main() { count(1); count(3); return 0; } Kết quả khi chạy chương trình sẽ là: current value of num: 1 current value of num: 4 Biến num khai báo static như trên có 2 đặc điểm:

Cách thiết lập bonding interface trong RHEL6

Bonding Interface RHEL (Redhat enterprise Linux) cho phép quản trị hệ thống kết hợp nhiều network interface vào thành 1 interface sử dụng bonding module của Linux kernel và một interface bonding. Điều này cho phép 2 network interface hoạt động như 1 interface. Điều này đem lại 2 lợi ích. Tăng độ tin cậy. Bonding module có thể cho phép 2 interface hoạt động ở chế độ active-standby. Khi đường truyền active interface bị lỗi, dẫn đến việc không truyền tải được nội dung, Linux kernel sẽ tự động chuyển qua standby interface.

[Hệ thống] Tràn bộ nhớ Stack

Bộ nhớ Stack Stack là gì Stack là vùng nhớ dành cho các biến local, địa chỉ của bộ đếm chương trình. Trong ứng dụng nhúng với tài nguyên giới hạn, phần mềm nếu thiết kế không tốt có thể dẫn đến tràn stack , từ đó gây ra những lỗi với hiện tượng khó xác đinh lúc runtime. Để tránh việc này, các nhà lập trình được khuyến cáo không khai báo một mảng local quá lớn và không dùng đệ quy trong các ứng dụng nhúng.

Cuộc sống bí ẩn của các Hacker

Có phải hacker là những kẻ sống trong bóng tối? Hacker là ai? Họ khác người thường ở chỗ nào? Khi nghe tới Hacker, nhiều người liên tưởng tới ngay những kiểu như “tội phạm công nghệ cao” hay “thành phần xấu”. Thực ra có rất nhiều dạng Hacker, trong đó có không ít những người đem kiến thức sâu rộng của mình để phục vụ nhân loại, bên cạnh đó thì một cơ số lại đem kiến thức đó đi để làm những mục đích không tốt.

RTOS - Lắp thêm cánh cho vi điều khiển

Vi điều khiển (MCU) chính là trung tâm của hệ thống nhúng và sức mạnh của hệ thống này sẽ được tiêm thêm liều “doping” với một hệ điều hành thời gian thực RTOS (Real Time Operating System). Vậy RTOS là gì? RTOS là một hệ điều hành đa nhiệm trong đó các tác vụ được thực thi một cách song song đối với người dùng. Ở đây ta không đi sâu vào kiến trúc bên trong của Kernel, cách thức chuyển tác vụ,… mà tập trung vào giới thiệu cách thức triển khai một RTOS trên một platform của vi điều khiển.

Một số khái niệm khi làm việc với RTOS

Chú ý khi làm việc với RTOS Mutex Mutex là gì Trên một hệ điều hành thường có nhiều chương trình (hay tác vụ - task) chạy đồng thời. Mutex giúp ngăn chặn việc hai task cùng truy cập vào 1 tài nguyên (memory, register gọi chung là critical section) của hệ thống trong cùng một thời điểm. Ví dụ, ta có 1 cái FIFO, task 1 đang read FIFO, task 2 lại write FIFO, nếu task 1 chưa lấy xong phần dữ liệu cần thiết mà task 2 lại write đè vào đúng vị trí task 1 đang read, nó sẽ làm sai lệch dữ liệu mà task 1 đang đọc.

Sự thiếu an toàn của Internet - Phần 3

Phần 3: Hiểm họa được báo trước - và bị làm ngơ Tháng 5⁄1998, một nhóm hacker bao gồm 7 người ngồi trước Quốc hội Mỹ để cảnh báo về sự thiếu an toàn của Internet. Những người này không phải là những chuyên gia phân tích hay các học giả bác học đến từ những viện nghiên cứu nổi tiếng, họ chỉ là những hacker xuất hiện từ hư vô để mang đến một thông điệp vô cùng đáng sợ.

Sự thiếu an toàn của Internet - Phần 2

Phần 2: Một giải pháp được viết vội trên 3 tờ khăn ăn vẫn đang là trụ cột của Internet đến ngày nay Ba tờ khăn ăn Một thời gian sau khi Internet bắt đầu được triển khai rộng rãi, mạng này bắt đầu phát triển như vũ bão. Và khi Internet càng phát triển thì người ta càng tiến gần hơn đến giới hạn toán học của một trong những giao thức cơ bản nhất giúp hệ thống mạng này vận hành.

Sự thiếu an toàn của Internet - Phần 1

Phần 1: Internet không được xây dựng để bảo mật trước người dùng của chính mình - những vấn đề không thể được khắc phục Sự nguy hiểm đến từ bên trong David D. Clark, một nhà khoa học làm việc cho Đại học MIT, nhớ chính xác lần đầu tiên mà ông nhìn thấy mặt tối của Internet. Lúc đó ông đang ngồi trong một cuộc họp với các kĩ sư mạng vào tháng 11⁄1988, thế rồi họ vô tình nghe được tin tức về một con sâu máy tính nguy hiểm đang lây nhanh - cũng là phần mềm mã độc đầu tiên lan truyền rộng rãi trên thế giới.

RTOS là gì - Nó hoạt động như thế nào?

RTOS là gì Khi chúng ta nghe thấy ai đó nhắc tới hệ điều hành (Operating System - OS) thì chúng ta sẽ nghĩ ngay tới chiếc máy tính chạy Windows XP, Windows 7, Windows 8 hay chạy một distro Linux và Android hoặc iOS cho điện thoại. Chúng ta biết đến hệ điều hành chủ yếu là dành cho máy tính. Tuy nhiên trong thực tế, có rất nhiều thiết bị điện tử có chạy một dạng hệ điều hành rút gọn bên trong nó.