2022.09.01
벌써 9월이다. 날씨가 쌀쌀해진걸 보니 가을이 온거같다.
핵심 키워드
윈도우
그래픽 사용자 인터페이스(GUI) 제공
선점형 멀티 태스킹 방식 제공
자동감지 기능 제공
OLE(Object Linking and Embedding) 사용
유닉스
대화식 운영체제 기능 제공
다중 작업 기능 제공
다중 사용자 기능 제공
이식성 제공
계층적 트리 구조 파일 시스템 제공
유닉스 기반으로 개발되고, 소스 코드가 공개된 오픈 소스 기반 운영체제이다.
유닉스 계열 운영체제이기 때문에 유닉스의 특징을 모두 갖는다.
메모리 관리
주 기억장치에 적재할 다음 프로세스의 반입시기를 결정하는 기법
ex) 요구 반입 기법, 예상 반입 기법
디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정하는 기법
ex) 최초 적합, 최적 적합, 최악 적합
실행해야 할 프로세스를 주 기억장치에 어떤 방법으로 할당할 것인지 결정하는 기법
ex) 연속 할당 기법, 분산 할당 기법
재배치 기법으로 주 기억장치에 있는 프로세스 중 어떤 프로세스를 제거할 것인지 결정하는 기법
ex) 프로세스의 Swap In/OUT, FIFO, Optimal, LRU, LFU, 시계알고리즘, MFU
프로세스 관리
사용자에 의해 프로세스가 생성된 상태
CPU를 할당 받을 수 있는 상태
준비 리스트 : 각각 우선순위를 부여하여 가장 높은 우선순위를 갖는 프로세스가 다음 순서에 CPU를 할당 받음
프로세스가 CPU를 할당받아 동작중인 상태
프로세스 실행 중 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리가 완료까지 대기 리스트에서 기다리는 상태
프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
준비 상태에 있는 여러 프로세스 중 실행 프로세스 선정하여 CPU를 할당 -> 문맥교환 발생
(준비 상태 -> 실행 상태)
= 할당 시간 초과
CPU를 할당받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB 저장, CPU 반납 후 다시 준비 상태로 전이됨
(실행 상태 -> 준비 상태)
= 입출력 발생
실행 상태에 있는 프로세스가 지정된 할당시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 CPU를 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 전이됨
(실행 상태 -> 대기 상태)
어느 순간에 입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을 wait & signal 등에 의해 알려주고 준비 상태로 전이됨
(대기 상태 -> 준비 상태)
주요 용어
프로세스가 결과를 산출하기전까지 소요되는 시간
프로세스들이 입력되어 서비스를 요청하고, 반응하기 시작할 때까지 소요되는 시간
프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요된 시간
(반환시간 = 대기시간 + 수행시간)
프로세스가 프로세서에 할당 대기까지 큐에 대기하는시간
프로세스가 대기큐에서 대기하는 평균시간
요구되는 Processing time을 모두 수행하고 종료된 시간
한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스 되는 시간 할당량
HRN 스케줄링에서 사용
HRN 스케줄에서 응답률이 높으면 우선순위가 높다고 판단
가상화
하드웨어 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어 마치 독립된 환경을 만들어 낸 것처럼 보여주는 기법
게스트 소프트웨어 위에서 사용자는 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용되는 기법
물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술
서버 가상화를 통해 하나의 시스템에서 1개 이상의 운영체제를 동시에 가동시킬 수 있으므로, 서버 이용률이 크게 향상
ex. 하이퍼바이저
스토리지와 서버 사이에 소프트웨어/ 하드웨어 계층을 추가하여 스토리지를 논리적으로 제어와 활용할 수 있도록 하는 기술
이기종 스토리지 시스템의 통합을 가능하게 하는 기술
ex. 분산 파일 시스템
서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술
ex. 가상 네트워크 인터페이스 카드
컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술
하이퍼 바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음
ex. 도커
클라우드 컴퓨팅
기업 또는 조직 내부에서 보유하고있는 컴퓨팅 자원을 사용하여 내부에 구축되어 운영되는 클라우드
자체 컴퓨팅 자원으로 모든 하드웨어, 소프트웨어, 데이터를 수용
직접적인 통제가 가능하며 보안성을 높일 수 있음
클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드
일정한 비용을 지불하고 하드웨어, 소프트웨어 등을 사용
확장성, 유연성 등이 뛰어남
기업 또는 조직 내부 자원을 이용한 사설 클라우드와 공용 클라우드를 모두 사용하는 클라우드
사설 클라우드의 약점인 구축 비용 문제와 공용 클라우드의 약점인 보안성 확보 문제를 해결
사용 업무의 중요도, 보안성 확보의 중요도 등에 따라 형태 변경 가능
서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스
컴퓨팅 자원에 운영체제나 애플리케이션 등의 소프트웨어 탑재 및 실행
하위의 클라우드 인프라를 제어하거나 관리하지 않지만 스토리지, 애플리케이션에 대해서는 제어권을 가짐
인프라를 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행 관리할 수 있게 하는 플랫폼을 제공하는 서비스
OS, 애플리케이션과 애플리케이션 호스팅 환경 구성의 제어권을 가짐
소프트웨어 및 관련 데이터는 중앙에 호스팅 되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스