chapter11. 응용 SW 기초 기술 활용

Yeppi's 개발 일기·2022년 5월 9일
1

정보처리기사

목록 보기
7/7

😳혹시 요약집 복사하실 분들은 댓글이나 공감 눌러주세요😳

운영체제(OS; Operating System)

컴퓨터 자원, 효율적 관리, 효과적 사용, 환경, 모임

컴퓨터 자원들을 효율적으로 관리하고,
효과적으로 사용하도록 환경제공하는 여러 프로그램의 모임


운영체제 목적

처리 능력 향상
반환 시간 단축
사용 가능도 향상
신뢰도 향상


Windows

마이크로소프트

GUI → 마우스

선점형 멀티태스킹동시에 여러 프로그램 실행하는 멀티캐스킹. 강제 종료, 모든시스템 자원반환

PnP(Plug and Play, 자동 감지 기능) → 하드웨어 설치 시, 운영체제가 시스템 환경 자동 구성

OLE → 개체를 현재 작성 중인 문서에 자유롭게 연결,삽입하여 편집

255자 긴 파일명

Single-User 시스템 → 컴퓨터 한 대를 한 사람만 독점해서 사용


UNIX

공동 개발, 시분할 시스템-대화식 운영체제, 개방형
C언어- 이식성 호환성
다중 사용자- 다중 작업
트리 구조 파일 시스템

커널 Kernel → 프로그램하드웨어 인터페이스. 핵심

쉘 Shell → 시스템사용자 인터페이스. 명령어 해석기

LINUX

리누스 토발즈가 UNIX 기반, UNIX와 완벽 호환
무료 공개, 재배포

MacOS

애플 사가 UNIX 기반

설치/삭제 과정 단순

Android

구글 사에서 개발한 LINUX 커널 기반의 개방형 모바일 운영체제

iOS

애플 사에서 개발한 UNIX 기반의 모바일 운영체제


기억장치 관리 전략

반입 전략

프로그램이나 데이터를 언제 주기억장치에 적재할 것인가 결정

배치 전략

프로그램이나 데이터를 주기억장치의 어디에 적재할 것인가 결정

최초 적합 First Fit → 첫 번째 영역에 배치
최적 적합 Best Fit → 단편화 가장 적게
최악 적합 Worst Fit → 단편화 가장 많이

교체 전략

이미 사용되고 있는 영역 중, 어느 영역을 교체하여 사용할 것인지 결정

OPT, FIFO, LRU, LFU, NUR, SCR (아래)

페이지 교체 알고리즘

페이지 부재가 발생하면, 어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 기법


OPT (최적 교체)

앞으로 가장 오랫동안 사용하지 않을 페이지를 교체
페이지 부재 가장 적음

FIFO

가장 먼저 들어와서 가장 오래 있었던 페이지를 교체

LRU

최근에 가장 오랫동안 사용하지 은 페이지를 교체

LFU

사용 빈도가 가장 적은 페이지를 교체

NUR

최근에 사용하지 은 페이지를 교체

SCR (2차 기회 교체)

가장 오랫동안 주기억장치에 있었던 페이지 중, 자주 사용되는 페이지 교체를 방지하는 기법
FIFO 단점 보완

가상기억장치

보조 기억장치일부주기억장치처럼 사용하는 것

구현 방법

페이징 기법고정된 크기의 일정한 블록으로 나눔 / 나눈 단위 ‘페이지’/ 내부 단편화 O

세그먼테이션 기법가변적인 크기의 블록으로 나눔 / 나눈 단위 ‘세그먼트’ / 외부 단편화O

가상기억장치 기타 관리 사항

페이지 크기 작을 경우 → 단편화 감소 → 페이지 수 증가
페이지 크기 클 경우 → 단편화 증가 → 페이지 수 감소

Locality 지역성/구역성

프로세스가 실행될 때, 주기억장치의 일부 페이지만 집중적으로 참조하는 성질

스래싱을 방지하기 위한 워킹 셋이론의 기반
데닝 교수에 의해 증명

시간 구역성
공간 구역성

워킹 셋

프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합

프로그램의 Locality 특징 이용
데닝 교수가 제안한 모델

스래싱(Thrashing)

프로세스 처리 시간보다 페이지 교체 시간이 더 많아지는 현상

