알아두면 좋은 IT 지식 6 - 자원 보호 기법, 실시간 처리 시스템, 분산 운영체체
자원 보호 기법의 종류
접근 제어 행렬(Access Control Matrix)
전역 테이블(Global Table)
접근 제어 리스트(Access Control List)
권한(자격) 리스트(Capability List)
Real-time processing system(실시간 처리 시스템)
데이터가 발생하고 바로, 혹은 처리 요구가 있을 때 즉각 처리하여 결과를 산출하는 방식으로 우주선이나 비행기, 레이더 추적기, 은행의 온라인 업무 등 즉각적으로 처리하고 반응해야 하는 일에 알맞은 처리방식입니다.
하이퍼 큐브
연결점이 n개이면 2의 n승이 CPU의 개수입니다.
파일의 종류
순차 파일(sequential file) : 순차 편성 파일로 직렬 파일이라고도 불립니다. 가장 일반적으로 쓰이는 한 개의 라인과 같은 파일로, 몇 개의 레코드로 구성되며, 이는 물리적인 순서에 따라 배치됩니다. 한 레코드가 접근되면, 다음 레코드는 물리적인 위치에 따라 결정됩니다. 카드 입출력, 자기 테이프, 프린터에 만들어지는 파일이 바로 순차 파일입니다. 자기 디스크에 이 파일을 놓는 것도 가능합니다.
인덱스 파일(Index file) : 파일 속으로부터 특정 데이터를 재빠르게 탐색하기 위해서 항목명과 그 파일이 몇 번째의 데이터인지를 표시합니다. 데이터의 번호만을 저장한 색인용의 파일을 말합니다.
다중 링 파일(multi-ring file) : 다양한 유형의 레코드들을 종류별로 포인터를 이용하여 연결시키거나, 서로 연관된 다른 유형의 레코드들을 포인터로 연결시켜 만드는 파일을 말합니다.
직접파일(direct file) : 레코드가 가지고 있는 키를 사용해서 접속할 수 있는 파일 형식으로, 직접 접근 기억 장치(DASD)에서만 작성할 수 있습니다. DASD는 실린더라는 단위가 있는데, 실린더는 복수 트래픽을 가지고 있고 각 트랙픽에 복수의 레코드가 들어 있습니다. 데이터를 파일에 삽입할 때나 파일에 접속할 때는, 우선 레코드 키를 주소로 바꾼 후에 바뀐 주소를 이용해서 레코드를 삽입하거나 레코드에 접속합니다.
링커
목적 프로그램을 실행 가능한 로드 모듈(Load Module)로 변환하는 프로그램입니다. 목적 프로그램(Object Program)은 언어 번역 프로그램을 통해 바로 실행할 수 없는 상태의 기계어로 번역된 프로그램을 말합니다.
은행원 알고리즘(Dijkstra’s banker algorithm) : 다익스트라가 제안한 알고리즘으로, 병렬 수행 프로세스에서 교착 상태를 예방하기 위해, 프로세스가 필요로 하는 자원의 수가 현재 이용 가능한 자원의 수보다 작을 때, 프로세스가 요구한 수만큼 자원을 더 할당하는 방식입니다.
HIPO
하향식 소프트웨어 개발 도구로 구조도, 개요 도표 집합, 상세 도표 집합으로 구성되어 있습니다. 기능과 자료의 의존관계를 동시에 표현해서 보기도 쉽고 이해하기 쉽습니다.
Usability(가용성) : 사용자 입장에서 얼마나 프로그램을 쉽게 사용 가능한가를 말합니다. 즉, 사용자 입장에서 이 프로그램을 쉽게 배우고 사용할 수 있냐는 가치의 정도입니다.
Efficiency(효율성): 정해진 조건에서 소프트웨어 제품의 일관된 성능과 자원의 소요량을 말합니다.
NS chart
GOTO나 화살표를 사용하지 않습니다. 논리의 기술에 중점을 둔 도형식 표현방법으로 연속, 선택, 다중 선택, 반복 등의 제어 논리 구조로 표현, 조건이 복합되어 있는 곳의 처리를 시각적으로 정확히 식별하는데 적합합니다.
객체지향 분석
-럼바우의 방법
입출력 결정→자료 흐름도 작성→기능의 내용을 기술→제약사항을 결정하고 최소화
IP 프로토콜
신뢰성이 없는 비연결형 데이터그램 프로토콜로 최선의 노력으로 전달하는 전송 서비스입니다. 최선의 노력이란 IP가 오류 검사나 추적을 제공하지 않는다는 것을 의미합니다. IP는 신뢰성이 없다고 가정하고 목적지까지 전송이 제대로 이루어지도록 최선은 다하지만 완전한 보장은 하지 않습니다.
IP는 각각 전송되는 데이터그램이라는 형태로 데이터를 전송합니다. 데이터그램은 서로 다른 경로로 전달될 수 있기 때문에, 항상 순서대로 도착은 것도 아니고, 중복으로 도착할 수도 있습니다. 게다가 IP는 경로를 기록하지도 않고, 일단 목적지에 데이터그램이 도착하게 되면, 재전송하는 기능을 제공하지 않습니다.
IP 데이터그램 구조
버전, 헤더 길이, 서비스 유형(TOS), 전체 길이, 식별(Identification),
플래그 옵셋, 수명시간, 프로토콜, 헤더 검사, 목적지 주소, 발신지 주소
선형 검색(Linear Scanning)
원하는 레코드를 찾을 때까지 끈질기게 레코드를 처음부터 끝까지 차례로 하나씩 비교하면서 검색하는 것을 말합니다. 단순한 방식으로 정렬되지 않는 검색에 가장 유용하며 평균 검색시간이 매우 많이 걸리는 단점이 있습니다.
자료가 정렬되어 있지 않아도 되고, 적은 자료에서 검색할 때 효율적입니다. 검색 알고리즘이 간단하나 속도가 느립니다.
최대 비교 회수는 n(레코드 수) 번이고, 검색의 평균 비교 횟수는 O(n+1)/2입니다.
타임스탬프 기법
주요 데이터의 액세스를 상호 배타적으로 하는 것을 말합니다. 트랜잭션들이 어떤 로킹(locking) 단위를 액세스 하기 전에 lock(잠금)을 요청해서 lock이 허락되어야 그 로킹 단위를 액세스 할 수 있도록 합니다.
1. 데이터 이주(Data Migration) - 데이터를 요청한 컴퓨터로 복사본을 전송시키는 방식
2. 연산 이주(Computation Migration) - 요청한 데이터를 처리하여 해당 결과를 요청한 컴퓨터에 보내는 방식
3. 프로세스 이주(Process Migration) - 프로세스의 전체 또는 일부를 다른 컴퓨터에서 실행되도록 하는 방식
MFQ(Multi level Feedback Queue)
준비상태 큐 사이를 마음대로 이동할 수 있고, 적응 기법(Adaptive Mechanism)의 개념을 적용하고 있습니다. FIFO와 RR 스케줄링을 혼합한 것으로, 윗 단계에서 완료되지 못한 작업은 아랫 단계로 전달되어 마지막 단계에서는 RR방식을 사용한다는 특징이 있습니다.
페이지 대치
프레임에 참조할 페이지가 없어서 페이지 갱신이 되며, 대치가 이루어집니다. 최선은 앞으로 참조 안 할 페이지를 대치하는 것이 이상적이지만, 실질적으로 불가합니다. 프레임이 매우 많이 할당받아서 모든 페이지를 적재하고 있다면, 대치는 이루어지지 않는다.
운영체제의 발달과정
일괄처리 -> 시분할 -> 다중 모드 -> 분산 처리
프로세스가 전송하는 메시지의 형태에는 형식 메시지, 가변 길이 메시지, 고정 길이 메시지가 있습니다.
프레임 검사 시퀀스 (FCS, Frame Check Sequence Field)
오류 없이 정확하게 전송되는지를 확인하기 위해서 오류 검출용의 다항식(CRC)을 사용합니다. 오류 검출에는 16bit CRC 부호를 사용합니다.
NAT (Network Address Translation)
외부 네트워크에서 알려진 공인 IP주소와 사설 IP주소를 사용하는 내부 네트워크에서 IP주소를 변환하는 것을 말합니다.
하둡(Hadoop)
일반 컴퓨터에 가상화된 대형 스토리지 형성한 것을 말합니다. 그 안에 대량의 데이터 친구들을 병렬로 처리할 수 있게 분산 처리를 도와주는 자바 소프트웨어의 오픈 소스 프레임 워크입니다. 빅데이터를 관리하는 도구로, 대용량 데이터를 처리를 위해 구글에서 만든 GFS(Google File System)을 기반으로 태어난 분산 시스템입니다.
파일 디스크립터는 파일 시스템이 관리하므로 사용자가 직접 참조할 수 없습니다.
분산 운영체제
분산 시스템이 하나의 운영체제에 의해 만들어집니다. 투명성을 가지고 있지만, 설계가 복잡합니다.
위치 투명성 : 사용자가 자원들이 어디서 잠자고 사는지를 알 필요가 없다.
이주 투명성 : 자원들이 이사 가도 사용자는 자원의 이름이나 사는 곳을 생각할 필요가 없다.
복제 투명성 : 사용자에게 쭈뼛쭈뼛 물어보지 않고 파일들과 자원들을 자유롭게 복사할 수 있다.
병행 투명성 : 자원들을 여럿이서 자동으로 공유할 수 있다.
병렬 투명성 : 몇 개의 처리기가 동시에 사용되는지, 화장실에서 나올 때까지 기다릴 필요도 알 필요도 없다.