🍰 운영체제의 특징

▶ 운영체제

사용자가 컴퓨터 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어

▶ 운영체제의 종류 

윈도우, 유닉스, 리눅스, 맥, 안드로이드


▶ 운영체제 핵심기능

⦁  메모리 관리

⦁  프로세스 관리

▶ 메모리 관리 기법 (반배할교)

⦁  반입 기법 : 메모리로 적재 시기 결정

⦁  배치 기법 : 메모리 적재 위치 결정

⦁  할당 기법 : 메모리 적재 방법 결정

⦁  교체 기법 : 메모리 교체 대상 결정

▶ 메모리 배치 기법

⦁  최초 적합(First-fit) : 가용 공간 중 첫 번째 분할에 할당

⦁  최적 적합(Best-fit) : 가장 크기가 비슷한 공간에 할당

⦁  최악 적합(Worst-fit) : 가장 큰 공간에 할당

▶ 프로세스 상태 (생준 실대완)

⦁  생성(Create) 상태 : 사용자에 의해 프로세스가 생성된 상태

⦁  준비(Ready) 상태 : CPU를 할당받을 수 있는 상태

⦁  실행(Running) 상태 : 프로세스가 CPU를 할당받아 동작중인 상태

⦁  대기(Waiting) 상태 : 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기리스트에서 기다리는 상태

⦁  완료(Complete) 상태 : CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태

▶ 프로세스 상태 전이 (디타블웨)

⦁  디스패치(Dispatch) : 준비상태의 프로세스중 실행될 프로세스를 선정해 CPU할당 (준비→실행)

⦁  타이머 런 아웃(Timer run out) : 할당시간이 초과 (실행→준비)

⦁  블록(Block) : 사건이 발생 (실행→대기)

⦁  웨이크업(Wake-up) : 입출력 종료 (대기→준비)

▶ 프로세스 스케줄링

CPU를 사용하려는 프로세스 사이의 우선순위를 관리

▶ 프로세스 스케줄링 유형 (반 = 종-도/대 = 반-서)

◇ 선점형 스케줄링 (SMMR)

⦁  라운드 로빈(Round Robin) : 같은 크기의 CPU 시간 할당