다중 프로그래밍 → 페이지 부재 발생 → 스래싱 → CPU 성능 감소


프로세스

실행중인 프로그램

PCB(프로세스 제어 블록)

운영체제가 프로세스의 중요한 정보저장해 놓는 곳

프로세스 상태 전이

준비 Ready → 실행 Run → 대기 Wait


스레드(Thread)

시스템의 여러 자원할당받아 실행하는 프로그램의 단위


스케줄링

시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

비선점 스케줄링

다른 프로세스가 이미 할당된 CPU를 강제로 빼앗아 사용할 수 는 스케줄링 기법


FCFS = FIFO

준비상태 큐에 도착한 순서대로 CPU를 할당하는 기법 / 가장 간단

대기시간 = 바로 앞 프로세스까지의 실행시간
반환시간 = 대기시간 + 실행시간

SJF (단기 작업 우선)

준비상태 큐에서 실행시간이 가장 짧은 프로세스를 먼저 CPU에 할당하는 기법
평균대기시간 가장 적음

대기시간 = 바로 앞 프로세스까지의 실행시간
반환시간 = 대기시간 + 실행시간

HRN

대기시간과 서비스시간(실행시간)을 이용한 기법
실행시간이 긴 프로세스에게 불리한 SJF 기법을 보완

숫자가 높 → 낮은 순으로 우선순위 부여

우선순위 = ( 대기시간 + 서비스시간 ) / 서비스시간

우선순위

기한부

선점 스케줄링

우선순위은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 는 스케줄링 기법

Round Robin
SRT
선점 우선순위
다단계 큐
다단계 피드백 큐


환경 변수

시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임

Windows → %변수명% 앞뒤

UNIX/LINUX → $변수명

Windows, UNIX/LINUX 기본 명령어 p.431

Windows

파일 속성 변경 attrib

r 읽기 / a 저장,백업 / s 시스템 파일 / h 숨김 파일

attrib -r +h file.txt → 읽기 전용 속성 해제, 숨김 속성 지정

UNIX/LINUX

파일 사용 허가 권한 chmod

u 소유자 / g 그룹 / o 다른 사용자 / a 모두
r 읽기 / w 쓰기 / x 실행

  • 권한 추가 / - 권한 삭제 / = 권한 부여

chmod u=rwx abc.txt chmod 751 a.txt → 8진법 111 101 001


파일 소유자 및 그룹 변경 chown

새로운 프로세스 생성 **fork**



현재 디렉토리의 파일 목록 표시

Windows **dir**

UNIX/LINUX **ls**

파일 이름 변경 + 위치 이동

Windows **move** move file1.txt d:\file2.txt → C드라이브에서 D드라이브로 이동

UNIX/LINUX **mv** mv file1.txt dir/file2.txt → 현재 디렉터리에서 dir 디렉터리로 이동

파일 이름 변경 + 위치 이동 + 복사

Windows **copy** copy file1.txt d:\file2.txt → D드라이브에 file2.txt로 이름 변경 복사

UNIX/LINUX **cp** cp file1.txt dir/file2.txt → dir 디렉터리에 file2.txt로 이름 변경 복사


IP 주소

인터넷에 연결된 모든 컴퓨터 자원구분하기 위한 고유한 주소

IPv4

8bit * 4 = 32bit

IPv6

16bit * 8 = 128bit

보안 문제 해결

기밀성 → 인가된 사용자만 시스템 내의 정보에 접근 가능

무결성 → 인가된 사용자만 시스템 내의 정보를 수정 가능

인증성 → 사용자의 식별접근권한 검증

IPv6 주소 체계

유니캐스트 → 1:1

멀티캐스트 → 1:다

애니캐스트 → 1:1(가장 가까운)

서브네팅

네트워크 주소를 다시 여러개의 작은 네트워크로 나누어 사용하는 것

도메인 네임

숫자로된 IP 주소사람이 이해하기 쉬운 문자 형태로 표현한 것

DNS (Domain Name System)

문자로된 도메인 네임컴퓨터가 이해할 수 있도록 숫자 형태로 변환하는 시스템

이런 역할을 하는 서버 ⇒ DNS 서버


OSI 7계층

Physical 물리 계층

두 장치간 기계적,절차적 규칙 정의. 비트 스트림

