자격증/정보처리기사

정보처리기사 실기 정기 11강 [응용 SW 기초 기술 활용]

DSeung 2021. 10. 10. 16:52

운영체제

컴퓨터 시스템의 자원들을 효율적으로 관리하여 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임입니다

 

목적

- 처리 능력 향상

- 사용 가용도 향상

- 신뢰도 향상

- 반환 시간 단축

 

종류

- Windows

- UNIX

- LINUX

- MacOS

- MS-DOS

 

Windows

1990년대 마이크로스프트사가 개발한 운영체제

- 그래픽 유저 인터페이스(GUI)

- 선점형 멀티태스킹

- PnP(Plug and Play, 자동 감지 기능)

- OLE(Object Linking and Embedding)

- 255자의 긴 파일 명

- Single-User 시스템 

 

UNIX

1960년대 AT&T Bell(벨) 연구소, MIT, General  Electridc이 공동 개발한 운영체제

- 시분할 시스템을 위해 설계된 대확식 운영체제

- 오픈 소스

- C로 작성되어서 이식성이  높고, 프로세스간의 호환성이 좋다

- 다중 사용자, 다중 작업을 지원

- 트리 구조의 파일 시스템

 

LINUX

1991년에 리누스 토발즈(Linus Torvalds)가 UNIX를 기반으로 개발한 운영체제

- 오픈소스

- UNIX와 완전히 호환

 

MasOS

1980년대 애플 사가 UNIX를 기반으로 개발한 운영체제

- 아이맥, 맥북에서 사용

- 드라이버 설치 및 삭제가 단순하다

 

Android

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

- 오픈소스

- 자바와 코틀린으로 작성

- 스마트폰 등에서 사용

 

IOS

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


기억장치의 관리 전략

종류 

- 반입전략

- 배치전략

- 교체전략

 

반입전략

반입 전략은 보조기억장치에서 보관중인 프로그램이나 데이터를 언제 주 기억장치로 적재할지 결정하는 전략

- 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요청시 적재시키는 방법

- 예상 반입 : 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상해서 적재시키는 방법

 

배치전략

새로 반입되는 프로그램이나 데이터를 주기억장치에서 들어갈 수 있는 부분 중에 어디에 위치할지 결정하는 전략

- 최초적합(First Fit) : 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법

- 최적적합(Best Fit) : 단편화가 가장 적게 발생하는 분할 영역에 배치시키는 방법

- 최악적합(Worst Fit) : 단편화가 가장 많이 발생하는 분할 영역에 배치시키는 방법

 

교체전략

주기억장치의 모든 영역을 사용중이라면 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할지 결정하는 전략

- FIFO(First in First Out) : 가장 먼저 들어와서 가장 오래 있었던 페이지를 교채

- OPT(OPTimal replacement) : 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체

- LRU(Least Recently Used) : 최근에 가장 오랫동안 사용하지 않은 페이지를 교체

- LFU(Least Frequently Used) : 사용빈도가 가장 적은 페이지 교체

- NUR(Not Used Recently) : 최근에 사용하지 않은 페이지 교체

- SCR(Scecond Chance Replacement, 2차 기회 교체) :  가장 오랫동안 주기억장치에 있었지만 자주 사용되는 페이지의 교체를 방지


가상기억장치 구현 기법

 

가상기억장치

보조기억장치의 일부를 주기억장치처럼 사용하는 것으로 용량이 작은 주기억장치를 마치 큰 용량을 가진것처럼 사용하는 기법이다, 블록 형태로 나누어서 보조기억장치에서 보관하다가 필요시 주기억장치에 불연속적으로 할당하여 처리함

 

일반적인 구현 방법

- 페이징 기법 : 가상기억장치에 보관되어있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 프로그램을 동일하게 나눠진 주기억장치에 적재시켜 실행하는 방법

- 세그먼테이션 기법 : 가상기억장치에 보관되어있는 프로그램을 다양한 크기의 논리적 단위로 나눈 후 주기억장치에 적재시켜 실행하는 기법이다

 

워킹 셋

프로세스가 일정한 시간 동안 자주 참조하는 페이지들의 집합으로 시간에 따라 자주 참조하는 페이지들의 집합이 바뀌기 때문에 변경됩니다.


프로세스의 개요

프로세스 = 실행중인 프로그램

 

PCB(Process Control Block, 프로세스 제어 블록)

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

 

프로세스 상태 전이

제출 -> 접수 -> 준비 <-> 실행 -> 종료

                         <-대기<-

 

프로세스 상태 전이 관련 용어

Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세스를 할당 받아 실행상태로 전이되는 과정

Wake UP : 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비상태로 전이되는 과정

Spooling : 상대적으로 느린 입출력 속도를 위해 디스크에 저장하는 과정

교통량 제어기 : 프로세스의 상태에 대한 조사와 통보 담당

 

스레드(Thread) = 경량 프로세스

시스템의 여러 자원을 할당 받아 실행하는 프로그램의 단위 또는 프로세스 내에서의 작업 단위


스케줄링

프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

 

비선점 스케줄링

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

- FCFS(First Come First Service) :  준비상태 큐에 도착한 순서에 따라 차례대로 CPU를 할당

- SJF(Shortest Job First) : 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당

- HRN(Hightest Response-ratio Next) : 대기 시간과 서비스 실행 시간을 이용하는 기법 실행시간이 길면 불리한 SJF를  보완

HRN 우선순위 계산 : (대기시간+서비스시간)/서비스시간

 

선점 스케줄링

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

종류 : Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 


인터넷

