1. 커널 개요 1) 임베디드 리눅스의 커널의 사용 목적과 기능에 대해서 커널은 운영체제의 핵심 요소로 응용 프로그램의 동작 환경을 제공한다. 또한, 부팅 시 메모리에 적재되며 컴퓨터의 모든 자원을 관리한다. 특히 운영체계의 다른 모든 부분에 여러 가지 기본적인 서비스를 제공하는데 프로세스(생성 및 소멸, 프로세스간 통신, CPU 스케줄링 동기화 등), 메모리(가상 메모리 관리기법, 메모리 하드웨어의 효율적인 관리), 파일 시스템(가상 파일 시스템에 의한 여러 파일 시스템 지원 등), 디바이스 드라이버(입출력 요청의 검증, 입출력 작업 스케쥴링 등), 네트워크(통신 프로토콜 구현(TCP/UDP, IP 등))를 관리하며 정보통신과 컴퓨터 기술의 발전으로 네트워크, GUI 관리까지 확장되었다. 커널의 서비스..
1. U-Boot 개요 부트로더는 타깃 초기화 및 타깃 동작환경을 설정하고 시스템 운영체제 부팅, 플래시 메모리 관리 등의 역할을 한다. 하지만 부트로더 자체의 기능만 사용한다면 다른 부트로더를 사용해도 무방하다. U-boot(Universal BOOTloader)는 PowerPC와 ARM 임베디드 시스템에서 기반을 두고 사용되는 부트로더이며, 가장 활발하게 개발되고 다양하게 사용되는 오픈소스이다. PPC, ARM, MIPS 등 다양한 CPU를 지원하며, TFTP를 이용하여 운영체제 부팅이 가능하고 플래시 메모리, IDE, SCSI 등 다양한 매체를 이용하여 부팅도 가능하다. JFFS2파일 시스템을 비롯한 다양한 파일시스템을 관리하는 기능이 있으며, 각 CPU에 대한 명령어 체계가 동일하여 다른 Plat..
Oracle VM VirtualBox 사용 개발 환경: Ubuntu 20.04(64-bit) 1. 개발소스 설치 1) gcc, g++, gcc-multilib, g++-multilib 설치 'apt install' 명령을 이용하여 gcc, g++, gcc-multilib, g++-multilib 컴파일러 설치 한꺼번에 작성해도 설치 가능 root 계정이 아닐 경우 루트 계정으로 전환하거나 sudo를 앞에 적고 진행하거나 하면 된다. 4.4버전 설치 참고: https://takethat.tistory.com/23 2) u-boot-tools 설치 마찬가지로 'apt install u-boot-tools' 명령으로 설치 3) Smart4412Linux 폴더 생성 및 개발 CD 옮기기 개발 CD 이름 'dev..
인공지능 중 머신러닝, 딥러닝 학습을 위해 마크다운형식으로 블로그를 제작하였습니다. 관련 포스팅은 그 곳에 하도록 하겠습니다. 23.05.18 추가) 예.. 귀찮아서 안씁니다.. 그렇게 됐습니다... 남겨는 놓겠습니다. 밑에 있는 주소는 순서대로 깃허브 링크, 깃허브 블로그 링크입니다. github URL : https://github.com/Oh3gwnn/Machine_Learning_Practice github blog URL : https://Oh3gwnn.github.io/
2020-06-17 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 실습문제 12.1~12.3 (교재 398P) 풀이 1) 파일 상태 정보 (1) test.txt 파일을 만들어 이 파일에 대해 ls –sl 명령어를 사용하고 그 출력 결과를 설명하시오. vi test.txt로 테스트 텍스트 파일을 만들고, ls –sl으로 파일에 대한 정보를 확인한다. 순서대로 블록 수, 파일 타입, 접근 권한, 링크 수, 사용자ID, 그룹ID, 파일크기, 최종 수정시간, 파일 이름이다. (2) test.txt 파일에 대해 stat 명령어를 사용하고 그 출력 결과를 설명하시오. test.txt의 자세한 상태 정보를 출력한다. (3) test.txt 파일에 대해 ls –i 명령어를 이용하여 i-노드 번호를..
2020-06-14 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 실습문제 11.1~11.5 (교재 367P) 풀이 1) 문서 편집 gedit 혹은 vi 에디터를 사용하여 자기를 소개하는 글을 작성하시오. 작성한 파일(intro)에 대해서 다음 명령을 실행하시오. 우선 vi로 intro 파일을 만들었다. 이 파일에 대한 명령을 차례대로 실행해보면 1. cat intro cat으로 문서를 볼 수 있다. 2. cat –n intro cat에서 –n으로 옵션을 주면 번호순으로 문서를 볼 수 있다. 3. more intro more은 긴 파일일 경우에 한 페이지씩 볼 수 있게 해준다. 4. tail intro tail은 뒤에서부터 세서 출력한다. 5. tail –5 intro 그래서 –5를..
2020-06-06 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 실습문제 10.1~10.3 (교재 333~334P) 풀이 1) 다음과 같은 파일 명령어 메뉴 시스템을 Bash 스크립트로 작성해보자. 우선 vi practice1.bash로 bash를 하나 만든다. (1) 메뉴화면을 작성하고 출력한다. (2) 메인 메뉴에서 사용자가 “1”을 입력하면, 다음과 같은 화면이 나온다. 사용자가 디렉터리 이름을 입력하면 해당 디렉터리 내용을 다음과 같이 화면에 출력한다. 메인 메뉴 화면에서 read로 번호를 불러와 ‘num’에 저장한다. 그리고 if문에서 num에 따라 내용이 나오도록 출력한다. 그리고 리스트할 디렉터리를 입력하면 dirname에 저장하고 그 디렉터리의 내용을 ls –l로 출..
2020-06-06 기준으로 작성되었으며, 블로그 글 작성을 위해 조금 수정되었습니다. 예제 1) .bash_profile .bash_profile 실행 시 홈 디렉터리에 위치한 .bashrc를 실행한다. 그리고 사용자의 환경 변수를 설정한다. 예제 2) .bashrc .bashrc실행 시 /etc/bashrc파일이 있는지 확인하여 있으면 실행하고 4개의 별명(alias)을 정의한다. ~/.bash_profile 파일이 실행되면 .bashrc 파일과 /etc/bashrc 파일이 자동적으로 함께 실행된다. alias로 확인 결과 잘 적용된 것을 볼 수 있다. 예제 3) builtin.bash vi 에디터를 이용해 예제를 작성한다. 또한 캡처는 안했지만 chmod +x로 실행 권한도 부여한다. 실행 결과 $..