허브 → 단거리, 회선 통합 관리 더미 허브 / 스위칭 허브
리피터 → 장거리, 신호 증폭 기능

효율적인 정보전송을 위해 시스템간 연결 설정, 유지, 종료

순서제어/오류제어/흐름제어

LAN 카드 = 이더넷 카드 = NIC(네트워크 인터페이스 카드) → 컴-컴, 컴-네트워크 연결 장치
브리지 → LAN-LAN, LAN안에서 컴퓨터 그룹 연결. 보안성. 전송 가능 회선 수 = n(n-1)/2
스위치 → LAN-LAN 연결하여 더 큰 LAN

Network 네트워크 계층

개방 시스템들간 네트워크 연결을 관리, 데이터 교환 및 중계

경로 설정, 패킷 정보 전송, 트래픽 제어

라우터 → 데이터 전송의 최적 경로 선택 기능이 LAN-LAN 연결에 추가

Transport 전송 계층

종단 시스템(단말기)간 투명한 데이터 전송/전달 서비스. 인터페이스 담당

오류제어/흐름제어, TCP/UDP

게이트웨이 → 프로토콜 구조가 다른 네크워크를 연결. 출입구 역할

Session 세션 계층

송/수신 측 간의 관련성 유지, 대화 제어, 동기점

Presentation 표현 계층

서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속 위해, 알맞은 형태로 변환

코드 변환, 정보 형식 변환, 데이터 암호화

Application 응용 계층

사용자, 응용 프로그램이 OSI 환경에 접근할 수 있도록 서비스 제공


프로토콜

서로 다른 기기들간 데이터 교환을 원할하게 수행하기 위해 표준화시켜 놓은 통신 규약

톰 마릴이 메시지 전달/확인/재전송하는 일련의 방법을 ‘기술적 언어’란 뜻

프로토콜 기본 요소 3가지

구문, 의미, 타이밍


TCP/IP

서로 다른 기종컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜

p. 451

응용 계층

FTP → 파일 전송

SMTP → 전자 우편 교환

TELNET → 가상 터미널. 멀리 떨어져 있는 컴퓨터에 접속하여 자신의 컴퓨터처럼 사용

SNMP → 네트워크 관리

DNS → 도메인 네임을 IP 주소로 매핑

HTTP → WWW 에서 HTML 문서를 송수신하기 위한 표준 프로토콜

전송 계층

TCP → 양방향, 가상 회선 방식 기반의 연결형 서비스, 신뢰성 높음, 순서제어/오류제어/흐름제어

UDP → 비연결, 신뢰성 낮음, 속도 빠름

RTCP → RTP 패킷의 전송 품질 제어

인터넷 계층

IP → 데이터 그램 방식 기반비연결형 서비스, 신뢰성 없음

ICMP → IP와 조합, 제어 메시지 관리

IGMP → 멀티캐스트 그룹 유지

ARP → 호스트 IP 주소를 물리적 주소(MAC 주소) 변환

RARP → 물리적 주소(MAC 주소)를 호스트 IP 주소로 변환

네트워크 액세스 계층

Ethernet(IEEE 802.3)

IEEE 802

HDLC → 비트 위주의 데이터 링크 제어 프로토콜

X.25 → 패킷 교환망을 통한 DTE-DCE 간의 인터페이스 제공

RS-232C


네트워크 구성 형태(Topology, 토폴로지)

성형 = 중앙 집중형

중앙에 컴퓨터가 있고, 이를 중심으로 단말장치들이 연결되는 중앙집중식 구성
포인트 투 포인트 방식으로 회선 연결


링형

컴퓨터와 단말장치들을 서로 이웃하는 것들끼리 연결한 포인트 투 포인트 방식 구성

단방향, 양방향


버스형

한 개의 통신 회선에 여러개의 단말장치가 연결

신뢰성 높음, 기밀 보장 어려움


계층형 = 분산형

중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결시키고,
이웃하는 단말장치중간 단말장치로부터 다시 연결


망형

모든 지점의 컴퓨터와 단말장치를 서로 연결

필요한 회선의 수 = n(n-1)/2
노드당 필요한 포트 수 = n-1

네트워크 분류

LAN 근거리 통신망 → 가까운 / 802.11e (QoS강화위해 MAC 지원 기능을 채택한 규격)

