| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- ensemble
- Intellij
- BS
- request
- 자바
- 머신러닝
- list
- 크롤링
- pandas
- java
- 자바스크립트
- regressor
- 비전공자
- BeautifulSoup
- 정보처리기사필기
- 정처기
- sklearn
- javascript
- SOUP
- 백준
- Req
- AWS
- lombok
- 웹앱
- dataframe
- crawling
- APPEND
- pds
- 정보처리기사
- springboot
- Today
- Total
No sweet without sweat
[정보처리기사] - 4과목 본문
제가 정리한 자료입니다. 저는 이 정리된 자료로 합격했습니다.!
1) CSMA/CA– 무선 랜에서 데이터 전송 시, 매체가 비어 있음을 확인한 뒤 충동을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방법
네트워크에 데이터의 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비하여 확인 신호를 전송한다.
2) Collision Domain
충돌 발생을 검출할 수 있는 브리지 간 혹은 다른 계층 장치 간의 이더넷 세그먼트 범위
3) CSMA/CD
이더넷에서 각 단말이 전송 공유 매체에 규칙있게 접근하기 위한 매체 액세스 제어 방식
2. 결합도
결합도 – 내용(content) > 공통(common) > 외부(external) > 제어(control) > 스탬프(stamp) > 자료(data)
* 결-내공외부제스자
* 결합도
- 모듈 외에 있는 처리요소들 사이의 기능적인 연관 정도(모듈내-> 응집도)
- 결합도가 높으면 품질이 낮으며, 시스템 구현 및 유지보수 작업이 어려움
- 결합도와 응집도는 반비례( 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상)
1) 스탬프 결함도
- 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터 결합되어있다고 한다.
- 두 모듈이 동일한 자료 구조를 조회
- 모듈 간 자료 구조 전달될 때 변화가 생기면 그것을 조회하는 모든 모듈에 영향을 미침
2) 데이터 결합도(자료 결합도(Data Coupling) - 어떤 모듈이 다른 모듈을 호출하면서 매개변수나 인수를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리결과를 다시 돌려주는 방식
- 자료 요소로만 구성 / 처리값 돌려줌
3) 내용 결합도(Content Coupling) - 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
4) 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통 결합 되어 있다고 한다.
- 공유되는 데이터 영역을 여러 모듈이 사용 / 공통 영영 내용 변경 시 영영을 사용하는 모든 모듈에 영향
5) 제어 결합도(control coupling) - 제어하기 위한 목적 / 권리 전도현상
* 결합도(Coupling)는 두 모듈간의 상호작용 또는 의존도 정도를 나타내는 것이다.
* 응집도 - 하나의 모듈이 하나의 기능을 수행하는 요소들간의 연관성 척도, 독립적인 모듈이 되기 위해서는 응집도가 강해야 한다.
기능적응집도>순차적응집도>교환적응집도>절차적응집도>시간적응집도>논리적응집도>우연적응집도
Functional>Sequential>Communication>Procedural>Temporal>Logical>Coinciental
기-순-교-절-시-논-우
1) 기능적 응집도(Functional Cohesion) - 모듈 내 모든 요소들이 단일 기능을 수행
2) 순차적 응집도(Sequential Cohesion) - 모듈 내의 한 요소의 출력 자료가 다음 요소의 입력 자료로 사용
3) 교환적 응집도(Communication Cohesion) - 모듈 내의 요소들이 동일한 입출력 자료로 서로 다른 기능을 수행
4) 절차적 응집도(Procedural Cohesion) - 모듈 수행 요소들이 반드시 특성 순서대로 수행
5) 시간적 응집도(Temporal Cohesion) - 특정 시간에 실행되는 기능들을 모아 작성된 모듈
6) 논리적 응집도(Logical Cohesion) - 논리적으로 유사한 기능을 수행하지만 서로의 관계는 밀접하지 않음
7) 우연적 응집도(Coincidental Cohesion) - 모듈 내 요소들이 뚜렷한 관계가 없이 존재, 어떠한 의미 있는 연관관계도 지니지 않은 기능 요소로 구성되고 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우
3. 교착상태의 해결 방법
1) Detection(탐지) : 교착상태 발생을 허용하고 발생 시 원인을 규명하여 해결(ex-자원할당 그래프)
2) Avoidance(회피) : 교착상태 가능성을 배제하지 않고 적절하게 피해나가는 방법(ex-은행원 알고리즘)
3) Recovery(복구) : 교착상태 발견 후 현황대기를 배제시키거나 자원을 중단하는 메모리 할당 기법(ex-선점, 프로세스 중지{희생자 선택})
4) Prevention(예방) : 교착상태의 필요조건을 부정함으로써 교착상태가 발생하지 않도록 미리 예방하는 방법
(ex-현황대기, 비선점, 점유와 대기, 상호배제 4가지 부정)
4. 프로세스 적재 정책
1) 반복, 스택, 부프로그램은 시간 지역성(Temporl Locality)과 관련이 있다.
2) 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
3) 일반적으로 페이지수행 시간보다 교환시간이 커질 때 발생하는 것을 스레싱현상이라 한다.
4) 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
5. 소프트웨어 프레임워크의 특징
1) 모듈화
2) 재사용성
3) 확장성
4) 제어의 역 흐름
6. JAVA 프로그램 실행 결과

