[정보처리기사-실기] 4과목 핵심개념
정보처리기사 실기 시험날 가져가려고 만들었던 4과목 오답노트 및 핵심개념이다.
2020년도 ~ 2022년도 기출문제를 직접 풀고 틀렸던 개념, 계속 틀렸던 개념, 많이 나오는 개념 위주로만 적었다.
지극히 주관적이고 개인적이라서 제목만 적고 내용을 안적은 것은 있고, 없는 문제나 개념들도 많지만 시험 볼 때 도움이 많이 되기도 했고, 나중에 공부할 때도 도움이 될 것 같아 적었다!
Python과 C는 어느정도 개념이 있어서 따로 필기하지 않았다. Java와 뒷부분의 운영체제와 관련된 개념을 더 적었다.
반복문과 조건문과 관련한 코드가 문제로 많이 주어진다. 코드를 읽고 출력값이 어떻게 나오는지에 대해 공부를 하면 좋을 것 같다.
헝가리안 표기법
변수 및 함수 이름 앞에 데이터타입을 명시하는 코딩 규칙
비트논리연산자
- ^ : xor연산자 같으면0 다르면1
- a<<b : a*(2**b) 2를 곱해줌
- a>>b : a*1/(2**b) 2를 나눠줌
JAVA
생성자 메소드 : 객체가 생성될 때 자동으로 실행되는 메소드
this : 클래스 자신에 포함된 매개 변수에 접근하기 위한 토큰
오버로딩 : 하나의 클래스에서 동일한 이름의 메소드를 사용하는 기술, 매개변수 유형과 개수가 다르면 다른거다
오버라이딩 : 상속된 클래스의 메소드를 자식 클래스에서 재정의하는 기술
레지스터
CPU내 발생되고 있는 데이터를 일시적으로 저장하는 저장장치
제어장치 레지스터 - 산술, 연산 등의 연산기능을 수행할 때 사용하는 레지스터
연산장치 레지스터 - 명령어 수행에 필요한 데이터를 저장하는 레지스터
버스
주변 장치 간의 정보 교환을 위한 연결 통신 회선
내부버스 / 외부버스 - 주소버스, 데이터버스, 제어버스
운영체제 목표 vs 시간
목표 : 처리능력 반환시간 사용가능도 신뢰도
시간 : 응답시간, 대기시간, 실행시간, 반환시간, 시간간격
운영체제 - 유닉스
c언어기반, 이식성 우수, 병행처리 가능, 저렴한 라이센스 비용, 쉘 명령어 프로그램 - 사용자 위주 시스템 명령어
구성요소 : 커널 - 핵심 시스템 관리, 쉘 - 명령 해석기, 유틸리티 - 문서 편집, DB 관리, 언어번역, 네트워크 기
운영체제 - 리눅스
소스코드 전체를 무료로 공개한 오픈 소스 시스템 소프트웨어
안드로이드 : 리눅스 커널을 기반으로 동작하는 오픈 소스 모바일 플랫폼 (자바, 코틀린)
운영체제 - 프로세스
프로그램이 주기억장치에 적재되어 CPU에 의해 실행상태에 있을 때 프로세스라고 부른다
프로세스 상태
- Ready(준비상태) -> Distatch -> Run(실행상태) ->Block -> Block(대기상태) -> Exit(종료상태)
- Time Run Out (Run -> Ready) Wake up(Block -> Ready)
PCB : 운영체제가 프로세스에 대한 정보를 기록한 테이블
IPC : Inter Process Comunication **프로세스**들이 데이터를 **주고 받는 행위** - 메모리 공유 / 메시지 교환
스레드 :프로세스 내의 작업 단위
운영체제 - 프로세스 스케줄링
CPU를 사용하려는 프로세스의 우선순위 관리
비선점형 프로세스 스케줄링 -현재 프로세스를 다른 프로세스가 강제적으로 중단시킬수 없는 방식
: FIFO, SJF, HRN
- FIFO (first in first out): 프로세스가 도착한 순서대로 처리
- SJF (shortest job first): 실행시간이 가장 짧은 순서대로 처리
- HRN (highest response-ratio next): 대기시간이 가장 긴 프로세스의 우선순위를 높여서 처리
- 우선순위 : 실행시간 + 대기시간 / 실행시간
선점형 프로세스 스케줄링 : RR , SRT, MFQ
교착상태
둘 이상의 프로세스가 실현 불가능한 상태를 무한히 기다리고 있는 상태를 말한다.
- 교착상태가 일어날 수 있는 조건
- 상호 배제 2.점유와 대기 3. 비선점 4. 환형 대기
- 해결방안
- 예방
- 상호 배제 부정 / 점유와 대기 부정 / 비선점 부정 /환형 대기 부정
- 회피
- 안정적인 상태를 유지하는 프로세스의 요청만 받아들인다 - 은행원 알고리즘
- 발견
- 컴퓨터 중단 원인이 교착상태인지 파악
- 회복
- 교창상태가 발생한 프로세스 중 중단할 프로세스를 정하여 자원을 빼앗는다.
- 우선순위3.자원을 적게 사용하는 프로세스 4. 수행 불가능한 프로세스
- 1.우선순위가 낮은 프로세스 2.진행률이 적은 프로세스
- 예방