WAN 광대역 통신망 → 멀리

NAT (네트워크 주소 변환)

정식 IP 주소에, 대량사설 가상 IP 주소를 할당 및 연결하는 기능


경로 제어

송수신 측 간의 전송 경로 중에서 최적의 패킷 교환 경로를 결정하는 기능


IGP 내부 게이트웨이 프로토콜

하나의 자율 시스템(AS)내의 라우팅에 사용

RIP → 거리 벡터 라우팅 프로토콜, 가장 널리 사용, Bellman-Ford 알고리즘, 소규모, 최대 홉수 15

OSPF → RIP 단점 해결, 실시간 최단 경로, 다익스트라 알고리즘, 대규모

EGP 외부 게이트웨이 프로토콜

자율 시스템(AS)간의 라우팅, 게이트웨이간의 라우팅에 사용

BGP

EGP 단점 보완


트래픽 제어

전송되는 패킷의 흐름, 양 조절하는 기능

흐름 제어
폭주 제어(혼잡제어)
교착상태 방지

흐름 제어

송수신 측 간에서 전송되는 패킷의 , 속도규제하는 기능

정지-대기 → ACK 신호 받은 후에 다음 패킷 전송

슬라이딩 윈도우 → ACK 신호 이, 가능한 패킷 최대치(윈도우 크기) 미리 약속 받음

폭주 제어 = 혼합 제어

네트워크 내 패킷 수를 조절하여, 네트워크 오버플로 방지

느린 시작 → 2배씩 지수적 증가, 초기 느림 - 점점 빠름

혼잡 회피 → 위 지수적 증가가 임계 값 도달 시, 혼잡으로 간주하고 회피. 1씩 선형적 증가로 예방

교착 상태(Dead Lock)

서로 다른 프로세스가 점유하고 있는 자원을 요구하며, 무한 기다리는 현상

교착 상태 → 가능성 없음
무한 연기 → 가능성 있음

교착 상태 필요충분조건 4가지

모두 충족되어야만 교착 상태 발생

상호 배제 → 한 번에 한개만 공유 자원 사용

대기와 점유 → 최소한 하나의 자원 점유 + 대기 프로세스 있어야함

비선점 → 깅제로 빼앗기 불가

환형 대기 → 원형 구성으로 앞/뒤에 자원 요구

교착 상태 해결방법 4가지

예방 기법 → 사전에 제어

회피 기법 → 가능성 배제하지 않고, 교착 상태 발생 시 적절히 피해감
은행원 알고리즘Dijkstra 제안, 모든 고객 요구 충족

발견 기법 → 점검해서 발견

회복 기법 → 종료 또는 해당 자원 선점해서 회복


개인정보보호법

개인정보처리 및 보호에 관한 사항을 정함
개인의 자유와 권리를 보호하는 목적

Secure OS

보안 기능을 갖춘 커널이식하여, 외부의 침입으로부터 시스템 자원을 보호하는 운영체제

참조 모니터

보호 대상 객체에 대한 접근 통제를 수행하는 추상머신

이를 실제로 구현한 것 ⇒ 보안 커널


회복(Recovery)

데이터베이스손상되었을 때, 손상되기 이전의 정상 상태복구하는 작업

회복 기법 종류

연기 갱신 기법 → 실질적인 갱신 연기. Redo만

즉각 갱신 기법 → 부분 완료 전이라도 즉시 반영. Redo, Undo

그림자 페이지 대체 기법 → 페이지마다 복사본인 그림자 페이지를 별도 보관 후 대체

검사점 기법 → 특정 단계에서 재실행, 회복 시간 절약

병행제어

동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 방해하지 않도록
트랜잭션 간의 상호 작용제어하는 것

병행제어 기법 종류

로킹 → Lock 요청 후 허락되어야만 로킹 단위 액세스. 상호 배타적

타임 스탬프 순서 → 시간표부여, 직렬성 순서, 처리순서 미리선택 방법 중 보편적

최적 병행 수행 = 검증 기법 = 확인 기법 = 낙관적 기법
→ 판독 적용 트랜잭션은 충돌률 낮아서 병행제어 기법 사용X도 일관성 있게 유지

다중 버전 기법 → 다중 버전 타임 스탬프 기법. 버전부여

profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋

0개의 댓글