NAT(Network Adderess Translate)는 주소 변환 기술입니다. 하나의 네트워크 주소를 다른 네트워크 주소로 변환하여 라우팅을 원할하게 해줍니다. 1:1로 변환하기도 하지만 1:N로 변환을 하기도 합니다. 1:N으로 변환하는 경우를 NAPT, PAT라고 합니다.
공인 IP를 사설 IP로 변환하거나 사설 IP를 공인 IP로 변환 또는 공인 IP를 공인 IP로 변환 등을 통틀어서 NAT라고 합니다. 밀접하게 접할 수 있는 NAT 장비는 공유기가 있습니다. 공유기로 하위 네트워크로 구성되어 있는 망에서 사설 IP를 통해 인터넷에 접속하게 되면 공유기가 공인 IP로 변환하고 다시 외부에서 오는 정보를 다시 사설 IP로 변환해주게 됩니다. 여기서 공인 IP는 인터넷에 접속하기 위해 유일하게 부여하는 IP, 사설 IP는 인터넷에 직접 접속하지 않고 NAT 장비를 통해 변환하여 사용하는 주소를 말합니다.
NAT와 같이 네트워크 변환 기술이 필요한 이유는 IPv4의 주소 고갈 문제가 있습니다. 간단히 서브네팅과 같이 부족 문제를 해결해왔지만 장기적으로 가기 위해서는 NAT와 같은 기술을 이용해 한정되어 있는 공인 IP들을 변환하여 사용하게 됩니다. 그리고 이렇게 변환하여 사용하기 때문에 외부로는 사설 IP들을 숨겨줌으로써 내부 IP구조를 공개하지 않게 되어 보안이 한층 더 강화되게 됩니다.
NAT는 주소를 변환하고 정확히는 출발지 혹은 도착지의 주소를 변환합니다.
아래와 같이 PC에서 웹 서버로 접속하려고 하는 상황입니다.
사설 IP 192.168.100.100를 가진 PC가 웹 서버 10.10.10.10에 접속하려면 NAT를 통해 공인 IP로 변환이 되어야 합니다.
NAT를 통해 192.168.100.100은 공인 IP 11.11.11.11로 변환됩니다. 그리고 NAT가 변환한 사설, 공인 IP들은 장비에 저장됩니다.
이제 웹 서버쪽에서 다시 응답을 받기 위해서는 변환된 공인 IP를 다시 사설 IP로 바꿔줘야 PC에 가게 됩니다.
PAT의 동작의 경우에는 IP뿐 아니라 포트 정보까지 변환해주게 됩니다.
NAT는 출발지의 주소를 바꾸느냐 도착지의 주소를 바꾸느냐에 따라 SNAT(Source NAT), DNAT(Destination NAT)로 나뉘고 변환할 IP의 정보가 고정되어 있냐 아니냐에 따라 정적 NAT, 동적 NAT로 나뉩니다.
- IoT(Internet of Things, 사물인터넷) : 정보 통신 기술을 기반으로 실세계와 가상 세계의 다양한 사물과 사람을 인터넷으로 소로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술
- M2M(Machine to Machine, 사물 통신) : 무선 통신을 이용한 기계와 기계 사이의 통신
- 모바일 컴퓨팅 : 휴대형 기기로 이동하면서 자유롭게 네트워크에 접속하여 업무를 처리할 수 있는 환경
- 클라우딩 컴퓨팅 : 각종 컴퓨터 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 환경
- 모바일 클라우딩 컴퓨팅 : 모바일 컴퓨팅과 클라우딩 컴퓨팅을 혼합하여 클라우드 서비스를 이용하여 모바일 기기로 클라우딩 컴퓨팅 인프라를 구성하여 여러 가지 정보와 자원을 공유하는 ICT 기술
- 인터클라우드 컴퓨팅 : 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술
- 매시 네트워크 : 차세대 이통통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술로 대규모 디바이스의 네트워크 생성에 최적화
- 와이선 : 장거리 무선 통신을 필요로 하는 사물인터넷 서비스를 위한 저전력 장거리 통신 기술
- NDN(Named Data Networking) : 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
- NGN(Next Generation Network, 차세대 통신망) : 유선망 기반의 차세대 통신망으로 유선망뿐만 아니라 이동 사용자를 목표로 하며 이동 통신에서 제공하는 완전하 이동성 제공을 목표로 개발
- SDN(Software Defined Networking) : 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
- NFC(Near Field Communication) : 고주파를 이용한 근거리 무선 통신 기술
- UWB(Ultra WideBand) : 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고도 함
- 피코넷 : 여러 개의 독립된 통신 장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
- WBAN(Wireless Body Area Network) : 웨어러블 또는 몸에 심는 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술
- GIS(Geographic Information System) : 지리적인 자료를 수집, 저장, 분석, 출력할 수 있는 컴퓨터 응용 시스템으로 위성을 이용해 모든 사물의 위치 정보를 제공해줌
- USN(Ubiquitous Sensor Network) : 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성하는 네트워크
- SON(Self Organizing Network) : 주변 상황에 맞추어 스스로 망을 구성하는 네트워크
- 애드 혹 네트워크 : 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 모바일 호스트만을 이용하여 구성한 네트워크
- 네트워크 슬라이싱 : 여러 글로벌 이동통신 표준화 단체가 선정한 5G의 핵심기술 중 하나로 네트워크에서 하나의 물리적인 코어 네트워크 인프라를 독립된 다수의 가상 네트워크로 분리하여 각각의 네트워크를 통해 다양한 고객 맞춤형 서비스를 제공하는 것을 목적으로 하는 네트워크 기술
- 저전력 블루투스 기술 : 일반 블루투스와 동일한 주파수 대역을 사용하지만 연결되지 않은 상태에서는 절전 모드를 유지하는 기술
- 지능형 초연결망 : 스마트 시티, 스마트 스테이션 등 4차 산업혁명 시대를 맞아 새로운 변화에 따라 급격하게 증가흐는 데이터 트래픽을 효과적으로 수용하기 위해 시행되는 정부 주관 사업
SW 관련 신기술 용어
- 인공지능 : 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간 지능적인 작업을 수행하는 시스템
- 뉴럴링크 : 테슬라의 CEO 일론 머스크가 사람의 뇌와 컴퓨터와 결합하는 기술을 개발하기 위해 설립한 회사
- 딥 러닝 : 인간의 두뇌를 모델로 만들어진 인공 신경망을 기반으로 하는 기계 학습 기술
- 전문가 시스템 : 특정 분야의 전문가가 수행하는 고도의 업무를 지원하기 위한 컴퓨터 응용 프로그램
- 증강현실 : 실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술
- 블록체인 : P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자의 디지털 장비에 분산 저장하는 기술
- 분산 원장 기술 : 중앙 관리자나 중앙 데이터 저장소가 존재하지 않고 P2P 망내의 참여자들에게 모든 거래 목록이 분산 저장되어 거래가 발생할 때마다 지속적으로 갱신되는 디지털 원장
- 해시 : 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환
- 양자 암호키 분배 : 양자 통신을 위해 비밀키를 분배하여 관리하는 기술
- 프라이버시 강화 기술 : 개인 정보 위험 관리 기술
- 공통 평가 기준 : ISO 15408 표준으로 채택된 정보 보호 제품 평가 기준
- 개인정보 영향평가 제도 : 개인정보를 활용하는 새로운 정보 시스템의 도입 및 기존 정보시스템의 중요한 변경 시 시스템의 구축, 운영이 기업의 고객은 물론 국민의 사생활에 미칠 영향에 대해 미리 조사, 분석, 평가하는 제도
- 그레이웨어 : 소프트웨어를 제공하는 입장에서는 악의적이지 않은 유용한 소프트웨어 일지라도 사용자 입장에서는 유용할 수도 있고 악의적일 수도 있는 악성 코드나 공유 웨어
- 매시업 : 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스 데이터베이스 등을 만드는 기술
- 리치 인터넷 애플리케이션 : 플래스 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML보다 역동적인 웹페이지를 제공하는 플래시 웹페이지 제작 기술
- 시맨틱 웹 : 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹
- 증발품 : 판매 계획 또는 배포 계획은 발표되었으나 실제로 고객에게는 판매되거나 배포하지 않고 있는 소프트웨어
- 오픈 그리드 서비스 아키텍처 : 애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준
- 서비스 지향 아키텍처 : 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중신으로 구축하는 정보기술 아키텍처
- 서비스형 소프트웨어(SaaS) : 소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어
- 소프트웨어 에스크로 : 소프트웨어 개발자의 지적재산권을 보호하고 사용자는 저렴한 비용으로 소프트웨어를 안정적으로 사용 및 유지보수받을 수 있도록 소스 프로그램과 기술 정보 등을 제3의 기관에 보관하는 것
- 복잡 이벤트 처리 : 실시간으로 발생하는 많은 사건들 중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법
- 디지털 트윈 : 현실속의 사물을 소프트웨어로 가상화한 모델
HW 관련 신기술 용어
- 고가용성 : 긴 시간동안 안정적인 서비스 운영을 위해 장애 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘
- 3D 프린팅 : 평면에 출력하는 것이 아닌 얇은 두께로 한층 한층 적재시켜 하나의 형태를 만들어내는 기술
- 4D 프린팅 : 특정 시간이나 환경 조건이 갖추어지면 스스로 형태를 변화시키거나 제조되는 자가 조립 기술이 적용된 제품을 3D 프린팅 하는 기술
- RAID : 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크들에 분산 저장하는 기술
- 앤 스크린 : N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스
- 컴패니언 스크린 : TV 방송 시청 시 방송 내용을 공유하며 추가적인 기능을 수행할 수 있는 디바이스
- 씬(Thin) 클라이언트 PC : 하드디스크나 주변 장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터
- 멤스 : 초정밀 반도체 기술을 바탕으로 센서나 액추에이터 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치
- 패블릿 : 태블릿 기능을 포함한 5인치 이상의 대화면 스마트폰
- 트러스트존 기술 : ARM에서 개발한 하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술
- 엠디스크 : 한 번의 기록만으로도 자료를 영구 보관할 수 있는 광 저장 장치
- 멤리스터 : 메모리와 레지스터의 합성어로 전류의 방향과 양 등 기존의 경험을 모두 기억하는 소자
DB 관련 신기술 용어
- 빅데이터 : 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 / 비정형 데이터 집합
- 브로드 데이터 : 다양한 채널에서 소비자와 상호 작용을 통해 생산 되었거나 기업 마케팅에 있어 효율적이고 다양한 데이터, 이전에 사용하지 않거나 몰랐던 새로운 데이터나 기존 데이터에 새로운 가치가 더해진 데이터
- 메타 데이터 : 일련의 데이터를 정의하고 설명해주는 데이터
- 디지털 아카이빙 : 디지털 정보 자원을 장기적으로 보존하기 위한 작업
- 하둡 : 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 타조 : 우리나라가 주도적으로 개발 중인 하둡 기반의 분산 데이터 웨어하우스 프로젝트
- 데이터 다이어트 : 데이터를 삭제하는 것이 아닌 압축하고 중복된 정보를 배제하고 새로운 기분에 따라 나누어 저장하는 작업
- 프로그램을 여러 작은 블록 단위로 나누어서 가상 기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리
- 주기억장치의 이용률과 다중 프로그래밍의 효율 상승
- 가상기억장치에 저장된 프로그램을 실행하려면 가상 기억장치의 주소를 주기억장치의 주소로 바꾸는 주소 변환(Mapping) 작업이 필요
- 연속 할당 방식에서 발생할 수 있는 단편화를 해결할 수 있음
페이징 기법
- 가상기억장치의 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 동일하게 나눠진 주기억장치의 영역에 적재시켜 실행하는 기법
- 프로그램을 일정한 크기로 나눈 크기를 페이지라 하고 페이지 크기로 일정하게 나누어진 주기억장치의 단위를 페이지 프레임이라고 함
- 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음
- Mapping 작업을 위해서 페이지 맵 테이블이 필요함
세그먼트 기법
- 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 방법
- 프로그램을 논리적인 크기로 나눈 단위를 세그먼트라고 함
- 내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있음
- Mapping 작업을 위해서 세그먼트 맵 테이블이 필요함
- 세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침범할 수 없으며 이를 위해 기억장치 보호키가 필요
가상 메모리
- 고정크기 분할 : 페이지
- 가변크기 분할 : 세그먼트
ex) 5명이 펜션에 놀러갈 때
- 페이지 : 고정된 크기인 2인실 방을 3개를 주면 1명의 자리가 남게 됨 -> 내부 단편화 발생
- 세그먼트 : 5인실 방을 만들어서 주면 6명의 인원이 놀러올 때 모두가 못 들어가게 됨 -> 외부 단편화 발생
가상 메모리
- 고정크기 분할 : 페이지
- 가변크기 분할 : 세그먼트
ex) 5명이 펜션에 놀러갈 때
- 페이지 : 고정된 크기인 2인실 방을 3개를 주면 1명의 자리가 남게 됨 -> 내부 단편화 발생
- 세그먼트 : 5인실 방을 만들어서 주면 6명의 인원이 놀러올 때 모두가 못 들어가게 됨 -> 외부 단편화 발생
페이지 교체 알고리즘
- 페이지 부재가 발생했을 때 가상 기억장치의 필요한 페이지를 주기억장치에 적재해야 하는데 이럴 경우 주기억장치의 모든 페이지 프레임이 사용 중이면 어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 기법
- OPT(OPTimal replacement, 최적 교체)
-> 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체(예상)
- FIFO(First In First Out)
-> 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 오래 있었던 페이지를 교체
-> 먼저 들어온 것이 먼저 나감
- LRU(Least Recently Used)
-> 최근에 가장 오랫동안 사용하지 않은 페이지를 교체
-> 페이지마다 Counter나 Stack을 두어 현시점에서 가장 오래전에 사용된 페이지 교체
- LFU(Least Frequently Used)
-> 사용 빈도가 가장 적은 페이지를 교체
- NUR(Not Used Frequency)
-> 최근에 사용하지 않은 페이지를 교체
-> 최근 사용 여부를 확인하기 위해 페이지마다 참조 비트와 변형 비트를 사용
-> 교체 우선순위
가상 기억장치 기타 관리 사항
페이지 크기에 따른 특징
- 페이지 크기가 작을 경우
-> 단편화와 주기억장치로 이동하는 시간 감소
-> 불필요한 내용이 적재될 확률이 낮아 워킹 셋이 효율적으로 유지
-> Locality에 더욱 일치하여 기억장치에 효율 상승
-> 페이지 맵 테이블 크기가 커지므로 매핑 속도가 늦어짐
-> 디스크 접근 횟수가 많아져 전체적인 입출력 시간이 늘어남
- 페이지 크기가 클 경우
-> 단편화와 주기억장치로 이동하는 시간이 증가
-> 프로세스 수행에 불필요한 내용까지 적재될 수 있음
-> 페이지 맵 테이블 크기가 작아지므로 매핑 속도가 빨라짐
-> 디스크 접근 횟수가 줄어들어 전체적인 입출력 시간이 줄어듦
Locality
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
- 스래싱을 방지하기 위한 워킹 셋 이론의 기반
- 프로세스가 집중적으로 사용하는 페이지를 알아내는 방법
- 시간 구역성
-> 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스 하는 현상
-> 시간 구역성이 이루어지는 기억 장소 : 반복, 스택, 부프로그램, 1씩 증감, 집계에 사용되는 변수
- 공간 구역성
-> 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스하는 현상
-> 공간 구역성이 이루어지는 기억 장소 : 배열 순회, 순차적 코드의 실행, 프로그래머들이 관련된 변수들을 서로 근처에 선언하여 할당되는 기억 장소
워킹 셋
- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 자주 참조되는 워킹 셋을 주기억장치에 상주시켜 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정됨
- 워킹 셋은 시간에 따라 변화
페이지 부재 빈도 방식
- 페이지 부재 빈도는 페이지 부재가 일어나는 횟수
- 페이지 부재율에 따라 주기억장치에 있는 페이지 프레임 수를 조정하여 적정 수준으로 유지하는 방식
- 운영체제는 프로세스 실행 초기에 임의의 페이지 프레임 할당 후 페이지 부재율에 따라 프레임을 할당하거나 회수
프리 페이징
- 처음의 과도한 페이지 부재를 방지하기 위해 필요할 것 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재하는 기법
스래싱
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 다중 프로그래밍 시스템이나 가상 기억장치를 사용하는 시스템에서 하나의 프로세스 수행 중 자주 페이지 부재가 발생하면서 나타나는 현상
- 전체 프로세스 선응이 저하됨
- 다중 프로그래밍의 정도가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지는 높아지지만 다중 프로그래밍의 정도가 더욱 커지면 스래싱이 나타나고 CPU의 이용률은 급격히 감소됨
- 스래싱 현상 방지 방법
-> 다중 프로그래밍의 정도를 적정 수준으로 유지
-> 페이지 부재 빈도를 조절하여 사용
-> 워킹 셋 유지
-> 부족한 자원 증설, 일부 프로세스 중단
-> CPU 성능에 대한 자료의 지속적 관리 및 분석으로 임계치를 예상하여 운영
프로세스의 개요
프로세스의 정의
- 프로세서에 의해 처리되는 사용자 프로그램이나 시스템 프로그램을 의미
- 실행 중인 프로그램을 의미하며 작업 혹은 태스크라고도 함
- 프로세스의 또 다른 형태
-> PCB를 가진 프로그램
-> 실기억 장치에 저장된 프로그램
-> 디스패치가 가능한 단위
-> 프로시저(부 프로그램)가 활동 중인 것
-> 비동기적 행위(다수의 프로세스가 서로 독립적으로 실행)를 일으키는 주체
-> 지정된 결과를 얻기 위한 일련의 계통적 동작
-> 목적 또는 결과에 따라 발생되는 사건들의 과정
-> 운영체제가 관리하는 실행 단위
PCB(Process Control Block)
- 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳
- 프로세스가 생성될 때마다 고유의 PCB를 생성하고 프로세스 완료 시 제거됨
- PCB에 저장되는 정보
-> 프로세스 현재 상태
-> 포인터
-> 프로세스 고유 식별자
-> 스케줄링 및 프로세스의 우선순위
-> CPU 레지스터 정보
-> 주기억장치 관리 정보
-> 입출력 상태 정보
-> 계정 정보
프로세스 상태 전이
- 제출 : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
- 접수 : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장한 상태
- 준비
-> 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
-> 프로세스는 준비상태 큐에서 실행 준비
-> Job 스케줄러에 의해 수행
- 실행
-> 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
-> 프로세스 수행이 완료되기 전에 프로세스에게 주어진 할당 시간이 종료되면 프로세스는 준비 상태로 전이
->실행 중인 프로세스에 입출력 처리가 필요하면 실행중인 프로세스는 대기상태로 전이
-> CPU 프로세스에 의해 수행
- 대기 : 프로세스에 입출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태
- 종료 : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태
프로세스 상태 전이 관련 용어
- Dispatch : 준비 상태에 대기하고 있는 프로세스 중 하나가 프로세스를 할당받아 실행 상태로 전이되는 과정
- Wake up : 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정
- Spooling : 입출력 장치의 공유 및 상대적으로 느린 입출력장치의 처리 속도를 보완하기 위해 입출력할 데이터를 직접 장치에 보내지 않고 나중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정
- 교통량 제어기 : 프로세스의 상태에 대한 조사와 통보를 담당
스레드(Thread)
- 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로세스 단위
- 프로세스의 일부 특성을 가지고 있어 경량 프로세스라고도 함
- 동일 프로세스 환경에서 독립적인 다중 수행 가능
- 스레드의 분류
-> 사용자 수준의 스레드 : 사용자가 만든 라이브러리를 사용하여 운용하기 때문에 속도는 빠르지만 구현이 어려움
-> 커널 수준의 스레드 : 운영체제의 커널에 의해 스레드를 운영하기 때문에 속도는 느리지만 구현이 쉬움