정보처리산업기사 공부 공부하면서 알아낸 것들.
CAM-Content addressable memory
-검색이 빠른 어플리케이션에서 사용되는 특수한 메모리(CAM)이라고 부름.
내부 스키마
-물리적 저장 장치의 입장에서 본 데이터베이스 구조로서 실제로 데이터 베이스에 저장될 레코드로 형식을 정의하고 저장 데이터 항목의 표현 방법.(물리적)
개념 스키마
: 논리적 구조
-데이터의 접근권한, 보안 정책, 무결성 규칙에 관한 명세를 정의한 것.
외부스키마: 사용자나 응용 프로그래머가 사용할 수 있도록 데이터베이스를 정의한 것.
관계스키마 (테이블 스키마): 시간에 관계없는 정적 성질을 갖는 릴레이션의 연구 부분인 릴레이션의 내포를 명세화한 것.
데이터베이스 관리자의 역할
-데이터베이스에 스키마 정의
-자료의 보안성, 무결성 유지
-백업 및 회복 전략 정의
트리 구조 순회 경로.
이진 나무 순회(Tree Traverse)
⊙ 전위 순회(preorder traverse) : 뿌리(root)를 먼저 방문
⊙ 중위 순회(inorder traverse) : 왼쪽 하위 트리를 방문 후 뿌리(root)를 방문
⊙ 후위 순회(postorder traverse) : 하위 트리 모두 방문 후 뿌리(root)를 방문
⊙ 층별 순회(level order traverse) : 위 쪽 node들 부터 아래방향으로 차례로 방문
무결성 원칙
1. 개체 무결성 : 기본키는 null 값이 될 수 없음
2. 참조 무결성 : 외래키는 참조할 수 없는 값을 가질 수 없음
3. 도메인 무결성 : 특정 속성값은 그 속성이 정의된 도메인에 속한 값이어야 함
4. 키 무결성 : 릴레이션에는 최소한 하나의 키가 존재해야 함
5. null 무결성 : 특정 속성은 null 값을 가질 수 없음
6. 고유 무결성 : 특정 속성값은 서로 달라야 함
릴레이션의 차수는 속성(attribute)의 갯수
*마이크로 오퍼레이션이란?
명령(Instruction) 한 개를 실행하기 위해서는 그 명령이 기억된 위치를 파악하고 그 곳을 찾아가서 명령을 꺼내 온 후 무슨 명령인지 번역하고 그 명령을 처리할 장치를 동작시키는 등의 여러 동작 과정을 거치게 된다. 이때 작은 동작 하나하나를 마이크로 오퍼레이션
1. 조건 필드는 분기에 사용될 조건 플래그를 지정한다.
2. 연산 필드가 두 개인 경우 동시에 두 개의 연산들이 수행된다.
3. 주소 필드는 다음에 실행할 마이크로명령어 주소로 사용된다.
4. 분기 필드는 다음에 실행할 마이크로명령어의 주소를 결정하는 방법을 명시한다.
중앙처리장치-입출력장치 속도 얘기가 나오면 무조건 채널로 생각하시면 됩니다!
ROM의 종류
Mask ROM : 공장에서 생산 될 때 데이터가 입력 되고 출고 후 데이터 수정이 불가능 하다.
PROM : 사용자가 한번은 내용을 입력 할 수 있지만 그 후에는 수정이 불가능 하다.
EPROM : 자외선으로 여러번 수정 가능하다.
EAROM : 전기적인 신호로 여러번 수정이 가능하다.
관계 대수
관계 데이터 모델에서의 릴레이션을 조작하기 위한 기본 연산에는 두가지 타입의 정형어, 관계대수, 관계 해석이 있다.
-원하는 목표 데이터를 얻기 위하여 어떻게 해야 되는 지의 일련의 연산을 순서적으로 명세
관계해석: 무슨 데이터를 원하는 지만 선언하면 된다.
관계 대수 합집합, 차집합, 교집합, 프로젝트(파이)
관계 데이터의 연산을 표현하는 방법
튜플 관계 해석과 도메인 관계해석이 존재
관계 대수로 표현한 식은 관계 해석으로 표현가능.
비절차적 언어.
트랜잭션의 특성(ACID)
원자성:트랜잭션은 완벽하게 수행되거나 전혀 수행되지 않아야 함.
일관성:트랜잭션 수행 전과트랜잭션 수행완료 후가 같아야 함
영속성:트랜잭션이 일단 그 실행을 성공적으로 완료하면 그 결과는 영속적이어야한다.
독립성:트랜잭션이 실행될 때마다 다른 트랜잭션에 영향을 받지말아야한다.
분산처리 데이터베이스의 장점
- 분산 데이터의 효과적 처리와 데이터의 공유성 향상
-신뢰성, 융통성, 효율성, 가용성, 확장성 증가
-지역 특성에 맞는 하드웨어, 소프트웨어 구축
단점
-구현이 복잡하며ㅡ, 소프트웨어 개발 비용과 처리 비용의 증가.
-잠재적 오류가 증가함
-보안을 위한 추가 기술이 필요.
해싱
해시 테이블이라는 기억옥간을 할당하고 해시 함수를 이용하여 레코드키에 대한 해시 테이블 내의 홈주소를 계싼한 후, 주어진 레코드를 해당 기억장소에 저장하거나 검색 작업을 수행하는 방식
-키 값으로 부터 ㅈ레코드가 저장되어있는 주소를 직접 계샇ㄴ하여, 산출된 주소로 바로 접근하는 방법.-키 주소 변환 방법
-검색방법중 속도가 가장 빠름, 기억 공간이 많이 요구됨
-종류
데이터베이스 물리적 설계의 옵션 선택시 고려사항
-트랜잭션 처리량
-공간 활용도
-응답시간
물리적 설계 단계
데이터베이스 파일의 저장 구조 및 액세스 경로를 결정한다.
물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.
저장 레코드의 형식, 순서, 접근 경로 등의 정보가 컴퓨터에 저장되는 방법을 묘사한다.
정렬 알고리즘 선택 시 고려사항
•데이터의 양
•초기 데이터의 분포(배열)상태
•키 값들의 분포상태
•소요공간 및 작업시간
•사용 시스템의 특성
중위 표기식
A*B+C-D/E
전위 표기식
*(AB)+C-/(DE)
+*(ABC)-/(DE)
-+*ABC/DE
전가산기의 논리식
S = (X⊕Y)⊕Z
C = XY+(X⊕Y)Z
2의 보수 표현 방식8비트의 기억공간에 정수를 표현할 때 표현 가능 범위
-27~+(27-1)
정렬
버블정렬-구현이 쉽고 인접한 값만 비교하는 정렬./비효율적,최악이든 최선이든(O(N2)시간을 가짐)
선택정렬-구현이 쉽다, 정렬을 위한 비교 횟수는 많지만 실제로 교환하는 횟수는 적어 많은 교환이 일어나는 자료에서 효율적으로 사용가능/비효율적,최악이든 최선이든(O(N2)시간을 가짐)
힙정렬-추가적인 메모리를 필요로 하지 않으면서 항상 O(nlog₂N)으로 보장된다는 장점./안정성을 보장받지 못함.
삽입정렬-(O(N2)시간을 가짐)
정규화 원칙
하나의 스키마에서 다른 스키마로 변환시킬 때 정보의 손실이 있어서는 안 된다.
하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분리시켜 표현한다.
데이터의 중복성이 감소되어야 한다.
===================================================================================
SQL 분야
DELETE : 릴레이션(테이블)에서 튜플(레코드) 제거를 요청할 수 있는 명령
DROP : 릴레이션 제거를 요청할 수 있는 명령
===================================================================================
2과목
하드웨어 우선순위 인터럽의 특징.
1. 가격이 비싸다.
2. 응답속도가 빠르다.
3. 하드웨어로 우선순위를 결정한다.
하드웨어 우선순위 인터럽트:
vectored interrupt/ 고속, 복잡, 비경제적, 융통성 없음
소프트웨어 우선순위 인터럽트:
polling/ 저속, 간단, 경제적, 융통성
부동 소수점 연산의 일반적인 형식은 "부호 지수부 가수부" 이다
AND 연산을 이용하여 어느 비트(문자)를 지울 것인가를 결정하는 것은?
:And 연산은 삭제할 부분의 비트를 0과 AND 시켜서 삭제하는데, 대응시키는 0인 비트를 Mask Bit라고 한다
인터럽트 종류
외부 인터럽트
전원 이상 인터럽트 - 정전, 전원 이상
기계 착오 인터럽트 - CPU의 기능적인 오류 동작 발생
외부신호 인터럽트(External Interrupt) - 타이머에 의해 규정된 시간(Time Slice)을 알리는 경우, 키보드로 인터럽트 키를 누른경우, 외부장치로부터 인터럽트 요청이 있는 경우
입/출력 인터럽트(Input-Output Interrupt) - 입/출력 Data의 오류나 이상 현상이 발생한 경우, 입/출력 장치가 데이터의 전송을 요구하거나 전송이 끝났음을 알릴 경우
내부 인터럽트
프로그램 검사 인터럽트 - 0으로 나누기가 발생한 경우, Overflow 또는 Underflow가 발생한 경우, 프로그램 명령어를 잘못 사용하거나 부당한 기억장소의 참조와 같은 프로그램 상의 오류
소프트웨어 인터럽트
SVC 인터럽트 - 오퍼레이터가 의도적으로 호출한 경우, 복잡한 입/출력을 해야 하는 경우, 기억당치 할당 및 오퍼레이터와 대화를 해야 하는 경우
인터럽트 작동 순서
1) cpu에게 인터럽트 요청
2) 현재 작업중인 프로세스상태 (STACK에 저장)
3) 인터럽트 처리 프로그램 작동
4) 인터럽트 처리 프로그램이 종료되면 리턴주소를 이용해 원상태 이전 작업으로 복귀
인터럽트 검사방식의 종류
폴링(polling)이란?
하나의 장치(또는 프로그램)가 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식을 말한다.
이 방식은 버스, 멀티포인트 형태와 같이 여러 개의 장치가 동일 회선을 사용하는 상황에서 주로 사용된다.
서버의 제어 장치(또는 프로그램)는 순차적으로 각 단말 장치(또는 프로그램)에 회선을 사용하기 원하는지를 물어본다.
문제에 나온 기억장치의 종류
내용 주소화 기억장치(Content-addressable memory)는 매우 빠른 속도를 요하는 탐색 애플리케이션에서 사용되는 특수한 메모리이다. 보통 CAM으로 줄여 말하며, 연관 메모리(associative memory)라고도 한다.
명령의 종류
1. JMP X
MOV 명령. 데이터를 복사하는 명령어, 데이터 전송하는 명령어
3. STA X AC의 내용을 유효 주소로 지정된 메모리 워드에 전송
그레이코드란?
그레이 코드(gray code는 이진법 부호의 일종으로, 연속된 수가 1개의 비트만 다른 특징을 지닌다. 연산에는 쓰이진 않고 주로 데이터 전 송, 입출력 장치, 아날로그-디지털 간 변환과 주변장치에 쓰인다.
1010(₂)이진수
1 첫번째 자리 그대로쓰기
11 두번째 자리는 첫째 자리와 더하기
111 세번째 자리는 두번째 자리와 더하기
1111 네번째 자리는 세번째 자리와 더하기.
Staging(스테이징) : 기억체계에서 페이지 부재(Page Fault)가 발생하면 교체할 페이지를 결정해서 보조기억장치의 이전 위치에 기억시키고 새로운 페이지를 교체한 페이지에 위치시킴
데이터를 오프라인 장치 또는 액세스의 우선순위가 낮은 장치로부터 온라인 장치 또는 우선순위가 높은 장치로 옮기는것
대용량 기억장치상의 데이터를 직접 접근 기억 장치로 옮기는 것.
64K인 주소공간과 4K인 기억공간을 가진 PC인 경우 한 페이지(Page)가 512워드라면 블록의 개수와 블록 주소 비트는?
페이지는 주소공간에서, 블록은 기억공간에서 사용되는 용어입니다.
512/64 = 8블럭 2∧3
512/4 = 128페이지 2^7
Cycle Stealing : 중앙 처리 장치와 입출력 장치가 공통 버스를 통하여 주기억 장치를 동시에 접근하려고 하는 경우, 중앙 처리 장치에서 주기억 장치에 접근하는 것을 양보하여 하나 또는 몇 개의 사이클 동안 입출력 장치가 공통 버스로 주기억 장치에 접근하도록 하는 일.
RAM의 종류
SRAM
장점 : 속도빠름
단점 : 용량작음, 비쌈, 복잡한구조, 소비전력큼
DRAM
장점 : 용량큼, 저렴
단점 : 속도느림, refresh필요
캐시메모리에 쓰이는 SRAM도 휘발성. HDD,SSD에 쓰이는 Flash Memory가 비휘발성.
DRAM은 PC의 주 메모리에 쓰임. 램이라 생각하면 됨.
MAR(Memory Address Register)의 역할
CPU에서 기억장치 내의 특정 번지에 있는 데이터나 명령어를 인출하기 위해 그 번지를 기억하는 역할을 한다.
명령어 사이클
인출(Fetch), 간접(Indirect), 실행(Execution), 인터럽트(Interrupt)
마이크로 오퍼레이션 수행에 필요한 시간은?
하나의 마이크로 오퍼레이션이 수행되는데 걸리는 시간을
Micro Cycle Time 또는 CPU Clock Time 이라 하고 흔히 CPU가 얼마나 빠른지를 나타냅니다.
페이지교체알고리즘
fifo : 가장 처음 열었던 페이지가 교체됨
lru : least Recently Used 가장 최근의 페이지가 남음 즉, 가장 오래된 페이지가 교체됨
lfu : Lease Frequently Used 가장 빈번한 페이지가 남음, 즉 가장 적게 사용된 페이지가 교체됨
===================================================================================시스템 분석 설계
오류의 종류
Transcription Error(필사오류) : 입력 시 임의의 한 자리를 잘못 기록한 경우 발생 (오자 오류)
Transposition Error(전위오류) : 입력 시 좌우 자리를 바꾸어 기록한 경우 발생
Addition Error(추가오류) : 입력 시 한 자리를 더 추가하여 기록한 경우 발생
Omission Error(생략오류) : 입력 시 한 자리를 뺴놓고 기록한 경우 발생
오류 여부를 검사하는 방법
1. Balance Check = 대차 검사
2. Range Check = 범위 검사
3. Limit Check = 한계 검사
4. Echo Check = 에코 검사(루프 검사):
시스템 오류 검사 기법 중 수신한 데이터를 송신 측으로 되돌려 보내 원래의 데이터와 비교하여 오류 여부를 검 사하는 방법
프로세스 설계에 대해 고려해야하는 점.
1. 입력 정보를 이용하여 출력 정보를 생성하는 과정
2. 사용하는 하드웨어 및 소프트웨어의 성능과 유관하게 설계
3. 프로세스 흐름도를 작성한 후 그 내용에 따라 각각의 프로세스의 논리를 설계
4. 시스템의 성능을 고려한 효율적인 처리과정을 표현
자료사전 기호
정의 : =
연결 : +
생략 : () //소괄호
선택 : [] //대괄호
반복 : {} //중괄호
설명 : * *
IPT(Improved Programming Technique) 기법
절차적 프로그래밍의 하위개념/ goto문 등에 의존하는 프로그래밍 기법을 대신할 수 있는 기법
1. 프로그램 생산성 향상을 위해 이용되는 기법을 총칭한다.
2. HIPO, N-S Chart 등의 도구가 효과적으로 활용될 수 있다.
3. 프로그래밍에 GOTO문을 배제한다.
4. 프로그램의 품질을 향상시켜 유지보수를 용이하게 한다.
객체지향 분석 및 설계 방법
캡슐화로 결합도를 낮추고 응집도를 높일 수 있음
상속 및 다형성을 통한 확장성과 코드의 재사용성
추상화 및 다형성을 통한 유연한 설계와 복잡도 관리
1. 럼바우(Rumbaugh) 분석 모델
2. 코드(Coad)와 요돈(Yourdon) 기법
3. 부치(Booch) 기법
소프트웨어 개발 단계
1.요구사항 분석(Requirements Analysis) - 문제 분석 단계 ...
2.시스템 명세 - 시스템이 무엇을 수행해야 하는가를 정의하는 단계 ...
3.설계(Design) ...
4.프로그래밍(Programming) ...
5.테스트(Testing) ...
6.유지보수(Maintenance)
다음 중 객체지향언어가 아닌 것은?
1. C++
2. Smalltalk
3. Ada
4. COBOL < 이것
코드 설계 시 유의 사항
• 컴퓨터 처리에 적합해야 한다.
• 공통성이 있어야 한다.
• 확장성이 있어야 한다.
• 체계성이 있어야 한다.
• 일관성이 있어야 한다.
• 간결성(단순성)이 있어야 한다.
• 식별성(고유성)이 있어야 한다.
• 정렬과 분류가 편리해야 한다.
럼바우의 모델링 방법 중 시간 흐름에 따른 객체들과 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등을 표현하는 것
럼바우 모델링 방법에는 객체, 기능, 동적이 있습니다.
시스템의 변화를 보여주는 객체 상태 다이어그램을 작성하는 모형에 해당하는 것은? 동적 모형 Dynamic Modeling
럼바우의 객체지향 분석 기법에서 상태 다이어그램과 밀접한 관계가 있는 것은? Dynamic Modeling 동적 모형
럼바우의 객체지향 분석 기법에서 자료 흐름도와 밀접한 관계가 있는 것은?Function Modeling 기능 모형
자료 흐름도(DFD)에 대한 설명
1. 구조적 분석용 문서화 도구
2. 도형 중심의 표현
3. 하향식 분할의 표현
4. 자료 흐름 중심의 표현
트랜잭션 파일(Transaction File)
거래내역이나 변동 내용 등 일시적인 성격을 지닌 정보를 기록하는 파일로 마스터 파일을 갱신하거나 조회하기 위하여 만들어지는 파일
구조적 설계의 평가 기준 중 모듈 응집도가 강한 것에서 약한 것의 순서
(1) 기능적 응집도
(2) 순차적 응집도
(3) 통신적 응집도
(4) 절차적 응집도
시스템의 특성
목적성-목표
제어성-사전에 감지
자동성-스스로
종합성-상호 의존
테스트 단계
1. 단위모듈테스트(Unit Test) : 프로그램 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증
- 화이트박스테스트와 블랙박스테스트 기법을 사용한다.
2. 통합테스트(Integration Test ) : 모듈통합 단계에서 수행하는 테스트 , Unit test 다음 진행
- 하향식(stub사용), 상향식(driver사용), 샌드위치 테스트(stub,driver 사용), 빅뱅 기법을 사용한다.
3. 시스템 테스트(System Tests) : 통합테스트 이후 비기능적 요구사항 확인
- 비기능적 요구사항 : 사용성, 신뢰성, 견고성, 성능, 보안성, 유지 보수성 등
4. 인수테스트 : 인수기준 만족여부 사용자 입장에서 테스트
- 알파테스트(개발자와 사용자 같이 진행), 베타테스트(사용자로만 진행)
사용자 인터페이스 설계를 위한 인간공학적 원리
1. 지름길을 제공한다.
2. 작업의 진행 상황을 알려준다.
3. 일관된 인터페이스를 가진다.
HIPO 패키지
가시적 도표 (=도식 목차)
Visual Table of Contents
시스템의 전체적인 기능과 흐름을 보여주는 계층(Tree) 구조도
총체적 도표(=개요 도표, 총괄 도표)
Overview Diagram
프로그램을 구성하는 기능을 기술한 것으로 입력, 처리, 출력에 대한 전반적인 정보를 제공하는 도표
세부적 도표(=상세 도표)
Detail Diagram
총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표
컴퓨터 입력단계에서의 검사방법
한계검사 : 입력된 데이터가 규정된 범위 내에 있는지 검사
공란검사 : 입력된 데이터 중 공란인 항목을 검사
타당성검사(논리검사) : 입력된 데이터의 오류를 논리적으로 검사
모드검사 : 입려괸 데이터의 모드(문자,숫자 등) 검사
대조검사 : 입력된 데이터와 시스템에 별도로 보고나된 파일의 데이터를 대조하여 일치하는지 검사
순차검사 : 입력된 데이터의 순서가 정해진 순서와 일치하는지 검사
형식검사 : 입력된 데이터의 항목에 형식(문자,숫자 등)이 일치하는지 검사
반향검사 : 수신한 데이터를 송신측으로 되돌려 보낸 원래의 데이터와 비교하여 오류 검사
숫자검사 : 입력된 데이터에 숫자 이외의 데이터(문자)가 입력되었는지 검사
크기검사 : 레코드를 구성하는 데이터 필드에 나타난 문자의 개수가 정확한지 검사
코드검사 : 코드비교 및 패리티검사에 의해 코드 오류검사
블록검사 : 정보 전송을 블록단위로 행하는경우 사용되는 검사, 블록으로 나누어 블록중의 오류검사
프로세서 설계에 필요한 흐름도
블록차트 : 각부 서 및 기능을 블록으로 표시, 업무 전체를 도표화
시스템흐름도 : 시스템에서 자료의 발생부터 결과를 얻기까지 의 전 공정을 도식화
프로세스흐름도 : 프로그램의 시스템적 흐름도
프로그램 흐름도 : 논리적 흐름에 따라 ㅡ로그래머가 프로그래밍하기 위해 작성된 흐름도
===================================================================================4과목 운영체제
운영체제의 기능
1. 통신 네트워크 관리 기능
2. 시스템에서의 에러 처리 기능
3. 병렬 수행을 위한 편의성 제공 기능
UNIX
커널의 기능.
1. 프로세스 관리 기능
2. 기억장치 관리 기능
3. 입, 출력 관리 기능
Inode블록
: 개개의 파일이나 디렉터리에 대한 모든 정보를 저장하고있는 블록.
Inode블록이 가진 정보
구역성의 설명
구역성의 종류로는 시간(temporal) 구역성과 공간(spatial) 구역성이 있다.
3. 공간 구역성은 기억장소가 참조되면 그 근처의 기억장소가 다음에 참조되는 경향이 있음을 나타내는 이론이다.
4. 일반적으로 공간 구역성의 예는 배열순례(Array-Traversal), 순차적 코드의 실행 등이 있다.
구역성이 아닌 답변.
2. 실행중인 프로세스가 일정 시간 동안에 참조하는 페이지의 집합을 의미한다.-워킹셋
//
Locality ( 구역성 , 국부성)
프로세스사가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
스래싱을 방지하기 위한 워킹 셋 이론의 기반이 된다.
프로세스가 집중적으로 사용하는 페이지를 알아내는 방법 중의 하나로, 가상 기억장치 관리의 이론적인 근거가 된다.
//
HRN 스케줄링 기법
HRN 스케줄링 기법은
(대기시간+서비스시간)/서비스시간= 우선순위
이며 우선순위의 점수가 높아야 가장 높은 우선순위가 된다
고로 0 에 가까울 수록 우선순위가 낮아짐
운영체제에 대한 설명
1. 기억 장치, 입출력 장치, 정보 관리 등의 자원을 관리한다.
2. 운영체제의 운용기법 중 시분할시스템은 라운드로빈 방식이라고도 한다.
3. 사용자가 컴퓨터 하드웨어를 사용하기 쉽도록 컴퓨터와 사용자간의 인터페이스를 지원한다.
4. 자원을 효율적으로 관리하기 위해서 스케줄링 기능을 제공한다.
로더의 기능 4가지
분산처리 시스템은 약결합 시스템으로, 독립적인 처리 능력을 가진 컴퓨터 시스템을 통신망으로 연결한 시스템이다.
서로 다른 장소에 위치한 컴퓨터 시스템에 기능과 자원을 분산시켜 상호협력할수 있는 시스템이다.
목적 : 자원공유, 연산속도 향상, 신뢰도 향상, 컴퓨터 통신,처리량 증가
약결합 시스템 (= 분산처리 시스템 )
-각프로세스 마다 독립된 메모리를 가진 시스템
-각시스템 마다 독자적인 운영체제를 가짐
-프로시저 간의 통신은 메세지 전달이나 원격프로시저 호출을 통해서 이루어진다 (위 문제의 3번 내용)
강결합 시스템 (= 다중(병렬)시스템)
-동일 운영체제하에서 여러 개의 프로세서가 하나의 메모리를 공유하여 사용하는 시스템
-하나의 운영체제가 모든 프로세서와 시스템 하드위어를 제어
-하나의 기억장치를 사용
-프로세서간의 통신은 공유메모리를 통해서 이루어짐
스레드에 대한 설명
1. 상태의 절감은 하나의 연관된 스레드 집단이 기억장치나 파일과 같은 자원을 공유함으로써 이루어진다.
2. 프로세스 내부에 포함되는 스레드는 공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신한다.
3. 스레드란 프로세스보다 더 작은 단위를 말하며, 다중 프로그래밍을 지원하는 시스템 하에서 CPU에게 보내져 실행되는 또 다른 단위를 의미한다.
4. 프로세스가 여러 개의 스레드들로 구성되어 있을 때, 하나의 프로세스를 구성하고 있는 여러 스레드들 은 모두 공통적인 제어 흐름을 가지지 않는다.
주기억장치 관리기법
Best Fit 은 데이터의 양에 가장 비슷한 영역 크기에 데이터를 집어 넣는다
반입전략
프로그램이나 참조데이터를 보조기억장치에서 언제 주기억장치로 가져올 것인지를 결정하는 전략
배치전략
프로그램이나 데이터를 주기억장치의 어디에 배치할 것인지를 결정하는 전략
교체전략
공간이 없어 적재를 못할 때 공간창출을 위해 어떤 프로그램이나 데이터를 제거할 것인지 결정
자기 디스크
트랙 : 디스크에서 데이터가 기록되는 동심원
섹터 : 트랙들을 일정한 크기로 구분한 부분, 정보 기록의 기본단위**
실린더 : 서로다른 면들에 있는 동일 위치의 트랙들의 모임, 실린더의 수 = 한 면의 트랙 수
모니터는 동기화를 구현하기 위한 특수 프로그램 기법으로 특정 공유 자원을 프로세스에게 할당하는 데 필요한 데이터와 데이터를 처리하는 프로시저로 구성된다.
운영체제 디스크 스케줄링
FCFS 스케줄링(First Come First Served) : 요청이 들어온 순서대로 처리한다.
SSTF 스케줄링(Shortest Seek Time First) : 현재 디스크의 헤드 위치에서 가장 가까운 실린더에 대한 요청을 우선적으로 처리한다.
SCAN 스케줄링 : 디스크의 한 쪽 끝에서 반대쪽 끝으로 이동하면서 처리하며, 마지막 실린더에 도착하면 반대 방향으로 스캔을 진행한다.
C-SCAN 스케줄링 : 디스크의 한 쪽 끝에서 반대쪽 끝으로 이동하면서 처리하며, 마지막 실린더에 도착하면 시작점으로 되돌아간 후 다시 스캔을 진행한다.
C-LOOK 스케줄링 : C-SCAN에서는 양 끝까지 이동하던 것을 요청된 실린더 중 마지막까지만 이동하는 방식으로 처리한다.
N단계 SCAN 스케줄링 : SCAN 스케줄링과 같이 진행 방향 상의 요청을 서비스하지만 진행 중에 새로이 추가된 요청은 서비스하지 않고 다음 진행 시에 서비스하는 기법이다.
에센바흐 기법(Eschenbach scheme) : 탐색 시간 최적화뿐만 아니라 회전 지연 시간도 최적화하고자 하는 최초의 기법이다.(항공 예약시스템을 위해 개발됨)
SLTF 스케줄링(Shortest Latency Time First) : 회전 지연 시간 최적화를 위한 대표적 알고리즘으로 디스크 헤드가 특정 실린더에 도착하면 그 실린더 내의 여러 트랙에 대한 요청들을 검사한 후 회전 지연 시간이 가장 짧은 요청부터 서비스하는 기법이다.
프로세서의 여러 가지 정의
cpu 프로세스 스케쥴링
Non Preemptive(비선점) : cpu에 할당되면 권한 못뺏음, 일괄 처리 방식에 적절, fifo, sjf, hrn 우선순위, 기한부 방식
Preemptive(선점) : 우선순위가높으며 뺏을 수 있다. 일괄처리에 부적절, 대화형, 시간분할, 실시간 시스템에 적당 rr,srt,mfq
선입 선처리 알고리즘 (First Come First Served Scheduling, FCFS)
최단 작업 우선 스케줄링 (Shortest Job First Schduling)
라운드 로빈 스케줄링 (Round Robin Scheduling, RR):시스템이 프로세스들 사이를 옮겨 다닐 수 있도록 선점이 추가된다
우선순위 스케줄링 (Priority Scheduling)
다단계 큐 스케줄링 (Multilevel Queue Scheduling)
다단계 피드백 큐 스케줄링 (Multilevel Feedback Queue Scheduling)
스레드 스케줄링
경쟁 범위 (Contention Scope)
Pthread 스케줄링 (Pthread Scheduling)
다중 처리기 스케줄링 (Multiple Processor Scheduling)
다중 코어 프로세스 (Multicore Processor)
Fragmentation : 단편화 - 주기억 장치를 연속 할당 기법으로 사용할 경우 사용되지 않고 낭비되는부분적인 공간
Compation : 단편화 해결방안 중 하나이며, 쓰고 남은 공간들을 기억 장소의 맨 끝으로 합치는 작업
에이징기법:무한연기 현상의 방지책으로 사용되며, 프로세스가 자원을 기다리고 있는 시간에 비례하여 우선순위를 부여함으로서 가까운 시간 내에 자원이 할당될 수 있도록 한다.
세마포어란 상호 배제의 원리를 보장하는 알고리즘입니다. 임계 구역에 대해 각각의 프로세스들의 접근을 제어하고 프로세스 사이의 동기를 유지합니다
===================================================================================
5.정보통신개론
최단부호펄스의 시간 구하는 방법
공식: 1/통신속도(Baud)
디지털 변조방식
FM(Frequency Modulation) : 주파수 변조
FSK(Frequency Shift Keying) : 주파수 편이 변조 => 서로다른 주파수를 2진수를 이용하여 변조
PSK(Phase Shift Keying) : 위상 편이 변조 => 서로 다른 위상을 갖는 신호를 2진수를 이용하여 변조//기준 신호(반송파)의 위상을 변경 또는 변조 함으로써 데이터를 전송하는 디지털 변조 방식이다
QAM(Quadrature Amplitude Modulation) : 직교 진폭 변조 => 진폭과 위상을 상호 변환하여 신호를 얻는 변조방식
아날로그<->디지털 신호 변환
모뎀 : 디지털 신호를 아날로그 신호로 변환
코덱 : 아날로그 신호를 디지털 신호로 변환
텔레폰 : 아날로그 신호를 아날로그 신호로 변환
DSU : 디지털 신호를 디지털 신호로 변환
펄스코드변조 (PCM)
화상, 음성, 동영상 비디오, 가상 현실 등과 같이 연속적인 시간과 진폭을 가진 아날로그 데이터를 디지털 데이터 신호로 변조하는 방식으로, CODEC을 이용한다.
PCM위 순서 : 송신측 ( 표본화 -> 양자화 -> 부화화 ) 수신측 (복호화 -> 여과화)
High-level Data Link Control 프로토콜
-컴퓨터가 일대일 혹은 일대다로 연결된 환경에 데이터의 송수신 기능을 제공
HDLC 프레임구조는 플래그 - 주소부 - 제어부 - 정보부 - FCS - 플래그로 이루어져있다.
회선교환방식에 대한 설명
1. 속도나 코드변환이 용이하지 않다.
2. 점대점 방식의 전송구조를 갖는다.
3. 접속에는 긴 시간이 소요되나 전송지연은 거의 없다.
4. 고정적인 대역폭을 갖는다.
보안 프로토콜
SET(Secure Electronic Transactions) : 안전한 전자 거래
신용카드를 이용한 인터넷 거래에서 암호화, 보안을 위해 제작된 카드 결제 전용 프로토콜이다.
SOAP : HTTP, HTTPS, SMTP 등을 사용해 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜(단순 객체 접근 프로토콜)
ATM(비동기 전송모드) : 광대역 서비스의 다양한 특수성을 수용하기 위한 광대역 종합정보통신망(B-ISDN)의 실현을 목적으로 제안되었으며, 회선 교환 방식과 패킷교환방식의 장점을 통합시킨 연결 지향적 송성을 지닌 패킷교환(스위칭) 프로토콜
LDAP(Lightweight Directory Access Protocol) : TCP/IP 위에서 조직화 되고 비슷한 특성을 가진 객체들의 모인인 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜
RTCP : 세션에 참여한 각 참여자들에게 주기적으로 제어 정보 전송, 하위 프로토콜을 데이터 패킷과 제어 패킷의 다
중화를 제공하고, 데이터 전송을 모니터랑하고 최소한의 제어와 인증 기능만을 제공하는 프로토콜
TCP : 신뢰성 있는 연결형 서비스 제공, 패킷의 다중화 제어, 오류 제어, 흐름 제어 기능, 스트림 전송 기능, 프로그램 간의 일련의 옥텟
UDP : 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스 제공. TCP에 비해 단순한 헤더 구조. 실시간 전송에 유리. 신뢰성 보다는 속도가 중요시되는 네트워크에 사용. 데이터 그램.
DHCP(Dynamic Host Configuration Protocol) : 네트워크상에서 동적으로 IP 주소 및 기타 구성정보 등을 부여/관리하는 프로토콜로서, PC의 수가 많거나 PC 자체 변동사항이 많은 경우 IP 설정이 자동으로 되기 때문에 효율적으로 사용 가능하고, IP를 자동으로 할당해주기 때문에 IP 충돌을 막는데 사용하는 프로토콜
IPv4 : 데이터 교환을 위한 32bit 주소체계를 갖는 네트워크 계층 프로토콜[유니캐스트,멀티캐스트,브로드캐스트]
IPv6 : 차세대 인터넷 프로토콜로 IPv4의 주소 자원 고갈, 보안성 등 문제점을 해결하기 위한 128bit 주소체계 프로토콜[유니캐스트,멀티캐스트,애니캐스트]
ARQ(Automatic Repeat reQuest)
Go-Back-N ARQ: 오류 발생한 블록 이후 모든 블록 재전송
Selective-Repeat ARQ: 오류 발생 블록만 재설정
Stop-And-Wait ARQ: 1개의 블록 전송한 후에 응답 대기
Adaptive ARQ: 블록 길이를 동적으로 변경
DNS 서버가 사용되는 TCP 포트 번호는?
53
패킷교환방식
패킷교환이란 일정한 데이터 블록인 패킷을 교환기가 수신측 주소에 따라 적당한 통신경로를 선택하여 전송하는 교환방식
전송하고자 하는 정보를 일정한 크기의 데이터로 분할한 후, 송수신 주소인 헤더를 각각에 부가한 패킷단위로 전송하는 방식
고정된 경로가 미리 설정되지 않음
전송은 패킷 단위로 독립적으로 이루어지며, 네트워크 트래픽 상태 등에 따라 각기 다른 전송경로를 가질 수 있음
고정된 경로를 설정하지 않으므로 동일한 경로를 다른 목적지로 가는 여러 패킷들이 공유하여 통신회선을 보다 효율적으로 사용 가능함
패킷 교환방식에는 데이터그램과 가상 회선방식이 있음
패킷교환은 경로설정, 트래픽 제어, 에러제어 기능을 지님
1. 교환기에서 패킷을 일시 저장 후 전송하는 축적교환 기술이다.
2. 패킷처리 방식에 따라 데이터그램과 가상회선 방식이 있다.
3. 패킷 교환망에서 DTE와 DCE 간 인터페이스를 위한 프로토콜로 X.25가 있다.
4. 유동적인 대역폭으로 데이터를 전송한다.
회선교환방식
회선교환이란 송수신 단말장치 사이에서 데이터를 전송할 때마다 통신경로를 설정하여 데이터를 교환하는 방식
통신경로 접속시간이 매우 짧아 1초 이내임
통신 중 전송제어 절차 정보의 형식에 제약을 받지 않음
비교적 길이가 길고 통신 밀도가 높은 데이터통신에 유리함
대표적인 예로 전화망이 있음
라. 단점
통신하는 양측의 시스템이 동시에 데이터 교환준비가 되어있어야 함
접속이 되어 있는 동안은 두 시스템간의 통신회선이 독점되어있음
TCP 헤더의 플래그 비트에는 URG, ACK, PSH, PST, SYN, FIN 이 있습니다
ITU-T에서 1976년에 패킷교환망을 위한 표준으로 처음 권고한 프로토콜은? x.25