티스토리 뷰
컴퓨터 : 하드웨어 + 소프트웨어
하드웨어
메모리
물리적 주소 : 컴퓨터에 주어진 주소
논리적 주소 : 컴파일러가 프로그램을 기계 명령어로 변환할 때 변수와 명령어에 할당하는 주소
논리적 주소 =>매핑=> 물리적 주소
운영체제(Operating System) : 사용자와 하드웨어 사이의 중간 매개체로 응용 프로그램의 실행을 제어하고 자원을 할당 및 관리하며 입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 소프트웨어
커널 : OS의 기본기능을 실행하는 부분.
일괄 처리 시스템 : 데이터를 모았다가 일괄 처리하는 시스템(초기)
다중 프로그래밍 시스템 : 프로세서가 유휴상태일 때 둘 이상의 작업이 프로세서를 전환하여 사용할 수 있도록 동작.
마치 많은 사용자의 프로그램이 거의 동시에 프로세서를 할당받는 듯한 느낌
시분할 시스템 : 여러 사용자에게 짧은 간격으로 프로세서를 번갈아가며 할당해서 마치 자기 혼자 프로세서를 독점하고 있는 양 착각하게 하여 다양한 컴퓨터 시스템을 동시에 사용할 수 있게 한다.
다중 처리 시스템 : 단일 컴퓨터 시스템 내에서 둘 이상의 프로세서를 사용하여 동시에 들 이상의 프로세스(프로그램) 지원
Infrastructure as a service
서비스형 인프라스트럭처(Infrastructure as a Service, IaaS)는 서버, 스토리지, 네트워크를 필요에 따라 인프라 자원을 사용할 수 있게 클라우드 서비스를 제공하는 형태이다. 대표적인 기술로는 서버 가상화, 데스크톱 가상화 등이 있다.
ex) aws ec2
Platform as a service
서비스형 플랫폼(Platform as a Service, PaaS)은 클라우드 컴퓨팅 서비스 분류 중 하나다. 일반적으로 앱을 개발하거나 구현할 때, 관련 인프라를 만들고 유지보수하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공한다.[1][2][3] SaaS의 개념을 개발 플랫폼에도 확장한 방식으로, 개발을 위한 플랫폼을 구축할 필요 없이, 필요한 개발 요소를 웹에서 쉽게 빌려쓸 수 있게 하는 모델이다.
ex)
Software as a service
서비스형 소프트웨어(Software as a Service, SaaS)는 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하는 형태의 소프트웨어 전달 모델이다. 주문형 소프트웨어(on-demand software, 온디맨드 소프트웨어)라고도 한다.
출처 : https://www.whatap.io/ko/blog/9/
프로세스 : 실행중인 프로그램. 프로그램이 메모리로 적재되면 프로세스
스택 : 데이터를 잀적으로 저장하는 영역(지역변수)
힙 : 코드 영역과는 별도의 자유영역
데이터 : 프로그램의 가상 주소 공간(전역변수)
코드 : 실행 명령을 포함하는 메모리거나 목적 파일에 있는 프로그램 영역
프로세스 제어 블록 PCB(Process Control Block) : 특정 프로세스 정보를 저장하는 데이터 블록이나 레코드이다.
프로세스가 생성되면 메모리에 프로세스 제어 블록을 생성하고, 프로세스가 실행을 종료하면 해당 프로세스 제어 블록도 삭제한다.
프로세스 문맥 교환 : 인터럽트나 시스템 호출 등으로 실행중인 프로세스의 제어를 다른 프로세스에 넘겨 실행 상태가 되도록 하는 것
스레드 : 프로세스는 자원과 제어로 구분되는데 제어만 분리한 실행 단위를 스레드라고 한다. 코드, 전역데이터, 힙을 다른 스레드와 공유한다.
사용자 수준 스레드 : 다대일 매핑. 커널이 스레드 존재 모른다. 오버헤드가 작지만 시스템 동시성을 지원하지 않는다.
커널 수준 스레드 : 일대일 매핑. 커널이 스레드와 관련된 모든 작업을 관리한다.
혼합형 스레드 : 다대다 매핑
'책 > 그림으로 배우는 운영체제' 카테고리의 다른 글
운영체제 정리4(메모리 관리) (0) | 2021.06.26 |
---|---|
운영체제 정리3(프로세스 스케줄링) (0) | 2021.06.26 |
운영체제 정리2(병행 프로세스와 상호배제, 교착상태, 기아상태) (0) | 2021.06.25 |