5 분 소요

운영체제의 특징

운영체제(OS: Operating System)

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

운영체제 종류

윈도우즈(Windows), 유닉스(Unix), 리눅스(Linux), 맥(Mac), 안드로이드(Android)

메모리 관리 기법

  • 반입 기법: 메모리 적재 시기 결정(When)
  • 배치 기법: 메모리 적재 위치 결정(Where)
  • 할당 기법: 메모리 적재 방법 결정(How)
  • 교체 기법: 메모리 교체 대상 결정(Who)

메모리 배치 기법

  • 최초 적합(First-fit): 프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식
  • 최적 적합(Best fit): 가용 공간 중에서 가장 크기가 비슷한 공간을 선택하여 프로세스를 적재하는 방식
  • 최악 접합(Worst-fit): 프로세스의 가용 공간들 중에서 가장 큰 공간에 할당하는 방식

프로세스 상태

  • 생성(Create) 상태: 사용자에 의해 프로세스가 생성된 상태
  • 준비(Ready) 상태: CPU를 할당받을 수 있는 상태
  • 실행(Running) 상태: 프로세스가 CPU를 할당받아 동작 중인 상태
  • 대기(Waiting) 상태: 프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태
  • 완료(Complete) 상태: 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태

프로세스 상태 전이

image

프로세스 스케줄링의 유형

  • 선점형 스케줄링: 우선순위가 높은 프로세스가 CPU를 점유하는 스케줄링
    • 라운드 로빈(Round Robbin): 프로세스는 같은 크기의 CPU 시간 할당
    • SRT(Shortest Remaining Time First): 가장 짧은 시간이 소요되는 프로세스를 먼저 수행
    • 다단계 큐(Multi Level Queue): 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점
    • 다단계 피드백 큐(Multi Level Feedback Queue): 큐마다 서로 다른 CPU시간 할당량을 부여, FIFO+라운드 로빈 스케줄링 기법 혼합
  • 비선점형 스케줄링: 한 프로세스가 CPU를 할당 받으면 작업 종료 전까지 다른 프로세스는 CPU점유 불가능한 스케줄링
    • 우선순위(Priority): 프로세스별 우선순위에 따라 CPU 할당
    • 기한부(Deadline): 작업들이 명시된 기한 내에 완료되도록 계획
    • FCFS(First Come First Service): 프로세스가 대기 큐에 도착한 순서에 따라 CPU할당=FIFO
    • SJF(Shortest Job First): 가장 짧은 작업부터 수행, 평균 대시 시간 최소화. 기아현상 발생
    • HRN(Highest Response Ratio Next): 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아현상 최소화 기법

가상화(Virtualization)

물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술

클라우드 컴퓨팅(Cloud Computing)

인터넷을 통해 가상화된 컴퓨터 시스템 리소스 제공

클라우드 컴퓨팅 유형

  • 인프라형 서비스(IaaS: Infrastructure as a Service): 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
  • 플랫폼형 서비스(Paas: Platform as a Service): 애플리케이션 개발, 실행, 관리할 수 있게하는 플랫폼을 제공하는 서비스
  • 소프트웨어형 서비스(SaaS: Software as a Service): 클라이언트 통해 접속하여 소프트웨어 서비스 형태로 이용하는 서비스

네트워크 계층 구조 파악

네트워크(Network)

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

  • 광대역 네트워크(WAN): LAN에 비해 전송거리가 넓음
  • 근거리 네트워크(LAN): 한 건물 또는 작은 지역 커버

OSI(Open System Interconnection) 7계층

  • 응용 계층(Application Layer): 사용자와 네트워크 간 응용서비스 연결, 데이터 생성
  • 표현 계층(Presentation Layer): 데이터 형식 설정, 부호교환, 암/복호화
  • 세션 계층(Session Layer): 송수신 간의 논리적인 연결
  • 전송 계층(Transport Layer): 송수신 프로세스 간의 연결
  • 네트워크 계층(Network Layer): 단말기 간 데이터 전송을 위한 최적화된 경로 제공
  • 데이터링크 계층(Data Link Layer): 인접 시스템 간 데이터 전송, 전송 오류 제어
  • 물리 계층(Physical Layer): 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환

프로토콜(Protocol)

서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약

프로토콜 기본 3요소

  • 구문(Syntax): 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규적
  • 의미(Semantic): 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
  • 타이밍(Timing): 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정

네트워크 프로토콜(Network Protocol)

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

데이터 링크 계층 프로토콜

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

