관리 메뉴

+ Repository +

[오답노트] 정처기 21-1회차 기억할 핵심 필수내용들 본문

자격증/정보처리기사

[오답노트] 정처기 21-1회차 기억할 핵심 필수내용들

jaeti 2022. 4. 21. 13:10

• 리눅스 명령어

- ls : 디렉토리, List 목록 출력 (파일)

- cat : 파일출력, 두개 이상의 파일 연결

- pwd : print working directory (현재 실행중인 디렉토리 출력)

- uname : 시스템 정보 출력

 

• 시스템 연계 기술

- DB링크기술 : 데이터베이스에서 제공하는 DB객체 활용 or 수신측에서 DB링크 생성, 송신측 해당 링크 직접참조

- 소켓 기술 : 서버는 통신을 위한 소켓 생성하여 포트 할당, 클라이언트의 통신 요청시 클라이언트와 연결해 통신한다.

 

미들웨어

서로 다른 기종간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용프로그램과 운영환경 간 원만한 통신이

이루어질 수 있도록 서비스 제공. (표준화된 인터페이스 제공한다.)

- WAS (Web application server) : 어플리케이션 수행 미들웨어. 

- MOM (Message oriented middleware) : 메시지 지향 미들웨어

- RPC (Remote procedure call) : 원격 프로시저 호출 (*remote = 원격)

- ORB (Object request broker) : 네트워크 호출 미들웨어

 

 

정렬 정리

1. 삽입정렬 (Insert sort)

① 회전 - 첫키 & 두번째 키 비교

② 회전 - 1~2키 & 세번째 키 비교

③ 회전 - 1~3키 & 네번째 키 비교

 

+ 쉘 정렬 (삽입정렬 확장한 개념)

: 임의의 레코드 키와 h만큼 떨어진 곳의 레코드 키 비교

평균 수행 복잡도 O(n^1.5), 최대 O(n^2)

 

2. 선택정렬 (Selection sort)

① 회전 - 첫자리 & 나머지 네 칸 비교해 자리 바꾸기

② 회전 - 두번째 자리 & 나머지 세 칸 비교해 자리 바꾸기

③ 회전 - 세번째 자리 & 나머지 두 칸 비교해 자리 바꾸기

 

3. 버블정렬 (bubble sort)

: 인접한 두 개 레코드 키값 비교

 

+ 퀵 정렬 (Quick sort)

: 많은 자료이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬.

정렬 방식들 중 가장 빠른 방식이다. 되부름 이용하므로 스택 필요하다.

분할 / 정복을 통해 자료를 정렬한다. (divide, conquer)

평균 수행 복잡도 O(nlog2n) , 최대 O(n^2)

 

+ 힙 정렬 (Heap sort)

: 전이진 트리 사용

평균 & 최대 수행 복잡도 all O(nlog2n) 이다.

 

+ 2-way 합병정렬

: 정렬되어있는 두개의 파일을 한 개의 파일로 합병하여 정렬한다.

하나의 정렬된 파일이 될 때 까지 반복한다.

평균 최악 all O(nlog2n)

 

+ 기수 정렬 (Bucket sort)

: 큐 이용하여 자릿수별로 정렬

 

 

 [ 정리 ] 

- 쉘 : 삽입정렬 확장판. 레코드 키와 거리 h 떨어진 ~ = 쉘

- 퀵 : 제일 빠름, 스택 이용, 분할 + 정복.

- : 전이진 트리 + 복잡도 평균/최대 똑같

+ 2way : 두개 합치기, 얘도 평균/최대 복잡도 똑같 (힙&2way만 평/최악 전부 O(nlog2n))

+ 기수 : 큐 이용 (퀵 : 스택, 기수 : 큐 - 많이 들어본 퀵이 먼저배운 스택, 생소 기수 - 다음 배운 큐)

 

• 인수 검사 기법 (필드 테스팅)

- 베타 테스트 : 선정된 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트기법 -> 개발자 없이

- 알파 테스트 : 개발자의 장소에서 사용자가 개발자 앞에서

α,β 순이므로 알파 - 개발자가 (만든 사람이 먼저 테스트해보는게 당연), 베타 - 사용자가

 

• DB 스키마 : DB에서 자료의 구조, 표현방법, 자료간의 관계를 형식 언어로 정의한 구조

- 외부 스키마 : 프로그래머나 사용자의 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것

- 개념 스키마 : 모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한 것

-내부 스키마 : 전체 데이터베이스의 물리적 저장 형태를 기술하는 것

 

 

 [ 관계대수 연산 ]  (앞선 오답노트에서 적어뒀던 내용 +a)

(1) 일반 집합 연산자

• 카티션 프로덕트 (cartesian product) = 곱집합

• 합집합, 교집합(intersect), 차집합

 

(2) 순수 관계 연산자 (*연산자 기호)

• SELECT (α) : 조건을 만족하는 튜플을 선택하는 연산 - 수평적 부분집합

• PROJECT (π) : 프로젝트 연산에 명세된 속성값만 선택 - 수직적 부분집합

• JOIN (▷◁) : 조인조건 만족해야함. 유일성

• DIVISION (÷) : R 나누기 S 에서 R에는 있고 S에는 없는 속성을 구하는 연산

 

 

* 용어 헷갈 x -> 릴레이션 == 테이블

 

SQL 언어

ⓐ DDL - 데이터 정의어