TCP/IP 프로토콜을 기반으로 하여 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망

 

IP주소

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

 

서브네팅

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

서브넷 마스크 비트를 이용해 네트워크 주소를 여러개로 나눈다.

 

도메인네임

숫자로된 IP를 사람이 이해하기 쉬운 문자 형태로 표현

 

프로토콜

서로 다른 기기들 간의 데이터 교환을 원할하게 수행할 수 있도록 표준화 시켜 놓은 규약이다.

3대요소

서로 다른 기기들간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규악의 기본 3요소

- 구문(Syntac)

- 의미(Semantics)

- 시간(Timing)

 

TCP/IP

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

 

TCP

- 양방향 연결형 서비스

- 가상 회선 연결 형태의 서비스 제공

- 스트림 위주의 전달(패킷 단위)

- 신뢰성 있는 경로 확립 후 메시지 전달

- 순서, 오류, 흐름 제어 기능을 함

- 패킷의 분실, 손상, 지연이나 순서가 틀릴 경우 투명성을 보장되는 통신을 해줌

 

UDP

- 데이터 전송 전에는 비연결 서비스

- TCP와 다르게 흐름, 순서 등에 제어가 없어 전송 속도가 빠름

- 고속의 안정성이 있는 전송 매체를 사용하여 빠른 속도를 필요로 하는 경우 사용

- 정기적이고 반복적으로 전송시 사용

- 신뢰 < 속도를 중시하는 네트워크에 사용

 

인터넷 계층 중요 프로토콜

IP(Internet Protocol)

- 전송할 데이터에 주소를 지정하고 경로를 설정하는 기능

- 비연결형인 데이터그램 방식 사용으로 신뢰성이 보장 x

ICMP(Internet Control Message Protocol) 

- IP와 조합하여 통신 중 발생하는 오류 처리와 전송 경로 변경 등을 위한 제어 메시지 관리

IGMP(Interent Gorup Management Protocol)

- 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용

ARP(Address Resolution Protocol)

호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 바꿈

* MAC Address : 랜 카드 제작사에서 랜 카드에 부요한 고유 번호

RARP(Reverse Address Resolution Protocol)

ARP와 반대로 물리적 주소를 IP 주소로 변한하는 기능


네트워크

두 대 이상의 컴퓨터를 전화선이나 케이블 등으로 연결하여 자원을 공유 하는 것

 

종류

- 성형(start, 중앙 집중형) :  중앙에 컴퓨터가 있고 이를 중심으로 단말 장치들이 연결되는 중앙 집중식 네트워크

- 링형(Ring, 루프형) : 컴퓨터와 단말 장치들이 서로 이웃하는 것 끼리 연겨하는 Point to Point 방식

- 버스형(Bus) : 한개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태

- 계층형(Tree, 분산형) : 자료구조의 트리구조 처럼 컴퓨터와 단말장치들끼리 연결된 구조 

- 망형(Mesh) : 모든 지점의 컴퓨터와 단말이 서로 연결된 형태의 구조

 

NAT(Network Address Translation, 네트워크 주소 변환)

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

 

경로제어

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


교착상태(Dead Lock)

둘 이상의 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구할 때 무한정 기다리게 되는 현상

 

교착상태 발생의 필요 충분 조건

다음 4가지를 전부 충족하면 교착 상태가 발생

- 상호배제 : 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있음

- 점유와 대기 : 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해서는 대기하고 있는 프로세스가 있어야 함

- 비선점 : 할당된 자원을 다 사용할 때 까지 강제로 빼앗을 수 없음

- 환형 대기 : 대기 프로세스들이 원형으로 구성되어서 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 프로세스에 자원을 요구함

 

=> 상점비환 (상점귀환) 


OSI 참조모델

다른 시스템 간의 원할한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(Protocol)이다.

 

OSI 7계층 및 TCP/IP 4계층

Layer 7 응용 계층(Application Layer)
프로토콜 : HTTP, SMTP, FTP
Layer 4 응용 계층(Application Layer)
Layer 6 표현 계층(Presentation Layer)
프로토콜 : ASCII, MPEG, JPEG, MIDI
Layer 5 세션 계층(Session Layer)
Layer 4 전송 계층(Transport Layer)
데이터 전송 : 세그먼트
프로토콜 : TCP, UDP
Layer 3 전송 계층(Transport Layer)
Layer 3 네트워크 계층(Network Layer)
데이터 전송 : 패킷
프로토콜 : IP, ICMP, ARP, RARP
Layer 2 인터넷 계층(Internet Layer)
Layer 2 데이터 링크 계층(Data Link Layer)
데이터 전송 : 프레임
Layer 1 네트워크 액세스 계층(Network Access Layer)
Layer 1 물리 계층(Physical Layer)
데이터 전송 : 비트

그 외

 

미들웨어

운영체제와 해당 운영체제에서 실행되는 응용 프로그램 사이에서 제공하는 서비스 이외에 추가적인 서비스를 제공하고 표준화된 인터페이스를 통해 시스템 간의 데이터 교환에 일관성을 보장하는 역할을 수행하는 소프트웨어

 

WEB

정적인 콘텐츠를 처리하는 웹 서버와 다르게 사용자의 요구에 따라 바뀌는 동적인 콘텐츠를 처리하고 클라이언트/서버 보다는 웹 환경에 사용됩니다, HTTP 세션 처리를 위한 웹 서버 기능 뿐만 아니라 업무 수행에 중요한 로직까지 JAVA, EJB 컴포넌트를 기반을 구현이 가능한 미들웨어

반응형