본문 바로가기

학교 공부/내장형 시스템5

[내장형 시스템] 모듈 프로그래밍 초창기 리눅스 시스템은 Monolithic 시스템 구조이다. 시스템 일부를 수정하더라도 리눅스 전체를 다시 컴파일하고 재부팅해야 한다는 단점을 가졌다. 이후 모듈을 이용한 모듈 프로그래밍이 나오게 되었고, 커널 시스템 일부를 커널이 동작하는 과정에서 load/unload가 가능해졌다. 필요 없는 커널들, 자주 사용하지 않는 모듈들은 메모리에 적재시키지 않아도 되기 때문에 메모리 사용량이 최소화되고, 확장성 유연성을 제공한다. 모듈 프로그래밍 장점 - Device Driver를 사용할 때 유용하다 - 파일 시스템, 통신 프로토콜 및 시스템 콜 등 또한 모듈로 구현이 가능하다. 모듈 프로그래밍 특징 - event-driven 방식으로 작성 - 커널 적재 및 제거를 위한 규칙과 유틸리티가 필요하다. - obj.. 2020. 12. 2.
[내장형 시스템] 시스템 콜이란? 시스템 콜이란? : 사용자 프로세스가 운영체제에게 특정한 프로세스를 요청(화면 디스플레이 혹은 자원 요청)할 때, 시스템 콜을 통해 프로세스를 수행한다. Q. 표준 라이브러리 소스가 어떠한 과정으로 시스템 콜이 이뤄지는가? : fork() 라는 시스템 콜 호출 -> fork() 함수는 소프트웨어 인터럽트가 발생되는 코드를 지님 -> 사용자 프로세스에서 커널 프로세스로 전환 -> 시스템을 호출하여 커널 함수 실행 -> 시스템 콜을 한 명령 실행 -> 이전에 제쳐둔 프로세스 나머지 마저 수행 Q. 소프트웨어 인터럽트가 발생되는 코드 구현은 어떻게 되어있을까? (old version linux의 경우) : 라이브러리 함수 호출 -> 시스템 콜 번호 등록 -> 소프트웨어 인터럽트 발생(x86 CPU 상에서) -.. 2020. 12. 2.
[내장형 시스템] make 파일과 임베디드 파일 시스템 Make(Make Utility) : 컴파일을 자동화 해주는 명령어 생성 프로그램 - 최종 목표 파일의 빌드 과정을 정의해두면 필요한 작업만 수행하여 목표 파일을 생성한다. - rule을 정의해둔 파일이다. - make [-f filename] // filename을 사용하여 make파일을 생성한다. ★★makefile의 기본구조★★ (기본 주요 구성 3가지) - target : 반드시 존재, command를 실행하면 target이 만들어진다는 의미 - dependency : 없을 시에 target을 만들어 낼 때 필요한 것이 없다는 의미 - command : 없을 시에 아무 수행도 하지 않는다. Target [or filename] : Dependency [file1, file2, ...] [TAB] .. 2020. 9. 21.
[내장형 시스템] 인터럽트와 ISR, IVT (이전 시간) 입출력 장치 제어 방법 - Memory Mapped : 0x0000부터 0xffff까지 I/O 장치를 위한 공간으로, 나머지를 메모리를 위한 공간으로 사용한다. 메모리 주소로 I/O인지 Memory 인지 알 수 있다. - I/O Mapped : : I/O를 위한 명령어, Memory를 위한 명령어가 존재하여 명령어를 통해 판단한다. 입출력 장치 동작 - Polling : 주기적으로 CPU가 각각의 I/O를 체크하여 CPU에 들어갈 데이터가 있는지 확인한다. CPU와 주기적으로 체크 안 해도 될 I/O의 경우, CPU의 사이클이 낭비될 수 있다. 새로운 장치가 들어올 때마다 해당 장치를 polling하는 코드가 추가되어야 하기 때문에 복잡해질 수 있다. // 위의 것을 해결하기 위해 나온 것.. 2020. 9. 11.
[내장형 시스템] 임베디드 시스템이란? 임베디드 시스템 : 다른 시스템에 내장되어 해당 시스템의 기능 수행을 담당하는 컴퓨팅 시스템이다. 특정 업무를 수행하기 위해 H/W와 S/W를 밀접하게 통합한 컴퓨팅 장치 1) 다른 시스템에 내장 2) 컴퓨팅 시스템(CPU, 메모리, 입출력 장치, 임베디드 SW가 내장) 3) 특정 기능 수행 - 범용 시스템이 아님(특수 목적을 수행하기 위해 만들어짐) - 수행 기능에 특화된 H/W 및 S/W 사용 4) 임베딩하는 시스템에 따라 임베디드 시스템의 요구사항이 달라짐 - 배터리를 이용하는 휴대폰의 경우, 전력 소모의 최소화가 중요함 - 원자로 제어 시스템에 경우에는 실시간 처리가 필요함 임베디드 시스템은 대표적으로 두 부분으로 구분할 수 있다. ** 무조건 아래 두 분류로 나뉘는건 아니다. ① Real-Tim.. 2020. 9. 4.