동기의 이것저것
article thumbnail
728x90

운영체제의 특징

운영체제 종류

 

1) 운영체제 개념

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

 

인터페이스(쉘) + 커널의 구조이다

쉘은 가장 바깥 부분에 위치해 사용자 명령에 대한 처리를 담당하는 역할을 하고

커널은 하드웨어와 관련된 내부적인 역할을 담당한다.

 

커널의 기능

  • 프로세스 관리
  • 기억장치 관리
  • 주변장치 관리
  • 파일 관리

 

운영체제 종류

  • windows 운영체제: MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 마이크로소프트사가 개발한 운영체제
  • Unix 계열 운영체제: 대부분 C언어로 구현, 범용 다중 사용자 방식의 시분할 운영체제
    • Linux 운영체제: 데비안, 레드헷, Ubuntu, CentOS, 대화식, 다중작업기능, 계층적 트리 구조 파일 시스템
    • Mac 운영체제: 그래픽 사용자 인터페이스 기반
    • Android 운영체제: 미들웨어, 사용자 인터페이스, 표준 응용 프로그램 포함, 리눅스 기반, 자바와 코틀린

 

 

2) 리눅스/유닉스 운영체제의 기본 명령어

 

리눅스/유닉스 운영체제의 파일 접근 권한 권리

(각 파일의 정보가 저장된 i-node 값을 읽게 된다.)

 

접근권한

  • User
  • Group
  • Other
User Group Other
r w x r w x r w x
4 2 1 4 2 1 4 2 1

r, w x 는 Read, Write, eXcute로 파일을 읽거나 쓰거나 실행 할 수 있는 3가지 모드로 구분한다

 

즉 chmod 777 은 모든 사용자에 rwx 권한을 설정하는 것이다.

 


운영체제 핵심 기능 파악

1) 운영체제 핵심 기능

 

메모리 관리 기법

  • 반입 기법
  • 배치 기법
  • 할당 기법
  • 교체 기법

 

메모리 배치 기법

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

프로세스 관리

 

프로세스 상태

  • 생성
  • 준비
  • 실행
  • 대기
  • 완료

프로세스 상태 전이

  • 디스패치: 준비 상태에 있는 여러 프로세스 중 실행될 프로세스 선정해 CPU를 할당 -> 문맥교환 발생
  • 타이머 런 아웃
  • 블록 = 입출력 발생
  • 웨이크 업

 

프로세스 스케줄링

: CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 작업이다.

 

프로세스 스케줄링 유형

  • 선점형 스케줄링: 하나의 프로세스가 CPU 차지하고 있을 때 우선순위 높은 다른 프로세스가 중단시키고 점유
    • 라운드 로빈(Round Robin): 같은 크기의 CPU 시간을 할당, 시간 내에 처리 완료 못하면 준비 큐 리스트 가장 뒤로 보내지고 CPU는 대기중인 다음 프로세스로 넘어간다 (시분할 시스템 사용)
    • SRT: 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점된다.
    • 다단계 큐: 여러 종류 그룹으로 분할, 여러 개의 큐 이용하여 상위 단계 작업에 의한 하위단계 작업이 선점 당함(독립된 스케줄링 큐)
    • 다단계 피드백 큐: 입출력 위주와 CPU 위주의 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량 부여 (FCFS와 라운드 로빈 스케줄링 기법 혼합, 마지막 단계 라운드 로빈)
  • 비선점형 스케줄링: 한 프로세스가 CPU 할당 받으면 작업 종류 후 반환까지 다른 프로세스는 CPU 점유 불가
    • 우선순위: 프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU 할당
    • 기한부: 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
    • FCFS: 프로세스가 대기 큐에 도착한 순서에 따라 CPU 할당함 FIFO 알고리즘이라고도 함
    • HRN: 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택(기아 현상 최소화 기법)
    • SJF: 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유(기아 현상 발생 가능성)

 

프로세스 스케줄링 알고리즘 계산방법

  • 반환시간 = 종료 시간 - 도착 시간
  • 대기시간 = 반환시간 - 서비스 시간

