[C언어] C의 파일 입출력
·
소프트웨어/C
C를 이용한 문법 중, 항상 파일 입출력 부분의 개념이 헷갈렸다. 마침 보고있던 책인 서영진(2020),『사물인터넷을 위한 리눅스 프로그래밍 with 라즈베리파이, 제이펍, p188-p201. 에 내용 정리가 잘 되어있어, 해당 부분을 요약해 포스팅한다. 1. 표준 입출력 라이브러리유닉스가 개발되었던 초기에는 데이터를 저장하거나 출력하면 입출력 시간 때문에 프로그램이 멈춰있는 시간이 너무 길어졌다. 이러한 문제를 해결하기 위해 등장한 것이 바로 표준 입출력 라이브러리로, 컴퓨터 외부로 출력할 때 데이터를 바로 출력하지 않고 "버퍼(컴퓨터 메모리를 이용)"에 저장하는데, 버퍼가 가득 차거나 일정 시간이 지나면 출력한다.이런 표준 입출력 라이브러리에 여러 표준 함수들을 추가한 것이 C표준 라이브러리인데, ..
AI시대 SW 학습법
·
Insights
Jaeyun Henry Lee 님의 글을 퍼왔습니다. 저 또한 AI시대의 학습에 있어 공감가는 포인트가 많아 블로그에 글을 공유합니다.https://www.linkedin.com/feed/update/urn:li:activity:7401140553511419904/ 이재형님의 LinkedIn 활동 보기로그인 또는 회원 가입 후 더 확인해 보세요.www.linkedin.com고졸 출신이 OpenAI 연구원이 된 이야기 (정말 많이 공감되는 AI 시대 학습법)스웨덴 시골 마을 고등학교 중퇴자가 어떻게 최고의 기업인 OpenAI, 그것도 Sora 팀의 연구원이 됐는지 가브리엘 피터슨이 직접 그 비결을 풀었습니다. AI 시대에 어떻게 변화해서 학습하고, 앞으론 어떻게 커리어를 쌓아야 하는지에 대한 "진짜 공략집..
[C] 매크로 함수
·
소프트웨어/C
매번 헷갈리는 매크로 함수를 정리해보았다. 매크로#define 매크로명 치환될_부분#define은 매크로명을 정의하는 전처리 지시자로, 위와 같이 사용한다.매크로명을 정의하면 복잡한 상수나 문장을 의미 있는 단어로 쓸 수 있다.#define PI 3.14159예를 들어, 위와 같이 PI를 정의한다면, 3.14159 대신 PI를 사용하여 가독성을 높일 수 있다.이와 같은 매크로 유형은 "매크로 상수" 라고 한다. #define을 사용한 매크로 함수내가 리눅스 커널을 분석하며 헷갈렸던 부분이다. 매크로 함수가 어마어마하게 많이 나온다.매크로 함수는 인수에 따라 서로 다른 결괏값을 갖도록 치환된다. 따라서 비록 함수는 아니지만 인수를 주고 함수처럼 쓸 수 있다. #define 매크로_함수명(인수) 치환될_부분..
[Linux] 임베디드 리눅스 부팅 타임 최적화
·
Embedded Systems/리눅스
임베디드 리눅스 프로젝트를 수행하며 좋은 아티클이 있어 번역해보았다.https://medium.com/@therealcomtom/reducing-linux-booting-time-b5d0a061e05a임베디드 장치들은 어떻게 그렇게 빠르게 부팅되는지 궁금해본 적 있는가?그런 기기들은 자원이 매우 제한적임에도 불구하고, 데스크탑이나 노트북 컴퓨터와 비교했을 때 부팅 시간을 상당히 줄여낸다. 물론, 기본적으로 임베디드 장치들은 단 하나의 작업만 수행하도록 설계되어 있기 때문에, 운영체제가 불필요한 기능이 제거된 축소 버전이며, 거의 항상 리눅스 기반이다. 그리고 그 운영체제는 특정 하드웨어를 대상으로 빌드되기 때문에, 일반적인 리눅스 배포판처럼 다양한 기종을 지원할 필요도 없다. 그렇다면 이런 장치들에서 사..
[논문 리뷰] Enhanced Configurable Snapshot: Snapshot-based Fast Booting on NAND Flash with Lifetime Control
·
Embedded Systems
Abstract연구 배경: 빠른 부팅 방식인 영구 메모리 부팅은 아직 상용화 하기엔 이르다>많은 소비자 전자기기에서 사용자 경험을 개선하기 위한 빠른 boot time은 이제 주된 이슈가 되었다. 영구 메모리를 사용한 즉각적인 on/off는 1초 미만의 부팅을 주장하지만, 기술적 성숙도는 여전히 진행중이고 가격은 현실적인 수준에 도달하지 못하였다. 따라서, NAND flash를 사용한 스냅샷 기반 부팅은 현재 소비자 산업에서 매력적인 솔루션이다. 그러나 스냅샷 기반 부팅 기술은 스냅샷 이미지를 저장할 때 NAND flash 메모리와 같은 기본 스토리지 장치에 추가적인 write를 발생시킨다. 따라서 NAND flash 메모리에 이 기술을 나이브하게 적용하면 NAND flash의 제한된 수명으로 신뢰성 문..