- CREATE : 여러 틀 정의- ALTER : 테이블에 대한 정의 변경- DROP : 틀 정의한거 삭제한다. (내용 아니고 구조 자체의 단위)

 

ⓑ DML - 데이터 조작어

- SELECT : 조건에 맞는 튜플 검색- INSERT : 새로운 튜플 삽입- DELETE : 조건에 맞는 튜플 삭제- UPDATE : 조건에 맞는 튜플 내용 변경

 

ⓒ DCL - 데이터 제어어

- COMMIT : 수행된 결과 물리적 디스크로 저장, 정상 완료됐음을 관리자에게 알린다.- ROLLBACK : 비정상 종료시 원래상태로 복구- GRANT : 사용자에게 사용권한 부여- REVOKE : 사용자의 사용권한 취소

 

IEEE 802 표준규약 (전송매체 접속제어 방식)

- .3 : CSMA/CD

- .4 : 토큰 버스

- .5 : 토큰 링

 

• 교착상태한정된 자원을 여러 곳에서 사용하려고 할 때 모두 작업수행을 할 수 없이 대기 상태에 놓이는 상태 (+a 내용추가)

- Detection (탐지) = 교착상태 발생을 허용, 발생시 원인을 규명하여 해결 (자원 할당 그래프)

- Avoidance (회피) = 교착상태 가능성을 배제하지 않고 적절하게 피해나가는 방법 (은행원 알고리즘)

- Recovery (복구) = 교착상태 발견 후 현황대기를 배제 or 자원을 중단하는 메모리 할당기법 (선점, 프로세스 중지 = 희생자 선택)

- Prevention (예방) = 교착상태 필요조건 부정, 발생하지 않도록 예방 (환형대기, 비선점, 점유와 대기, 상호배제)

 

* 예방에 쓰일 수 있는 조건 *

① 상호배체 (Mutual exclusion) - 서로 x

② 점유와 대기(Hold and wait) - 하나 쓰고 하나 x

③ 비선점 (Non preemption) - 둘 다 x

④ 환형대기 (Circular wait)  - 돌면서 ㄱㄷ

 

• 운영체제 - 가상 기억장치 관리

- Locality : 어느 한 순간에 특정 부분을 집중적으로 참조

- Working set : 프로세스가 일정 시간동안 자주 참조

- Thrashing : 지나치게 페이지에 부재 발생해 (참조 x) 전체 시스템 성능 저하

 

• 가상기억장치 구현

- 고정된 크기로 나누기 : paging

- 가변적 크기로 (다양한 크기로) 나누는 : segmentation

 

• TCP/UDP 정리 (in 전송계층)

TCP

- 양방향 연결형 서비스 제공

- 송신중에 링크 유지관리해서 신뢰성 높다

- 순서제어 + 오류제어 + 흐름제어 기능 한다. --> 신뢰성 ↑

UDP

- 흐름제어나 순서제어 등 제어가 없어 전송속도가 빠르다 --> 단, 제어가 없으니 신뢰성 ↓

 

공격관련 도구 모음

- tripwire : 자신의 리눅스시스템을 외부 크래커 공격 + 내부 악의적 사용자 공격으로부터 지켜내는 마지노선 같은 역할.

  → 백도어 만들어놓거나 설정파일 변경시 분석

- tcpdump : 컴퓨터에 부착된 네트워크 통해 송수신되는 기타 패킷 가로채고 표시할 수 있게 도와주는 sw

 

 

• 정보보안을 위한 접근통제 정책 (3) 

- 임의적 접근통제

- 강제적 접근통제

- 역할 기반 접근통제

 


[ ~ 하드웨어, 시스템 관련 신기술 (+그냥 기술) 총 정리 ]

 

① 하드웨어 관련 신기술

- N-Screen : 서로다른 N개의 단말기에서 원하는 콘텐츠를 끊김없이 자유롭게 이용 가능하다.

- Memristor (memory + register) : 전원 공급이 끊어져도 다시 전원공급되면 이전 상태 복원된다.

- MEMS : 센서, 엑추에이터 등 기계구조를 다양한 기술로 미세가공 후 전기기계적 동작 가능하게 한 초미세장치

- MQTT : 사물통신, 사물인터넷과 같이 대역폭이 제한된 통신환경 최적화. 푸시기술 기반 경량 메시지 전송 프로토콜

- Baas : 블록체인 개발환경 클라우드로 서비스하는 개념

- OTT : 개방된 인터넷 통해 미디어콘텐츠 제공

- SDDC (Software define data center) : 데이터센터 모든 자원 가상화되어 서비스, sw 조작만으로 자동 제어 관리되는 데이터센터

- Wi-SUN : 장거리 무선통신을 필요로 하는 사물인터넷 서비스를 위한 저전력 장거리 통신 기술

 

② 프로그램 관련 기술

- Stack guard : 메모리상에서 프로그램의 복귀 주소와 변수 사이에

특정 값을 저장해두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행 중단한다.

- ASLR : 프로그램 실행 시 마다 랜덤화해서 추적 어렵게하는 방법.

 

③ 침입 차단 관련 시스템 (방화벽)

- Screened Subnet : 외부&내부 네트워크 사이에 두는 완충적 통신망.

- Nmap : 서버에 열린 포트 정보를 스캐닝해서 보안 취약점을 찾는데 활용한다.

 

 

Comments