1. 프로그래밍 언어활용
1-1. 데이터타입
: 변수에 저장될 데이터의 형식
C언어 데이터 형식
- double
- long
- char
- unsigned
1-2. 변수
예약어
: 정해진 기능을 수행하도록 이미 용도가 정해져 있는 단어로, 변수 이름이나 다른 목적으로 사용할 수 없다.
1-3. 연산자
- 산술 연산자(Arithmetic Operator)
- 사칙연산
- 시프트 연산자(Shift Operator)
- <<: x 2^n
- >>: /2
- 관계 연산자(Relation Operator)
- True or False로 반환
- 비트 연산자(Bit Operator)
- &&: 두 개의 논릿값이 모두 참이면 참, 그렇지 않으면 거짓
- ||: 두 개의 논릿값 중 하나가 참이면 참, 그렇지 않으면 거짓
- 논리 연산자(Logic Operator)
- ^
- ~
- &
- 4번과 같다
- 대입 연산자
- 기타 연산자
1-4. 제어문
- if
- switch
1-5. 반복문
- for
- while
- Do while
1-6. 배열
C언어
- int array[5] = [3]; 0에 3 들어가고 나머지 0
- char array[5] = "abcd"; 순서대로 들어가고 마지막에 \0(딜리미터)
파이썬
- List: 맨 마지막부터 배열 주소 -1로도 표현 가능
- Data[2:5]: 2부터4까지
- Data[-5:-1:2]: -5부터 -2까지 2만큼 옮기면서
- Data[-5::2]: 2만큼 옮기면서 끝까지
- 공백이면 처음부터 or 끝까지
1-7. 입출력 함수
C언어 데이터 입출력
scanf는 스페이스바 기준으로 끊지만 gets는 전체 문장 출력 출력은 puts로 한다.
getchar, putchar는 한 문자
Java 언어 데이터 입출력
1-8. 절차적 객체지향 프로그래밍
절차적 프로그래밍
- C.COBOL
- FORTRAN
- ALGOL
객체지향 프로그래밍
- C++
- Java
- Python
스크립트 언어
: HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것으로, 컴파일 되지 않고 별도의 번역기가 분석하여 동작하게 하는 언어
서버용
- ASP
- JSP
- PHP
- 파이썬
클라이언트용
: JavaScript
2. 응용 SW 기초 기술활용
2-1. 운영체제란
: 컴퓨터 시스템의 자원(CPU, 주기억장치, 보조기억장치 등)을 효율적으로 관리하여 사용자가 효과적으로 사용할 수 있는 환경을 제공하는 프로그램
2-2. 운영체제 목적(암기)
편리성
- 편리한 환경제공
효율성(성능평가 기준)
- 처리량(Throughput) 향상
- 반환시간(Turn Around Time) 단축
- 사용가능도(Availability) 향상: 가동률
- 신뢰도(Reliability) 향상
제어서비스향상
- 입출력 장치 관리
- 시스템 오류 예방
2-3. 운영체제 종류
2-4. Windows
- Plug and Play(PnP)
- 사용자가 사용하기 원하는 하드웨어를 시스템에 부착하면 자동으로 인식하여 동작하게 해주는 기능
- OLE의 기능
- 응용 프로그램간의 자료공유
- 멀티태스킹 지원
- 네트워크 기능 강화
2-5. Unix
- HardWare
- Kernal(진짜 작업)
- 시스템의 중심부
- 프로세스 관리, 기억장치 관리
- 부팅 시 주기억장치에 적재되어 상주하면서 실행
- Shell
- 사용자의 명령을 수행하는 명령어 해석
- 인터페이스 담당
- 명령어 인식 후 프로그램 호출
- Utility
- 멀티 유저, 멀티 태스킹 지원
- 트리 구조의 파일 시스템
2-6. 기억장치 관리
2-7. 주기억장치 할당
2-8. 가상기억장치(암기)
: 기억장치의 이용률과 다중프고그래밍의 효율 증가. 주기억장소의 물리적 공간보가 큰 프로그램 실행 가능
주기억장치로 옮겨 넣을 주소 조정: Mapping(사상)
메모리 할당 기법
- 연속 할당 기법: 실행을 위한 각 프로세스를 주기억장치 공간 내에서 인접되게 연속하여 저장하는 방법, 단편화 방지
- 메모리 분산 할당 기법
- Paging 기법
- 프로세스를 일정하게 분할
- 내부 단편화 발생(남는 메모리 발생)
- 주소 변환을 위한 페이지 멥 테이블이 필요
- Segmentation 기법
- 논리적인 단위로 나눈 후 주기억장치에 적재
- 외부 단편화 발생(한 프레임에 남는 메모리가 생김)
- 고유한 이름과 크기를 갖는다
- 세그먼트 맵 테이블이 필요하다
- 기억장치 보호키가 필요
- Paging Segmentation 혼용기법
- Paging 기법
2-9. 기억장치 관리의 개요(암기)
2-10. 주기억장치 할당기법
2-11. 가상기억장치 구현기법/페이지 교체 알고리즘
- 반입(Fetch) 전략: 보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지에 대한 전략
- 요구 반입(Demand Fetch)
- 예상 반입(Anticipatary Fetch)
- 배치(Placement) 전략: 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬지에 대한 전략
- 최초적합(First Fit): 공간이 부족하지 않으면 바로 위치
- 최적접합(Best Fit): 가장 비슷한 곳에 위치
- 최악적합(Warst Fit): 남는 값이 젤 많은 곳에 위치
- 교체(Replacement) 전략: 주기억장치의 모든 영역이 이미 사용중인 상태에서 새로운 데이터를 배치할 때 어느 영역을 교체할지에 대한 전략
- FIFO(First In First Out Page Replacement): 가장 오랫동안 사용되지 않았던 페이지를 먼저 교체
- OPT(Optimal Page Replacement)
- LRU(Least Recently Used Page Replacement): 가장 최근 사용하지 않은 페이지를 뺀다.
- LFU(Least Frequently Used Page Replacement): 빈도수가 낮은 페이지를 뺀다.
- NUR
- SCR
2-12. 가상기억장치 관리사항(암기)
2-13. 프로세스의 개요
- 페이지 크기가 작을 경우
- 페이지 단편화 감소, 페이지를 주기억장치로 이동하는 시간 감소
- Page map table 크기는 커지고 매핑 속도가 늦어진다.
- 디스크 접근 횟수가 많아져서 전체적인 입출력 시간은 늘어난다.
- 페이지 크기가 클 경우
- Page map table 크기는 작아지고 매핑 속도가 빨라진다.
- 전체적인 입출력 시간은 줄어든다.
- 페이지 단편화가 증가된다.
페이징 기법의 문제점 - 스레싱
: 어떤 프로세스가 계속적으로 페이지 부재가 발생하여 프로세스의 실제 처리시간보다 페이지 교체 시간이 더 많아지는 현상 -> 페이지 부재가 계속 증가하여 기억장치 접근 횟수 증가
Locality
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
- Denning 교수의 의해 증명
- 시간 구역성: Loop, Stack, subroutine, counting, Totaling 변수
- 공간 구역성: 배열 순회, 순차적 코드 실행
- 스레싱 방지를 위한 working set이론의 기반
프로세스
- CPU에 처리되는 사용자 프로그램
- 운영쳊가 관리하는 실행단위
- 비동기적 행위: 규칙없이 독립적
- 프로시저가 활동중인 것
- PCB(Process Control Block): 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
실행중인 프로세스가 CPU 할당 시간을 다 사용한 후, Ready 상태로 전이한다.
디스패치: 준비 상태에서 대기하고 있는 프로세스 중 하나가 스케줄링 되어 중앙처리 장치를 할당 받아 실행상태로 전리되는 과정
2-14. 스케줄링(암기)
스케줄러
: 프로세스를 바꿔주는 일을 하는 것
문맥교환(Context Switching)
: 스케줄러가 프로세스를 바꿔주는 것
스케줄링 성능 평가기준
- CPU 이용률
- 처리능력
- 대기시간
- 응답시간
- 반환시간
- 비선점
- FCFS
- SJF -> HRN(보완버전): 우선순위 = (대기시간+서비스시간)/서비스시간
- priority
- 선점(오버헤드가 많다.암기.)
- Round Robin
- SRT
- 다단계큐
- 다단계 피드백 큐
2-15. 교착상태(암기)
: 두 개 이상의 작업이 거로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 아무것도 완료되지 못하는 상태
교착상태 조건
- 상호배제(Mutual Exclution): 한 프로세스가 사용하는 자원은 다른 프로세스와 공유 할 수 없는 베타적인 자원이어야 한다. 공유불가
- 점유와 대기(Hold and wait): 프로세스가 자원을 할당받은 상태에서 다른 자원을 기다리는 상태여야 한다.
- 비선점(No Preemption): 한 프로세스가 사용 중인 자원은 다른 프로세스가 빼앗을 수 없는 비선점 자원이어야 한다.
- 환형대기(Circular wait): 점유와 대기를 하는 프로세스 간의 관계가 원을 이루어야 한다.
교착상태 해결 방법
- 교착상태 예방
- 교착상태 회피(Avoidance): 다익스트라 알고리즘(최단경로)
- 문제점: 프로세스 자신이 사용할 모든 자원을 미리 선언해야 한다.(자원 수 고정적, 자원의 낭비)
- 교착상태 검출과 회복
교착상태 예방
- 상호배제 예방
- 점유와대기 예방
- 비선점 예방
- 환형대기 예방
2-16. 환경변수
Windows에서는 앞에 %가 붙는다.
UNIX/Linux에서는 앞에 $가 붙는다.
- cat: 파일 내용을 화면에 표시
- ls: 현재 디렉토리의 파일 목록 표시
- Find(): 파일 찾기
- Fork(): 프로세스 생성
- exec(): 새로운 프로세스 수행
- wait(): 자식 프로세스의 하나가 종료될 때까지 부모 프로세스를 임시 중지
2-17. 인터넷 OSI 참조모델(암기)
구분 | IPv4 | Ipv6 |
주소길이 | 32bit | 128bit |
표시방법 | 10진수(8비트씩 4부분) | 16진수(16비트씩 8부분) |
주소개수 | 43억개 | 4.3 X 10^38 |
주소할당 | A,B,C,D 클래스 단위 비순차적 할당 | 네트워크 규모에 따른 순차적 할당 |
품질제어 | Best Effort 방식/보장곤란 | 서비스별로패킷 구분/품질보장 |
헤더크기 | 가변 | 고정 |
보안기능 | 별도설치 | 기본제공 |
Plug&Play | X | O |
모바일IP | X | O |
웹캐스팅 | X | O |
전송방식 | Multicast, unicast, broardcast | Multicast, unicast, anycast |
DNS SERVER
- 도메인 주소를 컴퓨터가 인식할 수 있는 IP(인터넷프로토콜)주소로 변환해 주는 서버
- 분산 데이터베이스
서브넷 마스크
: IP 주소에서 네트워크 ID와 호스트 ID를 구별하는 방식
데이터 단위(암기)
- Application
- Message
- HTTP, FTP, SMTP, POP3, IMAP
- Presentation
- Message
- 암호화 압축, 코드 변환, 구문검색
- Session
- Message
- 이용자 사이의 연결, 대화 제어, 동기점(Synchronized Point)를 이용한 데이터복구
- Transport
- Segment
- End to end 간의 전송, 오류제어, 흐름제어
- TCP, UDP
- Network
- Packet
- Router
- 네트워크 연결 설정 유지, 해제
- IP, ARP(TCP/IP에서 사용되는 논리 주소를 물리주소로 변환시켜주는 프로토콜), RAPP
- RIP, OSPF, BGP
- DataLink
- Frame
- 랜카드, Switch, Bridge
- 프레임 동기화, 순서제어 기능
- HDLC, FRAME-RELAY, ATM, PPP, LLC
- Physical
- Bit
- Repeater
2-18. 네트워크 관련장비
2-19. 프로토콜
'자격증 > 정보처리기사 인강 - 필기' 카테고리의 다른 글
제5과목 정보시스템 구축 관리 (0) | 2024.05.17 |
---|---|
제3과목 데이터베이스 구축 (0) | 2024.05.17 |
제2과목 소프트웨어 개발 (0) | 2024.05.17 |
제1과목 소프트웨어 설계 (0) | 2024.04.16 |