프로세스 관리 - 교착상태

개념: 다중프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태이다.

 

교착상태 발생 조건 [상점비환]

  • 상호 배제: 자원을 배타적으로 점유
  • 점유와 대기: 자원 점유하면서 또 다른 자원 요청하여 대기
  • 비선점: 점유한 자원에 대해 다른 프로세스가 선점할 수 없고 오직 점유한 프로세스만이 해제 가능한 상태
  • 환형 대기: 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태

 

교착상태 해결 방법

  • 예방: 상호 배제를 제외한 나머지 교착상태 발생 조건을 위배하는 방안
  • 회피: 안전한 상태를 유지할 수 있는 요구만 수락  - 은행가 알고리즘
  • 발견: 시스템의 상태를 감시 알고리즘 통해 교착 상태 검사
  • 복구: 교착상태가 없어질 때까지 프로세스를 순차적으로 kill하여 제거

2) 가상화, 클라우드

 

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

 

가상화 기술요소

  • 컴퓨팅 가상화: 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용 (하이퍼바이저)
  • 스토리지 가상화: 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술(분산 파일 시스템)
  • I/O 가상화: 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술 (가상 네트워크 인터페이스 카드)
  • 컨테이너: 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술 (도커)
  • 분산처리 기술: 여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술
  • 네트워크 가상화 기술: 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치(라우터, 스위치) 의 가상화를 통한 가상 네트워크를 지원하는 기술 (SDN, NFV)

 

클라우드 컴퓨팅

: 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술이다.

 

클라우드 컴퓨팅 유형

  • IaaS 인프라형 서비스: 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
  • PaaS 플랫폼형 서비스: 인프라를 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스
  • SaaS 소프트웨어형 서비스: 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스

 

네트워크 기초 활용하기

네트워크 계층 구조 파악

 

1) 네트워크 개념

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

 

거리에 따른 네트워크 분류

  • WAN: 광대역 네트워크
  • LAN: 근거리 네트워크

 

2) OSI(Open System Interconnection) 7계층

: 국제 표준화 기구인 ISO 에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다.

 

OSI 7 Layer 특징

  • 물리 계층: 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 / RS-232C / 비트 / 허브 리피터
  • 데이터 링크 계층: 인접 시스템 간 데이터 전송, 전송 오류 제어, 흐름제어, 회선 제어 / HDLC, PPP / 프레임 / 브리지, 스위치
  • 네트워크 계층: 단말기 간 데이터 전송을 위한 최적화된 경로 제공 / IP, ICMP / 패킷 / 라우터
  • 전송 계층: 송수신 프로세스 간의 연결, 신뢰성 있는 통신 보장, 혼잡 제어 / TCP, UDP / 세그먼트 / L4 스위치
  • 세션 계층: 송수신 간의 논리적인 연결 / RPC, NetBIOS / 데이터
  • 표현 계층: 데이터 형식 설정, 부호교환, 암 복호화 / JPEG, MPEG
  • 응용 계층: 사용자 네트워크 간 응용서비스 연결, 데이터 생성 / HTTP, FTP

 

3) 네트워크 장비

  • 1계층
    • 허브: 여러 대의 컴퓨터 연결하여 네트워크로 보내거나 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비
    • 리피터: 디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비
  • 2계층
    • 브리지: 두 개의 근거리통신망을 서로 연결해 주는 통신망 연결 장치
    • L2 스위치: 느린 전송속도의 브리지, 허브의 단점 개선하기 위해 출발지에서 들어온 프레임을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치
  • 3계층
    • 라우터: LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비, 패킷의 위치를 추출하여 그 위치에 대한 최적의 경로를 지정
    • 게이트웨이: 프로토콜을 서로 다른 통신망에 접속할 수 있게 해주는 장치
    • L3 스위치: 3계층에서 네트워크 단위들을 연결하는 통신 장비

 

 

네트워크 프로토콜 파악

 

1) 프로토콜

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

 

프로토콜의 기본 3요소

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

 

2) 데이터 링크 계층(2계층)

