1. 프로그램을 실행하는 중에 다른 목적 프로그램이 필요해졌을 때, 프로그램 제어 기능에 의해 그 프로그램과 연결하는 것은?
- 동적링킹
- 정적링킹(Static Linking) : 실행 가능한 목적 파일을 만들 때 프로그램에서 사용하는 모든 라이브러리 모듈을 복사하는 방식. 링커에 의해 이루어짐
- 동적링킹(Dynamic Linking) : 실행 가능한 목적 파일을 만들 때 프로그램에서 사용하는 모든 라이브러리 모듈을 복사하지 않고 해당 모듈의 주소만을 가지고 있다가, 런타임에 실행 파일과 라이브러리가 메모리에 위치될 때 해당 모듈의 주소로 가서 필요한 것을 들고 오는 방식
2. 시스템의 하드웨어를 응용 프로그램에서 사용할 수 있도록 제공하는 라이브러리, 하드웨어 디바이스를 제어하는 코드는?
- 디바이스 드라이버
- 문자 디바이스 드라이버 : 키보드, 마우스
- 블록 디바이스 드라이버 : 디스크 드라이버
- 네트워크 디바이스 드라이버 : 이더넷, 블루투스, 와이파이
3. 소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사, 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화 하는 것은?
- CASE(Computer-Aided Software Engineering)
CASE 사용의 장점
- 소프트웨어 개발 비용을 절약할 수 있다
- 개발 기간이 짧다
- 자동화된 검사를 통해 소프트웨어 품질을 향상시킨다
- 소프트웨어 품질과 일관성을 효율적으로 관리할 수 있다
- 소프트웨어 생명 주기의 모든 단계를 연결시켜 주고 자동화시켜 준다
- 소프트웨어의 유지보수를 용이하게 수행할 수 있다
- 소프트웨어 모듈의 재사용서잉 향상된다
4. CPU 외부의 하드웨어적인 요구에 의해서 정상적인 프로그램의 실행순서를 변경하여 보다 시급한 작업을 먼저 수행한 후에 다시 원래 프로그램으로 복귀하는 것으로 소프트웨어적인 폴링 방식과 하드웨어적인 ( ) 방식이 있다.
- 데이지 체인
- 폴링(Polling) : 소프트웨어적으로 인터럽트 우선순위를 판별하는 방법, 우선순위 변경이 용이하고 회로가 간단하고 융통성이 있음. 인터럽트가 많은 경우 반응시간이 느림
- 벡터 인터럽트(Vector Interrupt) : 하드웨어적으로 인터럽트 우선순위를 판별하는 방법. 별도의 프로그램 루틴이 없기 때문에 응답 속도가 빠르다. 회로가 복잡하고 융통성이 없으며, 추가 하드웨어가 필요하므로 비경제적임
- 데이지 체인(Daisy Chain) : 하드웨어적으로 인터럽트 우선순위를 판별하는 방법 중 직렬 우선순위 부여 방식. 인터럽트가 발생하는 모든 장치를 한개의 회선에 직렬로 연결하며 우선순위가 높은 장치를 맨 앞에 위치시켜 우선 순위에 따라 연결함
5. XML에서 view를 원하는대로 배치될 수 있도록 지정하는 것은?
- 레이아웃(layout)
- 뷰(View) : 앱 안에 들어가는 각각의 화면 구성 요소
- 위젯(Widget) : 컨트롤의 역할을 하는 것
- 레이아웃(Layout) : 내부에 포함된 뷰를 배치하는 역할을 하는 것
6. JK 플립플롭의 출력 값을 묶어 입력을 받는 구조로 1이 입력되면 출력값을 반전하는 플립플롭은?
- T 플립플롭
- RS 플립플롭 : S와 R선의 입력을 조절하여 임의의 Bit 값을 그대로 유지시키거나 0 또는 1의 값을 기억시키기 위해 사용
- JK 플립플롭 : RS 플립플롭에서 S=R=1일 때의 결점(미동작) 보완. S=R=1일 때 토글
- D 플립플롭 : 입력하는 값을 그대로 저장하는 기능 수행
- T 플립플롭 : T=0인 경우 변화가 없고, T=1인 경우 현재의 상태를 토글시킴
7. 뮤텍스와 세마포어의 차이점
- 세마포어는 소유할 수 없으며, 뮤텍스는 소유할 수 있고 소유주가 그에 대한 책임을 가진다.
- 뮤텍스(Mutex) : Key에 해당하는 오브젝트가 있으며, 이 오브젝트를 소유한 쓰레드나 프로세스만이 공유자원에 접근 가능
- 세마포어(Semaphore) : 공유 리소스에 접근할 수 있는 최대 허용치만큼 쓰레드나 프로세스 접근을 허용
8. 소프트웨어 테스트 시에 내부구조를 파악하지 않고 출력 위주의 테스트 기법, 동적테스트 기법으로 동등분할, 경계값 분석, 입출력 그래프 분석, 오류를 예측하는 테스트는?
- 블랙박스 테스트
- 화이트박스 테스트 : 응용 프로그램의 내부 구조와 동작을 검사하는 테스트 방식
- 블랙박스 테스트 : 응용 프로그램의 내부 구조나 작동 원리를 모르는 상태에서 동작을 검사하는 방식
9. 사용자의 기본적인 요구사항에 따른 모형 시스템을 신속히 개발하여 제공 후 사용자들의 의견을 바탕으로 시스템을 개선하고 보완해가는 프로세스 모형(폭포수 모델의 단점을 보완)
- 프로토타입 모델
- 폭포수 모형 : 소프트웨어 개발 각 단계를 확실히 매듭짓고 그 결과를 검토해 승인 과정을 거침
- 프로토타입 모형 : 사용자의 요구사항을 정확히 파악하기 위해 견본품을 만들어 최종 결과물을 예측하는 모형
- 나선형 모델 : 폭포수, 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형. 나선을 따라 돌듯이 여러번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발
10. 프로세스 관리, 메모리 관리, 파일시스템 관리, 네트워크 관리, 디바이스 드라이버 관리를 하는 것은?
- 커널
운영체제의 구조
- 1단계 : 프로세서 관리. 동기화 및 프로세스 스케줄링
- 2단계 : 메모리 관리. 메모리 할당, 회수 기능
- 3단계 : 프로세스 관리. 프로세스 생성, 제거, 메시지 전달, 시작과 정지
- 4단계 : 주변장치 관리. 주변장치 상태 파악과 입출력 장치의 스케줄링
- 5단계 : 파일 관리. 파일 생성, 소멸, 파일의 열기 닫기, 파일의 유지 및 관리
11. 하드웨어에 전원이 인가되고 처음 실행되는 스타트업 코드의 순서를 배열하시오
가. Power-On Self-Test 수행(POST)
나. 인터럽트 벡터 테이블 셋업
다. 모든 인터럽트 실행 차단
라. 장치 초기화(GPIO, SDRAM, Clock, Watch-dog 등)
마. 메모리 영역 초기화(Stack, BSS 영역 등)
바. 부트로더를 SDRAM으로 복사
사. 부트로더 실행으로 점프
12. XOR, AND 게이트를 활용하여 반가산기 회로도를 작성하시오
※ 함께 보면 좋은 글
'임베디드기사' 카테고리의 다른 글
[임베디드기사] 2018년 임베디드기사 필답형 실기 기출문제 (0) | 2022.10.20 |
---|---|
[임베디드기사] 2017년 임베디드기사 필답형 실기 기출문제 (0) | 2022.10.20 |
[임베디드기사] 2022년 4회 임베디드기사 필기 합격 후기 (0) | 2022.09.18 |
[임베디드기사] 2013년 임베디드기사 필기 기출문제 (4과목 임베디드 소프트웨어) (0) | 2022.09.17 |
[임베디드기사] 2013년 임베디드기사 필기 기출문제 (3과목 임베디드 플랫폼) (0) | 2022.09.17 |