->2
7. 리눅스 Bash 쉘(Shell)에서 export
1) 변수를 출력하고자 할 때 echo $변수명
2) export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력
3) 사용자가 생성하는 변수는 export 명령어 표시하지 않는 한 현재 쉘에 국한된다.
4) 변수를 export 시키면 전역(Global)변수처럼 끝까지 기억된다.
8. 페이징 기법에서 페이즈 크기가 작아질수록 발생하는 현상
1) 기억장소 이용 효율이 증가
2) 입, 출력 시간이 늘어난다.
3) 내부 단편화가 감소한다
*페이징 기법
- 컴퓨터가 메인 메모리에서 사용하기 위해 데이터를 저장하고 검색하는 메모리 관리 기법
* 메모리 관리 기법
- 페이징기법을 통해 물리적 메모리는 연속저으로 할당되어 존재할 필요가 없음
- 페이징기법을 통해 비연속적 메모리를 연속적 메모리처럼 만들 수 있음
* 페이지 크기가 작은 경우
1) 더 많은 페이징 사상테이블 필요
2) 내부 단편화 감소
3) 페이지의 집합을 효율적으로 운영가능
4) 기억장치의 효율이 좋음
5) 총 입출력 시간 증가
* 페이키크기가 큼
1) 주기억 장치 공간 절약
2) 참조되는 정보와 무관한 양의 정보가 주기억 장치네 남게 됨
3) 테이블이 복잡하지 않아 관리 용이
9. TCP 프로토콜과 관련한 설명
1) 흐름 제어(Flow Control)의 기능을 수행
2) 전이 중(Full Duplex) 방식의 양방향 가상회선을 제공한다.(양방향 연결형 서비스르 제공)
3) 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
4) TCP는 전송계층, IP는 네트워크 계층
5) 송신중에 링크를 유지관리하므로 신뢰성이 높다
6) 순서제어, 오류제어, 흐름제어 기능을 한다.
7) 신뢰성이 있는 연결 지향형 전달 서비스이다.
8) 기본 헤더 크기는 최소 20byte 최대 60byte / 헤더에 option 포함 시 최대 40byte 추가 가능
9) 스크림 전송 기능을 제공한다.
* 데이터 링크 계층 : 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
* 기법
1. Slow start
- 패킷이 문제없이 도착하몀ㄴ 혼잡 윈도우 크기를 패킷마다 1씩 증가시켜 한 주기가 지나면 혼잡 윈도우 크기가 2배로 되지만, 혼잡 현상 발생 시 혼잡 윈도우 크기를 1로 줄여버리는 방식
2. Sliding Window
- 한 번에 여러 패킷(프레임)을 전송할 수 있어 전송 효율이 좋은 기법
- 수신 측으로부터 이전에 송신한 패킷에 대한 긍정 수신 응답(ACK)이 전달된 경우 윈도우 크기는 증가하고, 수신측으로부터 이전에 송신한 패킷에 대한 부정 수신 응답(NAK)이 전달된 경우 윈도우 크기는 감소
3. Congestion Avoidance(혼잡방지, Congestion Control)
- 네트워크 내에서 패킷의 지연이 너무 높아지게 되어 트래픽이 붕괴되지 않도록 패킷의 흐름을 제어하는 트래픽 제어(종류: AMID, Slow Start)
* UDP(Uer Datagram Protocol)
- 흐름제어나 순서제어가 없어 전송속도가 빠르며 신뢰성이 낮다.
- 비연결성 서비스 제공
- 단순한 헤더구조로 오버헤드 적음
- 사용하는 경우 : 빠른 속도로 전송 요구 시, 동시에 여러 사용자에게 데이터 전달시 반복적 전송
- 실시간 전송에 유리, 신뢰성보다는 속도가 중요시 되는 네트워크에 사용
10. C언어 라이브러리
1) stdlib.h :문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
2) strlen() -> strlen.h에 포함
3) stdioh -> 표준 입출력 라이브러리
4) math.h -> 삼각 함수, 제곱근, 지수 등 수학적인 함수
11. OSI 7계층
1) 네트워크 계층
- 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
- 패킷에 발신지와 목적지의 논리 주소를 추가한다.
- 라우터 또는 교환기는 패킷을 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
2) 데이터링크 계층
- 한노드에서 다른 노드로 프레임을 전송하는 책임을 갖는 층을 갖는다.
- 동기화/오류제어/순서제어
3) 물리계층
- 실제 접속 및 절단/기계, 전기, 기능, 절차적 특성 규칙 정의
4) 응용계층
- 전자사서함/파일전송
- 최종 사용자가 실제로 상호 작용하는 계층, 네트워크 리소스=에 대한 액세스를 허용
- 사용자가 OSI 환경에 접근 가능하도록 서비스 제공
5) 표현계층
- 데이터 변환/데이터 암호화/정보형식변환
- 데이터로 작동하는 계층
- 응용계층과 상호 작용하여 데이터를 표현 계층으로 보낸다.
6) 세션계층
- 컴퓨터 간의 세션을 설정, 관리 및 종료하여 적절한 통신을 유지하는 역할을 수행
- 송수신 측 가 관련성 유지 및 대화 제어 / 체크점(동기점)을 두어 정보 수신상태체크
7) 전송계층 - 종단간 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류검출과 복구, 흐름 제어를 수행
12. 제어 프로그램
1) 감시 프로그램(Supervisor) - 프로그램과 시스템 작동상태를 감시, 감독
2) 작업 제어 프로그램(Job Control) - 작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당 등을 담당
3) 데이터 관리 프로그램 (Data Management) - 주기억장치와 보조기억장치 사이의 데이터 전송, 파일과 데이터를 처리, 유지, 보수 기능 수행
13. 교착상태 조건
1) 상호 배제(mutual exclusion)
2) 점유와 대기(hold and wait)
3) 비선점(Non-preemption)
4) 환형 대기(Circular wait)
14. IPv6(128비트)
1) 애니캐스트(Anycast)는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방식
2) 유니캐스트, 멀티캐스트, 애니캐스트
3) 멀티미디어의 실시간 처리 가능
4) 자동으로 네트워크 환경구성이 가능하다.
5) 패킷 크기는 임의로 큰 크기의 패킷을 주고 받을 수 있다.
6) IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이
* IPv4
- 유니캐스트, 멀티캐스트, 브로드캐스트
- 64바이트로 제한
15. C언어에서 변수로 사용할 수 없는 것
- short
- text-color
16. 용어정리
1. Working Set
- 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합
2. Locality - 어느 한 순간에 특정 부분을 집중적으로 참조
3. Thrashing - 지나치게 페이지 부재가 발생함으로 인하여 전체 시스템의 성능이 저하
17. 가상기억장치 구현 기법
1) 페이징(Paging) - 프로그램과 주기억장치의 영역을 동일한 크기(공정된 크기)의 일정한 블록으로 나눈다.
2) 세그먼테이션(Segmentation) - 다양한 크기(가변적인 크기)의 블록으로 나눈다.
18. 산술연산자 - %, *, /
* 논리연산자 : &, ^ , |, ~ , <<, >>
* 대입연산자 : ‘=’
* 조건연산자 : ?19. WAS
1) Tomcat
2) GlassFish
3) JBoss
4) Jetty
5) JEUS
6) Resin
7) WebLogic
8) WeSphere
* JVM(Java Virtual Machine) - 자바 가상 머신
20. UNIX SHELL 명령어
1) printev - 환경 변수 값을 출력하는 명령어
2) env - 환경 변수 보기 및 변경
3) setenv - 환경 변수 추가 또는 업데이트
4) fork - 새로운 프로세스를 생성
* configenv - 파이썬에서 사용, json 등
21. BYTE
1) byte - 1Byte
2) short - 2Byte
3) int = 4Byte
4) long = 8Byte
22. 커널 vs 쉘(shell)
- 커널
1) 프로세스(CPU스케줄링)꽌리
2) 기억장치 관리
3) 파일관리
4) 입출력 관리
5) 프로세스간 통신
6) 데이터 전송 및 변환 등 여러 가지 기능 수행
- 쉘
1) 시스템과 사용자간의 인터페이스 담당
2) 명령여 해석기
23. 공통모듈의 재사용 범위
1) 컴포넌트 재사용
2) 함수와 객체 재사용
3) 애플레케이션 재사용
24. 더미코드
- 호출 시 로직 없이 응답만 수행하는 모듈
- 단위 테스트 시 아직 미개발 된 모듈을 대체하기 위해 사용
25. 인터넷 계층의 프로토콜
1) IP : 데이터 주소를 지정하고 경로 설정
2) ICMP : IP와 조합하여 통신 중의 오류처리와 전송 경로 변경 등을 위한 제어 메시지 관리
3) IGMP : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹유지를 위해 사용
4) ARP : 호스트의 IP주소를 네트워크 접속 장치의 물리적 주소로 변환(ip->MAC)
5) RARP : ARP 반대 (물리적 주소를 IP 준소로 변환)
* FTP - 응용계층 프로토콜
26. PHP
1) @ : 에러 제어 연산자
2) <> : 관계 연산자
3) === : 관계 연산자
* #는 X
27. 소프트웨어 취약점
1) FTP 바운스 공격 - 네트워크 공격방법
- FTP 프로토콜 구조의 허점을 이용한 공격
2) SQL 삽입 - 웹관련 공격방법
- SQL의 논리적 에러를 이용한 공격
3) 버퍼 오버플로
- 메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점
4) 디렉토리 접근 공격 - 웹관련 공격방법
- 웹 루트 디렉토리 외부에 저장된 파일 또는 디렉토리에 접근하는 공격 방법
28.
(대기시간+서비스시간)/서비스시간 -> 값이 클수록 우선순위가 높다
DBCA
- 대기 시간이 긴 프로세스의 경우 우선순위가 높아짐
- SJF 기법을 보완하기 위한 방법
- 긴 작업과 짧은 작업 간의 지나친 불평등을 해소할 수 있다.
29. 운영체제
1) 다중 사용자와 다중 응용프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.
2) CPU, 메모리 공간, 기억장치, 입출력 장치 등의 자원을 관리한다.
3) 입출력 장치와 사용자 프로그램을 제어한다.
* 틀린답 : 운영체제의 종류(윈도즈, 리눅스/유닉스, 맥, 안드로이드)로는 매크로 프로세서, 어셈블러, 컴팡일러 등이 있다.
‘- 매크로 프로세서 : 시스템 소프트웨어
- 어셈블러 : 기계어와 프로그래밍 언어의 중간정도의 언어(어셈블리어를 기계어로 번역)
- 컴파일러 : 특정 언어를 타 언어로 옮기는 프로그램
30. 배치 프로그램
1. 자동화는 심각한 오류 상황 에는 사용자의 개입 없이 동작해야 한다.
2. 안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
3. 대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.
4. 성능은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 어플리케이션을 방해하지 말아야 한다.
5. 견고함은 유효하지 않은 데이터의 경우도 처리해서 비정상적인 동작 중단이 발생하지 않아야 한다.
31. 프로세스 상태의 종류
1) 보류(pending)
2) 준비(ready)
3) 실행(running)
4) 대기(blocked)
5) 교착(deadlock)
6) 완료(terminated, EXit)
7) 대기(Wait)
32. 스레드에 대한 설명
- 프로세스 내에서 작업 단위로 여러 자원을 할당 받아 실행하는 프로그램 단위
- 한 개의 프로세스에는 하나 이상의 스레드가 존재(여러개 가능)
- 하드웨어 운용체제 성능과 처리율의 향상 가능
- 응용프로그램 응답시간 단축 가능
- 실행 환경을 공유시켜 기억장소 낭비 줄어듬
1) 커널 스레드
- 운영체제 커널에 의해 스레드 운영 -> 구현쉬움, 속도 느림
2) 사용자 스레드
-사용자가 만든 라이브러리를 사용해 스레드 운용 -> 구현어려움, 속도 ᄈᆞ름
1) CSMA/CA– 무선 랜에서 데이터 전송 시, 매체가 비어 있음을 확인한 뒤 충동을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방법
네트워크에 데이터의 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비하여 확인 신호를 전송한다.
2) Collision Domain
충돌 발생을 검출할 수 있는 브리지 간 혹은 다른 계층 장치 간의 이더넷 세그먼트 범위
3) CSMA/CD
이더넷에서 각 단말이 전송 공유 매체에 규칙있게 접근하기 위한 매체 액세스 제어 방식
2. 결합도
결합도 – 내용(content) > 공통(common) > 외부(external) > 제어(control) > 스탬프(stamp) > 자료(data)
* 결-내공외부제스자
* 결합도
- 모듈 외에 있는 처리요소들 사이의 기능적인 연관 정도(모듈내-> 응집도)
- 결합도가 높으면 품질이 낮으며, 시스템 구현 및 유지보수 작업이 어려움
- 결합도와 응집도는 반비례( 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상)
1) 스탬프 결함도
- 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터 결합되어있다고 한다.
- 두 모듈이 동일한 자료 구조를 조회
- 모듈 간 자료 구조 전달될 때 변화가 생기면 그것을 조회하는 모든 모듈에 영향을 미침
2) 데이터 결합도(자료 결합도(Data Coupling) - 어떤 모듈이 다른 모듈을 호출하면서 매개변수나 인수를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리결과를 다시 돌려주는 방식
- 자료 요소로만 구성 / 처리값 돌려줌
3) 내용 결합도(Content Coupling) - 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
4) 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통 결합 되어 있다고 한다.
- 공유되는 데이터 영역을 여러 모듈이 사용 / 공통 영영 내용 변경 시 영영을 사용하는 모든 모듈에 영향
5) 제어 결합도(control coupling) - 제어하기 위한 목적 / 권리 전도현상
* 결합도(Coupling)는 두 모듈간의 상호작용 또는 의존도 정도를 나타내는 것이다.
* 응집도 - 하나의 모듈이 하나의 기능을 수행하는 요소들간의 연관성 척도, 독립적인 모듈이 되기 위해서는 응집도가 강해야 한다.
기능적응집도>순차적응집도>교환적응집도>절차적응집도>시간적응집도>논리적응집도>우연적응집도
Functional>Sequential>Communication>Procedural>Temporal>Logical>Coinciental
기-순-교-절-시-논-우
1) 기능적 응집도(Functional Cohesion) - 모듈 내 모든 요소들이 단일 기능을 수행
2) 순차적 응집도(Sequential Cohesion) - 모듈 내의 한 요소의 출력 자료가 다음 요소의 입력 자료로 사용
3) 교환적 응집도(Communication Cohesion) - 모듈 내의 요소들이 동일한 입출력 자료로 서로 다른 기능을 수행
4) 절차적 응집도(Procedural Cohesion) - 모듈 수행 요소들이 반드시 특성 순서대로 수행
5) 시간적 응집도(Temporal Cohesion) - 특정 시간에 실행되는 기능들을 모아 작성된 모듈
6) 논리적 응집도(Logical Cohesion) - 논리적으로 유사한 기능을 수행하지만 서로의 관계는 밀접하지 않음
7) 우연적 응집도(Coincidental Cohesion) - 모듈 내 요소들이 뚜렷한 관계가 없이 존재, 어떠한 의미 있는 연관관계도 지니지 않은 기능 요소로 구성되고 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우
3. 교착상태의 해결 방법
1) Detection(탐지) : 교착상태 발생을 허용하고 발생 시 원인을 규명하여 해결(ex-자원할당 그래프)
2) Avoidance(회피) : 교착상태 가능성을 배제하지 않고 적절하게 피해나가는 방법(ex-은행원 알고리즘)
3) Recovery(복구) : 교착상태 발견 후 현황대기를 배제시키거나 자원을 중단하는 메모리 할당 기법(ex-선점, 프로세스 중지{희생자 선택})
4) Prevention(예방) : 교착상태의 필요조건을 부정함으로써 교착상태가 발생하지 않도록 미리 예방하는 방법
(ex-현황대기, 비선점, 점유와 대기, 상호배제 4가지 부정)
4. 프로세스 적재 정책
1) 반복, 스택, 부프로그램은 시간 지역성(Temporl Locality)과 관련이 있다.
2) 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
3) 일반적으로 페이지수행 시간보다 교환시간이 커질 때 발생하는 것을 스레싱현상이라 한다.
4) 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
5. 소프트웨어 프레임워크의 특징
1) 모듈화
2) 재사용성
3) 확장성
4) 제어의 역 흐름
6. JAVA 프로그램 실행 결과
->2
7. 리눅스 Bash 쉘(Shell)에서 export
1) 변수를 출력하고자 할 때 echo $변수명
2) export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력
3) 사용자가 생성하는 변수는 export 명령어 표시하지 않는 한 현재 쉘에 국한된다.
4) 변수를 export 시키면 전역(Global)변수처럼 끝까지 기억된다.
8. 페이징 기법에서 페이즈 크기가 작아질수록 발생하는 현상
1) 기억장소 이용 효율이 증가
2) 입, 출력 시간이 늘어난다.
3) 내부 단편화가 감소한다
*페이징 기법
- 컴퓨터가 메인 메모리에서 사용하기 위해 데이터를 저장하고 검색하는 메모리 관리 기법
* 메모리 관리 기법
- 페이징기법을 통해 물리적 메모리는 연속저으로 할당되어 존재할 필요가 없음
- 페이징기법을 통해 비연속적 메모리를 연속적 메모리처럼 만들 수 있음
* 페이지 크기가 작은 경우
1) 더 많은 페이징 사상테이블 필요
2) 내부 단편화 감소
3) 페이지의 집합을 효율적으로 운영가능
4) 기억장치의 효율이 좋음
5) 총 입출력 시간 증가
* 페이키크기가 큼
1) 주기억 장치 공간 절약
2) 참조되는 정보와 무관한 양의 정보가 주기억 장치네 남게 됨
3) 테이블이 복잡하지 않아 관리 용이
9. TCP 프로토콜과 관련한 설명
1) 흐름 제어(Flow Control)의 기능을 수행
2) 전이 중(Full Duplex) 방식의 양방향 가상회선을 제공한다.(양방향 연결형 서비스르 제공)
3) 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
4) TCP는 전송계층, IP는 네트워크 계층
5) 송신중에 링크를 유지관리하므로 신뢰성이 높다
6) 순서제어, 오류제어, 흐름제어 기능을 한다.
7) 신뢰성이 있는 연결 지향형 전달 서비스이다.
8) 기본 헤더 크기는 최소 20byte 최대 60byte / 헤더에 option 포함 시 최대 40byte 추가 가능
9) 스크림 전송 기능을 제공한다.
* 데이터 링크 계층 : 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
* 기법
1. Slow start
- 패킷이 문제없이 도착하몀ㄴ 혼잡 윈도우 크기를 패킷마다 1씩 증가시켜 한 주기가 지나면 혼잡 윈도우 크기가 2배로 되지만, 혼잡 현상 발생 시 혼잡 윈도우 크기를 1로 줄여버리는 방식
2. Sliding Window
- 한 번에 여러 패킷(프레임)을 전송할 수 있어 전송 효율이 좋은 기법
- 수신 측으로부터 이전에 송신한 패킷에 대한 긍정 수신 응답(ACK)이 전달된 경우 윈도우 크기는 증가하고, 수신측으로부터 이전에 송신한 패킷에 대한 부정 수신 응답(NAK)이 전달된 경우 윈도우 크기는 감소
3. Congestion Avoidance(혼잡방지, Congestion Control)
- 네트워크 내에서 패킷의 지연이 너무 높아지게 되어 트래픽이 붕괴되지 않도록 패킷의 흐름을 제어하는 트래픽 제어(종류: AMID, Slow Start)
* UDP(Uer Datagram Protocol)
- 흐름제어나 순서제어가 없어 전송속도가 빠르며 신뢰성이 낮다.
- 비연결성 서비스 제공
- 단순한 헤더구조로 오버헤드 적음
- 사용하는 경우 : 빠른 속도로 전송 요구 시, 동시에 여러 사용자에게 데이터 전달시 반복적 전송
- 실시간 전송에 유리, 신뢰성보다는 속도가 중요시 되는 네트워크에 사용
10. C언어 라이브러리
1) stdlib.h :문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
2) strlen() -> strlen.h에 포함
3) stdioh -> 표준 입출력 라이브러리
4) math.h -> 삼각 함수, 제곱근, 지수 등 수학적인 함수
11. OSI 7계층
1) 네트워크 계층
- 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
- 패킷에 발신지와 목적지의 논리 주소를 추가한다.
- 라우터 또는 교환기는 패킷을 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
2) 데이터링크 계층
- 한노드에서 다른 노드로 프레임을 전송하는 책임을 갖는 층을 갖는다.
- 동기화/오류제어/순서제어
3) 물리계층
- 실제 접속 및 절단/기계, 전기, 기능, 절차적 특성 규칙 정의
4) 응용계층
- 전자사서함/파일전송
- 최종 사용자가 실제로 상호 작용하는 계층, 네트워크 리소스=에 대한 액세스를 허용
- 사용자가 OSI 환경에 접근 가능하도록 서비스 제공
5) 표현계층
- 데이터 변환/데이터 암호화/정보형식변환
- 데이터로 작동하는 계층
- 응용계층과 상호 작용하여 데이터를 표현 계층으로 보낸다.
6) 세션계층
- 컴퓨터 간의 세션을 설정, 관리 및 종료하여 적절한 통신을 유지하는 역할을 수행
- 송수신 측 가 관련성 유지 및 대화 제어 / 체크점(동기점)을 두어 정보 수신상태체크
7) 전송계층 - 종단간 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류검출과 복구, 흐름 제어를 수행
12. 제어 프로그램
1) 감시 프로그램(Supervisor) - 프로그램과 시스템 작동상태를 감시, 감독
2) 작업 제어 프로그램(Job Control) - 작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당 등을 담당
3) 데이터 관리 프로그램 (Data Management) - 주기억장치와 보조기억장치 사이의 데이터 전송, 파일과 데이터를 처리, 유지, 보수 기능 수행
13. 교착상태 조건
1) 상호 배제(mutual exclusion)
2) 점유와 대기(hold and wait)
3) 비선점(Non-preemption)
4) 환형 대기(Circular wait)
14. IPv6(128비트)
1) 애니캐스트(Anycast)는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방식
2) 유니캐스트, 멀티캐스트, 애니캐스트
3) 멀티미디어의 실시간 처리 가능
4) 자동으로 네트워크 환경구성이 가능하다.
5) 패킷 크기는 임의로 큰 크기의 패킷을 주고 받을 수 있다.
6) IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이
* IPv4
- 유니캐스트, 멀티캐스트, 브로드캐스트
- 64바이트로 제한
15. C언어에서 변수로 사용할 수 없는 것
- short
- text-color
16. 용어정리
1. Working Set
- 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합
2. Locality - 어느 한 순간에 특정 부분을 집중적으로 참조
3. Thrashing - 지나치게 페이지 부재가 발생함으로 인하여 전체 시스템의 성능이 저하
17. 가상기억장치 구현 기법
1) 페이징(Paging) - 프로그램과 주기억장치의 영역을 동일한 크기(공정된 크기)의 일정한 블록으로 나눈다.
2) 세그먼테이션(Segmentation) - 다양한 크기(가변적인 크기)의 블록으로 나눈다.
18. 산술연산자 - %, *, /
* 논리연산자 : &, ^ , |, ~ , <<, >>
* 대입연산자 : ‘=’
* 조건연산자 : ?19. WAS
1) Tomcat
2) GlassFish
3) JBoss
4) Jetty
5) JEUS
6) Resin
7) WebLogic
8) WeSphere
* JVM(Java Virtual Machine) - 자바 가상 머신
20. UNIX SHELL 명령어
1) printev - 환경 변수 값을 출력하는 명령어
2) env - 환경 변수 보기 및 변경
3) setenv - 환경 변수 추가 또는 업데이트
4) fork - 새로운 프로세스를 생성
* configenv - 파이썬에서 사용, json 등
21. BYTE
1) byte - 1Byte
2) short - 2Byte
3) int = 4Byte
4) long = 8Byte
22. 커널 vs 쉘(shell)
- 커널
1) 프로세스(CPU스케줄링)꽌리
2) 기억장치 관리
3) 파일관리
4) 입출력 관리
5) 프로세스간 통신
6) 데이터 전송 및 변환 등 여러 가지 기능 수행
- 쉘
1) 시스템과 사용자간의 인터페이스 담당
2) 명령여 해석기
23. 공통모듈의 재사용 범위
1) 컴포넌트 재사용
2) 함수와 객체 재사용
3) 애플레케이션 재사용
24. 더미코드
- 호출 시 로직 없이 응답만 수행하는 모듈
- 단위 테스트 시 아직 미개발 된 모듈을 대체하기 위해 사용
25. 인터넷 계층의 프로토콜
1) IP : 데이터 주소를 지정하고 경로 설정
2) ICMP : IP와 조합하여 통신 중의 오류처리와 전송 경로 변경 등을 위한 제어 메시지 관리
3) IGMP : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹유지를 위해 사용
4) ARP : 호스트의 IP주소를 네트워크 접속 장치의 물리적 주소로 변환(ip->MAC)
5) RARP : ARP 반대 (물리적 주소를 IP 준소로 변환)
* FTP - 응용계층 프로토콜
26. PHP
1) @ : 에러 제어 연산자
2) <> : 관계 연산자
3) === : 관계 연산자
* #는 X
27. 소프트웨어 취약점
1) FTP 바운스 공격 - 네트워크 공격방법
- FTP 프로토콜 구조의 허점을 이용한 공격
2) SQL 삽입 - 웹관련 공격방법
- SQL의 논리적 에러를 이용한 공격
3) 버퍼 오버플로
- 메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점
4) 디렉토리 접근 공격 - 웹관련 공격방법
- 웹 루트 디렉토리 외부에 저장된 파일 또는 디렉토리에 접근하는 공격 방법
28.
(대기시간+서비스시간)/서비스시간 -> 값이 클수록 우선순위가 높다
DBCA
- 대기 시간이 긴 프로세스의 경우 우선순위가 높아짐
- SJF 기법을 보완하기 위한 방법
- 긴 작업과 짧은 작업 간의 지나친 불평등을 해소할 수 있다.
29. 운영체제
1) 다중 사용자와 다중 응용프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.
2) CPU, 메모리 공간, 기억장치, 입출력 장치 등의 자원을 관리한다.
3) 입출력 장치와 사용자 프로그램을 제어한다.
* 틀린답 : 운영체제의 종류(윈도즈, 리눅스/유닉스, 맥, 안드로이드)로는 매크로 프로세서, 어셈블러, 컴팡일러 등이 있다.
‘- 매크로 프로세서 : 시스템 소프트웨어
- 어셈블러 : 기계어와 프로그래밍 언어의 중간정도의 언어(어셈블리어를 기계어로 번역)
- 컴파일러 : 특정 언어를 타 언어로 옮기는 프로그램
30. 배치 프로그램
1. 자동화는 심각한 오류 상황 에는 사용자의 개입 없이 동작해야 한다.
2. 안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
3. 대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.
4. 성능은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 어플리케이션을 방해하지 말아야 한다.
5. 견고함은 유효하지 않은 데이터의 경우도 처리해서 비정상적인 동작 중단이 발생하지 않아야 한다.
31. 프로세스 상태의 종류
1) 보류(pending)
2) 준비(ready)
3) 실행(running)
4) 대기(blocked)
5) 교착(deadlock)
6) 완료(terminated, EXit)
7) 대기(Wait)
32. 스레드에 대한 설명
- 프로세스 내에서 작업 단위로 여러 자원을 할당 받아 실행하는 프로그램 단위
- 한 개의 프로세스에는 하나 이상의 스레드가 존재(여러개 가능)
- 하드웨어 운용체제 성능과 처리율의 향상 가능
- 응용프로그램 응답시간 단축 가능
- 실행 환경을 공유시켜 기억장소 낭비 줄어듬
1) 커널 스레드
- 운영체제 커널에 의해 스레드 운영 -> 구현쉬움, 속도 느림
2) 사용자 스레드
-사용자가 만든 라이브러리를 사용해 스레드 운용 -> 구현어려움, 속도 ᄈᆞ름
방식
1) CSMA/CA– 무선 랜에서 데이터 전송 시, 매체가 비어 있음을 확인한 뒤 충동을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방법
네트워크에 데이터의 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비하여 확인 신호를 전송한다.
2) Collision Domain
충돌 발생을 검출할 수 있는 브리지 간 혹은 다른 계층 장치 간의 이더넷 세그먼트 범위
3) CSMA/CD
이더넷에서 각 단말이 전송 공유 매체에 규칙있게 접근하기 위한 매체 액세스 제어 방식
2. 결합도
결합도 – 내용(content) > 공통(common) > 외부(external) > 제어(control) > 스탬프(stamp) > 자료(data)
* 결-내공외부제스자
* 결합도
- 모듈 외에 있는 처리요소들 사이의 기능적인 연관 정도(모듈내-> 응집도)
- 결합도가 높으면 품질이 낮으며, 시스템 구현 및 유지보수 작업이 어려움
- 결합도와 응집도는 반비례( 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상)
1) 스탬프 결함도
- 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터 결합되어있다고 한다.
- 두 모듈이 동일한 자료 구조를 조회
- 모듈 간 자료 구조 전달될 때 변화가 생기면 그것을 조회하는 모든 모듈에 영향을 미침
2) 데이터 결합도(자료 결합도(Data Coupling) - 어떤 모듈이 다른 모듈을 호출하면서 매개변수나 인수를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리결과를 다시 돌려주는 방식
- 자료 요소로만 구성 / 처리값 돌려줌
3) 내용 결합도(Content Coupling) - 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
4) 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통 결합 되어 있다고 한다.
- 공유되는 데이터 영역을 여러 모듈이 사용 / 공통 영영 내용 변경 시 영영을 사용하는 모든 모듈에 영향
5) 제어 결합도(control coupling) - 제어하기 위한 목적 / 권리 전도현상
* 결합도(Coupling)는 두 모듈간의 상호작용 또는 의존도 정도를 나타내는 것이다.
* 응집도 - 하나의 모듈이 하나의 기능을 수행하는 요소들간의 연관성 척도, 독립적인 모듈이 되기 위해서는 응집도가 강해야 한다.
기능적응집도>순차적응집도>교환적응집도>절차적응집도>시간적응집도>논리적응집도>우연적응집도
Functional>Sequential>Communication>Procedural>Temporal>Logical>Coinciental
기-순-교-절-시-논-우
1) 기능적 응집도(Functional Cohesion) - 모듈 내 모든 요소들이 단일 기능을 수행
2) 순차적 응집도(Sequential Cohesion) - 모듈 내의 한 요소의 출력 자료가 다음 요소의 입력 자료로 사용
3) 교환적 응집도(Communication Cohesion) - 모듈 내의 요소들이 동일한 입출력 자료로 서로 다른 기능을 수행
4) 절차적 응집도(Procedural Cohesion) - 모듈 수행 요소들이 반드시 특성 순서대로 수행
5) 시간적 응집도(Temporal Cohesion) - 특정 시간에 실행되는 기능들을 모아 작성된 모듈
6) 논리적 응집도(Logical Cohesion) - 논리적으로 유사한 기능을 수행하지만 서로의 관계는 밀접하지 않음
7) 우연적 응집도(Coincidental Cohesion) - 모듈 내 요소들이 뚜렷한 관계가 없이 존재, 어떠한 의미 있는 연관관계도 지니지 않은 기능 요소로 구성되고 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우
3. 교착상태의 해결 방법
1) Detection(탐지) : 교착상태 발생을 허용하고 발생 시 원인을 규명하여 해결(ex-자원할당 그래프)
2) Avoidance(회피) : 교착상태 가능성을 배제하지 않고 적절하게 피해나가는 방법(ex-은행원 알고리즘)
3) Recovery(복구) : 교착상태 발견 후 현황대기를 배제시키거나 자원을 중단하는 메모리 할당 기법(ex-선점, 프로세스 중지{희생자 선택})
4) Prevention(예방) : 교착상태의 필요조건을 부정함으로써 교착상태가 발생하지 않도록 미리 예방하는 방법
(ex-현황대기, 비선점, 점유와 대기, 상호배제 4가지 부정)
4. 프로세스 적재 정책
1) 반복, 스택, 부프로그램은 시간 지역성(Temporl Locality)과 관련이 있다.
2) 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
3) 일반적으로 페이지수행 시간보다 교환시간이 커질 때 발생하는 것을 스레싱현상이라 한다.
4) 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
5. 소프트웨어 프레임워크의 특징
1) 모듈화
2) 재사용성
3) 확장성
4) 제어의 역 흐름
6. JAVA 프로그램 실행 결과
->2
7. 리눅스 Bash 쉘(Shell)에서 export
1) 변수를 출력하고자 할 때 echo $변수명
2) export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력
3) 사용자가 생성하는 변수는 export 명령어 표시하지 않는 한 현재 쉘에 국한된다.
4) 변수를 export 시키면 전역(Global)변수처럼 끝까지 기억된다.
8. 페이징 기법에서 페이즈 크기가 작아질수록 발생하는 현상
1) 기억장소 이용 효율이 증가
2) 입, 출력 시간이 늘어난다.
3) 내부 단편화가 감소한다
*페이징 기법
- 컴퓨터가 메인 메모리에서 사용하기 위해 데이터를 저장하고 검색하는 메모리 관리 기법
* 메모리 관리 기법
- 페이징기법을 통해 물리적 메모리는 연속저으로 할당되어 존재할 필요가 없음
- 페이징기법을 통해 비연속적 메모리를 연속적 메모리처럼 만들 수 있음
* 페이지 크기가 작은 경우
1) 더 많은 페이징 사상테이블 필요
2) 내부 단편화 감소
3) 페이지의 집합을 효율적으로 운영가능
4) 기억장치의 효율이 좋음
5) 총 입출력 시간 증가
* 페이키크기가 큼
1) 주기억 장치 공간 절약
2) 참조되는 정보와 무관한 양의 정보가 주기억 장치네 남게 됨
3) 테이블이 복잡하지 않아 관리 용이
9. TCP 프로토콜과 관련한 설명
1) 흐름 제어(Flow Control)의 기능을 수행
2) 전이 중(Full Duplex) 방식의 양방향 가상회선을 제공한다.(양방향 연결형 서비스르 제공)
3) 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
4) TCP는 전송계층, IP는 네트워크 계층
5) 송신중에 링크를 유지관리하므로 신뢰성이 높다
6) 순서제어, 오류제어, 흐름제어 기능을 한다.
7) 신뢰성이 있는 연결 지향형 전달 서비스이다.
8) 기본 헤더 크기는 최소 20byte 최대 60byte / 헤더에 option 포함 시 최대 40byte 추가 가능
9) 스크림 전송 기능을 제공한다.
* 데이터 링크 계층 : 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
* 기법
1. Slow start
- 패킷이 문제없이 도착하몀ㄴ 혼잡 윈도우 크기를 패킷마다 1씩 증가시켜 한 주기가 지나면 혼잡 윈도우 크기가 2배로 되지만, 혼잡 현상 발생 시 혼잡 윈도우 크기를 1로 줄여버리는 방식
2. Sliding Window
- 한 번에 여러 패킷(프레임)을 전송할 수 있어 전송 효율이 좋은 기법
- 수신 측으로부터 이전에 송신한 패킷에 대한 긍정 수신 응답(ACK)이 전달된 경우 윈도우 크기는 증가하고, 수신측으로부터 이전에 송신한 패킷에 대한 부정 수신 응답(NAK)이 전달된 경우 윈도우 크기는 감소
3. Congestion Avoidance(혼잡방지, Congestion Control)
- 네트워크 내에서 패킷의 지연이 너무 높아지게 되어 트래픽이 붕괴되지 않도록 패킷의 흐름을 제어하는 트래픽 제어(종류: AMID, Slow Start)
* UDP(Uer Datagram Protocol)
- 흐름제어나 순서제어가 없어 전송속도가 빠르며 신뢰성이 낮다.
- 비연결성 서비스 제공
- 단순한 헤더구조로 오버헤드 적음
- 사용하는 경우 : 빠른 속도로 전송 요구 시, 동시에 여러 사용자에게 데이터 전달시 반복적 전송
- 실시간 전송에 유리, 신뢰성보다는 속도가 중요시 되는 네트워크에 사용
10. C언어 라이브러리
1) stdlib.h :문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
2) strlen() -> strlen.h에 포함
3) stdioh -> 표준 입출력 라이브러리
4) math.h -> 삼각 함수, 제곱근, 지수 등 수학적인 함수
11. OSI 7계층
1) 네트워크 계층
- 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
- 패킷에 발신지와 목적지의 논리 주소를 추가한다.
- 라우터 또는 교환기는 패킷을 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
2) 데이터링크 계층
- 한노드에서 다른 노드로 프레임을 전송하는 책임을 갖는 층을 갖는다.
- 동기화/오류제어/순서제어
3) 물리계층
- 실제 접속 및 절단/기계, 전기, 기능, 절차적 특성 규칙 정의
4) 응용계층
- 전자사서함/파일전송
- 최종 사용자가 실제로 상호 작용하는 계층, 네트워크 리소스=에 대한 액세스를 허용
- 사용자가 OSI 환경에 접근 가능하도록 서비스 제공
5) 표현계층
- 데이터 변환/데이터 암호화/정보형식변환
- 데이터로 작동하는 계층
- 응용계층과 상호 작용하여 데이터를 표현 계층으로 보낸다.
6) 세션계층
- 컴퓨터 간의 세션을 설정, 관리 및 종료하여 적절한 통신을 유지하는 역할을 수행
- 송수신 측 가 관련성 유지 및 대화 제어 / 체크점(동기점)을 두어 정보 수신상태체크
7) 전송계층 - 종단간 신뢰성 있고 효율적인 데이터를 전송하기 위해 오류검출과 복구, 흐름 제어를 수행
12. 제어 프로그램
1) 감시 프로그램(Supervisor) - 프로그램과 시스템 작동상태를 감시, 감독
2) 작업 제어 프로그램(Job Control) - 작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당 등을 담당
3) 데이터 관리 프로그램 (Data Management) - 주기억장치와 보조기억장치 사이의 데이터 전송, 파일과 데이터를 처리, 유지, 보수 기능 수행
13. 교착상태 조건
1) 상호 배제(mutual exclusion)
2) 점유와 대기(hold and wait)
3) 비선점(Non-preemption)
4) 환형 대기(Circular wait)
14. IPv6(128비트)
1) 애니캐스트(Anycast)는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방식
2) 유니캐스트, 멀티캐스트, 애니캐스트
3) 멀티미디어의 실시간 처리 가능
4) 자동으로 네트워크 환경구성이 가능하다.
5) 패킷 크기는 임의로 큰 크기의 패킷을 주고 받을 수 있다.
6) IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이
* IPv4
- 유니캐스트, 멀티캐스트, 브로드캐스트
- 64바이트로 제한
15. C언어에서 변수로 사용할 수 없는 것
- short
- text-color
16. 용어정리
1. Working Set
- 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합
2. Locality - 어느 한 순간에 특정 부분을 집중적으로 참조
3. Thrashing - 지나치게 페이지 부재가 발생함으로 인하여 전체 시스템의 성능이 저하
17. 가상기억장치 구현 기법
1) 페이징(Paging) - 프로그램과 주기억장치의 영역을 동일한 크기(공정된 크기)의 일정한 블록으로 나눈다.
2) 세그먼테이션(Segmentation) - 다양한 크기(가변적인 크기)의 블록으로 나눈다.
18. 산술연산자 - %, *, /
* 논리연산자 : &, ^ , |, ~ , <<, >>
* 대입연산자 : ‘=’
* 조건연산자 : ?19. WAS
1) Tomcat
2) GlassFish
3) JBoss
4) Jetty
5) JEUS
6) Resin
7) WebLogic
8) WeSphere
* JVM(Java Virtual Machine) - 자바 가상 머신
20. UNIX SHELL 명령어
1) printev - 환경 변수 값을 출력하는 명령어
2) env - 환경 변수 보기 및 변경
3) setenv - 환경 변수 추가 또는 업데이트
4) fork - 새로운 프로세스를 생성
* configenv - 파이썬에서 사용, json 등
21. BYTE
1) byte - 1Byte
2) short - 2Byte
3) int = 4Byte
4) long = 8Byte
22. 커널 vs 쉘(shell)
- 커널
1) 프로세스(CPU스케줄링)꽌리
2) 기억장치 관리
3) 파일관리
4) 입출력 관리
5) 프로세스간 통신
6) 데이터 전송 및 변환 등 여러 가지 기능 수행
- 쉘
1) 시스템과 사용자간의 인터페이스 담당
2) 명령여 해석기
23. 공통모듈의 재사용 범위
1) 컴포넌트 재사용
2) 함수와 객체 재사용
3) 애플레케이션 재사용
24. 더미코드
- 호출 시 로직 없이 응답만 수행하는 모듈
- 단위 테스트 시 아직 미개발 된 모듈을 대체하기 위해 사용
25. 인터넷 계층의 프로토콜
1) IP : 데이터 주소를 지정하고 경로 설정
2) ICMP : IP와 조합하여 통신 중의 오류처리와 전송 경로 변경 등을 위한 제어 메시지 관리
3) IGMP : 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹유지를 위해 사용
4) ARP : 호스트의 IP주소를 네트워크 접속 장치의 물리적 주소로 변환(ip->MAC)
5) RARP : ARP 반대 (물리적 주소를 IP 준소로 변환)
* FTP - 응용계층 프로토콜
26. PHP
1) @ : 에러 제어 연산자
2) <> : 관계 연산자
3) === : 관계 연산자
* #는 X
27. 소프트웨어 취약점
1) FTP 바운스 공격 - 네트워크 공격방법
- FTP 프로토콜 구조의 허점을 이용한 공격
2) SQL 삽입 - 웹관련 공격방법
- SQL의 논리적 에러를 이용한 공격
3) 버퍼 오버플로
- 메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점
4) 디렉토리 접근 공격 - 웹관련 공격방법
- 웹 루트 디렉토리 외부에 저장된 파일 또는 디렉토리에 접근하는 공격 방법
28.
(대기시간+서비스시간)/서비스시간 -> 값이 클수록 우선순위가 높다
DBCA
- 대기 시간이 긴 프로세스의 경우 우선순위가 높아짐
- SJF 기법을 보완하기 위한 방법
- 긴 작업과 짧은 작업 간의 지나친 불평등을 해소할 수 있다.
29. 운영체제
1) 다중 사용자와 다중 응용프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.
2) CPU, 메모리 공간, 기억장치, 입출력 장치 등의 자원을 관리한다.
3) 입출력 장치와 사용자 프로그램을 제어한다.
* 틀린답 : 운영체제의 종류(윈도즈, 리눅스/유닉스, 맥, 안드로이드)로는 매크로 프로세서, 어셈블러, 컴팡일러 등이 있다.
‘- 매크로 프로세서 : 시스템 소프트웨어
- 어셈블러 : 기계어와 프로그래밍 언어의 중간정도의 언어(어셈블리어를 기계어로 번역)
- 컴파일러 : 특정 언어를 타 언어로 옮기는 프로그램
30. 배치 프로그램
1. 자동화는 심각한 오류 상황 에는 사용자의 개입 없이 동작해야 한다.
2. 안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
3. 대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.
4. 성능은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 어플리케이션을 방해하지 말아야 한다.
5. 견고함은 유효하지 않은 데이터의 경우도 처리해서 비정상적인 동작 중단이 발생하지 않아야 한다.
31. 프로세스 상태의 종류
1) 보류(pending)
2) 준비(ready)
3) 실행(running)
4) 대기(blocked)
5) 교착(deadlock)
6) 완료(terminated, EXit)
7) 대기(Wait)
32. 스레드에 대한 설명
- 프로세스 내에서 작업 단위로 여러 자원을 할당 받아 실행하는 프로그램 단위
- 한 개의 프로세스에는 하나 이상의 스레드가 존재(여러개 가능)
- 하드웨어 운용체제 성능과 처리율의 향상 가능
- 응용프로그램 응답시간 단축 가능
- 실행 환경을 공유시켜 기억장소 낭비 줄어듬
1) 커널 스레드
- 운영체제 커널에 의해 스레드 운영 -> 구현쉬움, 속도 느림
2) 사용자 스레드
-사용자가 만든 라이브러리를 사용해 스레드 운용 -> 구현어려움, 속도 ᄈᆞ름
'정보처리기사 필기' 카테고리의 다른 글
| [정보처리기사] - 5과목 (0) | 2022.08.25 |
|---|---|
| [정보처리기사] - 3과목 (0) | 2022.08.23 |
| [정보처리기사] - 2과목 : 소프트웨어 개발 (1) | 2022.08.22 |
| 정보처리기사 1과목 (0) | 2022.08.21 |