: 링크의 설정과 유지 및 종료를 담당하며 노드 간의 회선 제어, 흐름제어, 오류 제어 기능을 수행하는 계층이다.

 

데이터 링크 계층 프로토콜

  • HDLC: 점대점 방식이나 다중방식의 통신에 사용되는 ISO에서 표준화한 동기식 비트 중심의 데이터 링크 프로토콜
  • PPP: 네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜
  • ATM

 

3) 네트워크 계층(3계층)

: 다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질을 위한 수단을 제공하는 계층이다.

 

네트워크 계층 프로토콜

  • IP: 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는데 사용하는 통신 프로토콜
  • ARP: IP 네트워크상에서 IP주소를 MAC 주소로 변환하는 프로토콜
  • RARP: IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
  • ICMP: IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜로 메시지 형식은 8바이트의 헤더와 가변 길이의 데이터 영역으로 분리
  • IGMP: 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜, 화상회의, IPTV에서 활용되는 프로토콜
  • 라우팅 프로토콜: 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해준다

 

IPv4 

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

 

분류

  • A클래스: 1~126(0, 127로 시작된 IP는 예약됨) 범위의 IP 주소를 가짐
  • B클래스: 128~191 범위를 가진다
  • C클래스: 192~223 범위를 가진다
  • D클래스: 멀티캐스트 용도로 예약된 주소
  • E클래스: 연구를 위해 예약된 주소

전송 방식: 유니캐스트(1:1), 멀티캐스트(특정한 수신자), 브로드 캐스트(모두)

 

 

IPv6

개념: 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로서 버전 6 인터넷 프로토콜로 재정된 차세대 인터넷 프로토콜을 말한다.

 

전송 방식: 유니캐스트, 멀티캐스트, 애니캐스트(가장 가까운 곳)

 

 

라우팅 프로토콜

: 데이터 전송 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로 설정

  • RIP: AS내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜, 벨만-포드 알고리즘 사용
  • OSPF: TCP/IP 네트워크에서 RIP 단점 개선하기 위해 자신을 기준으로 링크 상태 알고리즘 적용하여 최단 경로 찾는다, 다익스트라 알고리즘 사용, 라우팅 메트릭 지정

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

 

4) 전송 계층(4계층)

개념: 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층이다.

 

TCP

: 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로 IP와 함께 TCP/IP 라는 명칭으로 사용된다. 

특징

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

UDP

: 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 데이터그램 서비스를 제공하는 전송 계층의 통신 프로토콜이다.

특징

  • 비신뢰성
  • 순서화되지 않은 데이터그램 서비스 제공
  • 실시간 응용 및 멀티캐스팅 가능
  • 단순 헤더

 

5) 세션 계층(5계층)

개념: 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층이다.

 

프로토콜

  • RPC: 원격 프로시저 호출
  • NetBIOS: 응용계층 애플리케이션 프로그램에게 API를 제공하여 상호 통신

 

6) 표현 계층(6계층)

개념: 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층이다.

 

프로토콜

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

 

7) 응용 계층(7계층)

개념: 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다.

 

프로토콜

  • HTTP: 텍스트 기반 통신규약, 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜
  • FTP: TCP/IP 프로토콜 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜
  • SMTP: 인터넷에서 TCP 포트 번호를 25번을 사용하여 이메일을 보내기 위해 이용되는 프로토콜
  • POP3: 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는 데 사용하는 프로토콜
  • IMAP: 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용하는 프로토콜
  • Telnet: 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜
  • SSH: Telnet보다 강력한 보안을 제공하는 원격접속 프로토콜
  • SNMP: 라우터나 허브 등 네트워크 장치로부터 정보를 수집 및 관리

 

네트워크 전달 방식

 

패킷 교환 방식의 종류

  • 데이터그램 방식: 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송하는 방식
  • 가상 회선 방식: 패킷이 전송되기 전에 송, 수신 스테이션 간의 논리적인 통신 경로를 미리 설정하는 방식

 

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

 

 

728x90
반응형
profile

동기의 이것저것

@U_motivation

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!