네트워크 계층 프로토콜

  • IP(Internet Protocol): 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용
  • ARP(Adress Resolution Protocol): IP네트워크상에서 IP주소를 MAC주소(물리주소)로 변환하는 프로토콜
  • RARP(Reverse Address Resolution Protocol): 서버로부터 IP 주소를 요청하기위해 사용하는 프로토콜
  • ICMP(Internet Control Message Protocol): IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
  • IGMP(Internet Group Managemnet Protocol): 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜
  • 라우팅 프로토콜(Routing Protocol): 데이터 전송을 위해 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜

IPv4 (Internet Protocol version 4)

인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소체계를 갖는 네트워크 계층 프로토콜

  • 8비트씩 4부분으로 나뉜 10진수
  • 0~255까지 3자리수 표현
  • 유니캐스트, 멀티캐스트, 브로드캐스트

IPv4 클래스 분류

  • A클래스: 국가나 대형 통신망에 사용(1~127), 네트워크 사용자에게 부여가 가능한 IP
  • B클래스: 중대형 통신망에 사용(128~191)
  • C클래스: 소규모 통신망에 사용(192~223)
  • D클래스: 멀티캐스트 용도로 예약된 주소(224~239)
  • E클래스: 연구를 위해 예약된 주소(공용 사용 불가)

IPv6 (Internet Protocol version 6): IPv4의 주소 부족 문제를 해결하기 위해 개발

  • IPv4에 비해 자료 전송속도가 빠름
  • 128비트 주소체계
  • 16비트씩 8개 부분으로 나눈 16진수
  • 유니캐스트, 멀티캐스트, 애니캐스트

IPv4에서 IPv6으로 전환 방법: 듀얼 스택, 터널링, 주소 변환 방식

라우팅 프로토콜

  • 내부 라우팅 프로토콜(IGP)
    • RIP(Routing Information Protocol): AS(자율시스템)내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
    • OSPF(Oepn Shortest Path First): 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜
  • 외부 라우팅 프로토콜(EGP)
    • BGP(Border Gateway Protocol): AS상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜

TCP(Transmission Control Protocol):

  • TCP 특징: 신뢰성 보장, 연결 지향적 특징, 흐름 제어, 혼잡 제어

UDP(User Datagram Protocol):

  • UDP 특징: 비신뢰성, 순서화되지 않은 데이터그램 서비스 제공, 실시간 응용 및 멀티캐스트 가능, 단순 헤어

표현계층 프로토콜

  • JPEG: 이미지를 위해 만들어진 표준 규격
  • MPEG: 멀티미디어(비디오, 오디오)를 위해 만들어진 표준 규격

응용계층 프로토콜

  • HTTP(Hyper Text Transfer Protocol): 텍스트 기반의 통신구약, 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜
  • FTP(File Transfer Protocol): TCP/IP를 갖고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
  • SMTP(Simple Mail Transfer Protocol): 인터넷에서 TCP포트 25번을 사용하여 이메일을 보내기 위해 이용되는 프로토콜
  • POP3(Post Office Protocol Version 3): 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜
  • IMAP(Internet Messaging Access Protocol): 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜
  • Telnet: 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
  • SSH(Secure Shell): 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 쉘 서비스 등을 수행, Telent보다 강력한 보안 제공
  • SNMP(Simple Network Managemnet Protocol): 라우터나 허브 등 네트워크 장치로부터 정보를 수집 및 관리

패킷 교환 방식(Packet Switching)

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

  • 활용: 이메일, 메시지

패킷 교환 방식 기술

  • X.25: 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜
  • 프레임 릴레이: ISDN을 사용하기 위한 프로토콜로서 ITU-T에 의해 표준으로 작성
  • ATM(Asynchronous Transfer Mode): 비동기 전송모드, 광대역 전송에 쓰이는 스위칭 기법

서킷 교환 방식(Circuit Switching)

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

  • 활용: 영상, 비디오

애드 혹 네트워크(Ad-hoc Network)

노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크

기본 개발환경 구축하기

개발환경 인프라 구성 방식

  • 온프레미스(On-Premise) 방식: 외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식
  • 클라우드(Cloud) 방식: 클라우드 공습 서비스를 제공하는 회사들(아마존, 구글, MS 등)의 서비스를 임대하여 개발 환경을 구축하는 방식
  • 하이브리드(Hybrid) 방식: 온프레미스와 클라우드 방식을 혼용한 방식

🔔포스팅 공지
개인 공부 기록용 블로그 입니다.
잘못된 부분이 있을 시 메일이나 댓글로 지적해주시면 감사드리겠습니다 :)

댓글남기기