⦁  SRT(Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨

⦁  다단계 큐(Multi Level Queue) : 작업들을 여려 종류 그룹 분할, 독자적인 스케쥴링을 가짐

⦁  다단계 피드백 큐 : 큐마다 서로 다른 CPU시간 할당량 부여, FIFO와 라운드 로빈 스케줄링 기법을 혼합한 것

◇ 비선점형 스케줄링 (우기 HFS)

⦁  우선순위(Priority) : 프로세스별 우선순위가 주어지고, 우선순위에 따라 CPU 할당

⦁  기한부(Deadline) : 작업들이 명시된 시간이나 기한 내에 완료되도록 계획

⦁  FCFS(First Come Frist Service) : 프로세스가 대기 큐에 도착한 순서에 따라 CPU 할당(FIFO)

⦁  SJF(Shortest Job First) : 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유, 기아 현상 발생 → 기아현상은 에이징으로 해결

⦁  HRN(Highest Response Ratio Next) : 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아 현상 최소화 기법 (대기시간+서비스시간)/서비스시간


▶ 가상화(Virtualization)

물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 여러 개로 보이게 하는 기술 이를 통해 서버의 가동률을 60~70% 이상으로 올릴 수 있다.

▶ 가상화 기술요소 (컴스인컨분네)

⦁  컴퓨팅 가상화 : 물리적으로 컴퓨터 리소스를 가상화해 논리적 단위로 리소스를 활용할 수 있도록 하는 기술

⦁  스토리지 가상화 : 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가, 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술

⦁  I/O 가상화 : 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화해 효율적인 연결 지원

⦁  컨테이너 : 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술

⦁  분산처리 기술 : 여러 대의 컴퓨터 계산 및 저장능력을 이용해 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술

⦁  네트워크 가상화 기술 : 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단

▶ 클라우드 컴퓨팅(Cloud Computing)

인터넷의 서버를 통해 IT 관련 서비스를 한 번에 사용할 수 있는 컴퓨팅 환경

▶ 클라우드 컴퓨팅 분류 (사공하)

⦁  사설(Private) 클라우드 : 기업 또는 조직 내부에서 보유하고 있는 컴퓨팅 자원(IDC, 서버등)을 사용하여 내부에 구축되어 운영되는 클라우드

⦁  공용(Public) 클라우드 : 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원서비스를 제공하는 클라우드

⦁  하이브리드(Hybrid) 클라우드 : 기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드

▶ 클라우드 컴퓨팅 유형 (인플소)

⦁  인프라형 서비스(laaS) : 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스

⦁  플랫폼형 서비스(PaaS) : 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스

⦁  소프트웨어형 서비스(SaaS) : 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스

🍰 네트워크 기초 활용하기

▶ 네트워크(Network)

원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라

▶ 프로토콜(Procotcol)

서로 다른 시스템에 있는 두 개체 간의 데이터 교환을 원활히 하기 위한 일련의 통신규약

▶ 프로토콜의 기본 3요소

⦁  구문(Syntax) : 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호레벨 등의 규정

⦁  의미(Semantic) : 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정

⦁  타이밍(Timing) : 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정

▶ 네트워크 프로토콜

컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙 체계

▶ 네트워크 프로토콜 특징

⦁  단편화 : 전송이 가능한 작은 블록으로 나누어지는 기법

⦁  재조립 : 단편화되어 온 조각들을 원래 데이터로 복원하는 기법

⦁  캡슐화 : 상위 계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 기법

⦁  연결 제어 : 데이터의 전송량이나 속도를 제어하는 기법

⦁  오류 제어 : 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법

⦁  동기화 : 송신과 수신 측의 시점을 맞추는 기법

⦁  다중화 :하나의 통신 회선에 여러 기기들이 접속 할 수 있는 기술

⦁  주소지정 : 송신과 수신지의 주소를 부여 하여 정확한 데이터 전송을 보장하는 기법


▶ IPv4 전송방식 : 유니, 멀티, 브로드

  • IPv4 : 32bit

▶ IPv6 전송방식 : 유니, 멀티, 애니

  • IPv6 : 128bit, 주소 확장, 이동성, 인증 및 보안 개선

유니캐스트 : 1 대 1

애니캐스트 : 가장 가까운 노드로 1 대 1

멀티캐스트 : 1 대 다

브로드캐스트 : 다 대 다


▶ 물리 계층(Physical Layer)

⦁  0과 1 비트 정보를 회선에 보내기 위한 전기적 신호 변환

⦁  전송 단위 : 비트(Bit)

▼ 장비 : 허브, 리피터

  • 허브 : 여러 대의 컴퓨터를 연결해 네트워크로 보내거나, 여러 대의 컴퓨터로 송신하기 위한 장비
  • 리피터 : 디지털 신호를 증폭시켜 주는 역할

▶ 데이터 링크 계층(Data Link Layer)

⦁  링크의 설정과 유지 및 종료 담당, 노드 간의 오류제어, 회선제어, 흐름제어를 수행

⦁  전송 단위 : 프레임(Frame)

▼ 장비 : 브리지, 스위치

  • 브리지 : 두 개의 근거리 통신망(LAN)을 서로 연결해 주는 통신망 연결 장치
  • L2 스위치 : 느린 전송속도의 브리지, 허브의 단점 개선, MAC 주소 기반으로 빠르게 전송

▼ 프로토콜 : HDLC, PPP, 프레임 릴레이, ATM

  • HDLC(High-Level Data Link Control) : 점대점 방식이나 다중방식의 통신에 사용, 동기식 비트 중심
  • PPP(Point-to-Point Protocol) : 두 통신 노드 간의 직접적인 연결
  • 프레임 릴레이 : 프로토콜 처리를 간략화해 데이터 처리속도의 향상 및 전송지연을 감소시킨 고속 데이터 전송 기술
  • ATM : 53바이트 셀 단위로 전달, 비동기식 시분할 다중화 방식의 패킷형 전송 기술

 ▶ 네트워크 계층(Network Layer)

⦁  다양한 길이의 패킷 전송, 단말기 간 데이터 전송을 위한 최적화된 경로 제공

⦁  라우팅, 패킷 포워딩, 인터 네트워킹 수행

⦁  전송 단위 : 패킷(Packet)

▼ 장비 : 라우터, 게이트웨이, 스위치, 백본 스위칭 허브

⦁  라우터 : LAN과 LAN / LAN과 WAN 연결, 최적의 경로 지정

⦁  게이트웨이 : 프로토콜을 서로 다른 통신망에 접속할 수 있게 해줌

▼ 네트워크 계층 프로토콜 : IP, ARP, RAPR, ICMP, IGMP, 라우팅 프로토콜

⦁  IP(Internet Protocol) : 송수신 간의 패킷 단위로 데이터 교환, 네트워크에서 정보를 주고받는 데 사용

⦁  ARP(Address Resolution Protocol) : IP네트워크상에서 IP주소를 MAC주소(물리 주소)로 변환

⦁  RAPR(Reverse Address Resolution Protocol)  : 호스트가 자신의 MAC주소는 알지만 IP주소를 모르는 경우, 서버로부터 IP주소를 요청하기 위해 사용

⦁  ICMP(Internet Control Message Protocol) : IP패킷을 처리할 때 발생되는 문제를 알려주는 메시지 형식 프로토콜

⦁  IGMP(Internet Group Management Protocol) : 인터넷 그룹 관리, 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용

⦁  라우팅 프로토콜 : 데이터 전송을 위해 목적지까지 갈 수 있는 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜

▼ 라우팅 프로토콜의 구성

<내부라우팅 프로토콜(IGP)>

⦁  RIP(Routing Information Protocol) : AS 내에서 사용하는 거리 벡터 알고리즘에 기초해 개발된 내부 라우팅 프로토콜, 벨만-포드 알고리즘, 15홉 제한, IGRP

⦁  OSPF(Open Shortest Path First) : 규모가 크고 복잡한 TCP/IP네트워크에서 RIP의 단점 개선위한 링크 상태 알고리즘 적용해 최단 경로를 찾는 프로토콜, 다익스트라 알고리즘, 홉 제한 없음, ELGRP

<외부 라우팅 프로토콜(EGP)>

⦁  BGP : AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜

▼ 라우팅 알고리즘의 유형

⦁  거리 벡터(Distance Vector) 알고리즘 : 인접 라우터와 정보를 공유해 목적지까지의 거리와 방향을 결정하는 알고리즘, 벨만-포드 알고리즘 사용

⦁  링크 상태 알고리즘 : 링크 상태 정보를 모든 라우터에게 전달해 최단 경로 트리 구성, 다익스트라(Dijkstra) 알고리즘 사용

▶ 전송 계층(Transport Layer)

⦁  종단 간의 사용자들에게 신뢰성 있는 데이터 전달, 송수신 프로세스 간의 연결

⦁  전송단위 : 세그먼트(Segment)

▼ 전송 계층 프로토콜 : TCP, UDP

⦁  TCP(Transmission Control Protocol) : 신뢰성 보장, 연결 지향적 특징, 흐름 제어, 혼잡 제어

⦁  UDP(User Datagram Protocol) : 비신뢰성, 비연결성, 순서화되지 않은 데이터그램 서비스 제공, 단순 헤더, 실시간 응용 및 멀티캐스팅 가능

▶  세션 계층(Session Layer)

⦁  프로세스들의 논리적인 연결, 응용 프로그램 간의 대화를 유지하기 위한 구조 제공

⦁  전송단위 : 데이터

▼ 세션 계층 프로토콜 : PRC, NetBIOS

⦁  RPC(Remote Procedure Call) : 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행 할 수 있는 프로세스 간 통신에 사용, 원격 프로시저 호출

⦁  NetBIOS : 응용계층의 애플리케이션 프로그램에게 API 제공해 상호 통신 가능

▶  표현 계층(Presentation Layer)

⦁  통신에 알맞은 형태로 만듦, 사용자가 이해할 수 있는 형태로 만듦. 부호교환, 암복호화

⦁  전송단위 : 데이터

▼ 표현 계층 프로토콜 : JPEG, MPEG

⦁  JPEG : 이미지를 위해 만들어진 표준 규격

⦁  MPEG : 멀티미디어를 위해 만들어진 표준 규격

▶  응용 계층(Application Layer)

⦁  사용자와 네트워크 간 응용서비스 연결

⦁  전송단위 : 데이터

▼ 응용 계층 프로토콜 : HTTP, FTP, SMTP, Telnet, POP3/IMAP

⦁  HTTP : 텍스트 기반의 통신규약, 인터넷에서 데이터를 주고받을 수 있는 프로토콜

⦁  FTP(File Transfer Protocol) : TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜

⦁  SMTP(Simple Mail Transter Protocol) : 인터넷에서 TCP 포트 번호 25번, 이메일을 보내기위해 이용

⦁  Telnet : 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜


▶ 서킷 스위칭

네트워크 리소스를 특정 사용 층이 독점하도록 하는 통신 방식

▶ 패킷 스위칭

작은 블록의 패킷으로 데이터를 전송하며, 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 통신 방식

▶ 패킷 스위칭 관련 기술

⦁  X.25 : 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜

⦁  프레임 릴레이 : ISDN을 사용하기 위한 프로토콜, ITU-T에 의해 표준으로 작성됨

⦁  ATM(Asynchronous Transfer Mode) : 비동기 전송모드, 광대역 전송에 쓰이는 스위칭 기법

🍰 기본 개발환경 구축하기

▶ 운영체제 운용

⦁  서버 운영체제 운용 기준/ 개별 PC용 운영체제 운용 기준

▶ 개발환경 인프라 구성 방식

⦁  온프레미스(On-Pramise)방식 : 외부 인터넷망이 차단된 상태에서 인트라넷 망만을 활용하여 개발환경을 구축하는 방식

⦁  클라우드(Cloud)방식 : 아마존, 구글, 마이크로소프트 등 클라우드 공급 서비스를 하는 회사들의 서비스를 임대하여 개발환경을 구축하는 방식

⦁  하이브리드 방식 : 온프레미스 + 클라우드

응용 : 데이터 / HTTP, FTP, SMTP, Telnet, POP3/IMAP

표현 : 데이터 / JPEG, MPEG

세션 : 데이터 / PRC, NetBIOS

전송 : 세그먼트 / TCP, UDP

네트 : 패킷 / 스위치, 라우터 / IP, ARP, RARP, ICMP, IGMP, 라우팅 프로토콜

데링 : 프레임 / 브리지, 스위치 / HDLC, PPP, 프레임릴레이, ATM

물리 : 비트 / 허브, 리피터

라우팅 알고리즘

정적 라우팅 알고리즘

동적 라우팅 알고리즘

내부 라우팅 알고리즘 : RIP, OSPF

외부 라우팅 알고리즘 : BGP


출처: https://powerdev.tistory.com/87

profile
이사중입니다!🌟https://velog.io/@devkyoung2

0개의 댓글

관련 채용 정보