운영체제
컴퓨터 시스템의 자원들을 효율적으로 관리하여 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임입니다
목적
- 처리 능력 향상
- 사용 가용도 향상
- 신뢰도 향상
- 반환 시간 단축
종류
- 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 컴포넌트를 기반을 구현이 가능한 미들웨어
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 정리 7강 [애플리케이션 테스트] (0) | 2021.10.13 |
---|---|
정보처리기사 실기 정리 2강 [데이터 입출력 구현] (0) | 2021.10.13 |
정보처리기사 실기 정리 12강 [제품 소프트웨어 패키징] (0) | 2021.10.11 |
정보처리기사 실기 정리 9강 [소프트웨어 개발 보안 구축] (0) | 2021.10.11 |
정보처리기사 실기 정리 8강 [SQL 응용] (0) | 2021.10.10 |