📌
Operating System 목차
OS의 역할
OS: 하드웨어를 잘 관리해 사용자와 응용 프로그램에 서비스를 제공하는 것
- 사용자 인터페이스 관리
- 사용자가 컴퓨터를 보다 쉽게 이용하기 위해 직접적 상호작용 부분인 화면은 더 쉬워야 함
- CUI(CLI) → GUI로 넘어온 상태
- 자원 관리
- 자원은 하드웨어와 소프트웨어로 나뉨
- 하드웨어를 효율적으로, 소프트웨어가 잘 작동하도록 관리하는 주체가 운영체제
- 프로세스 및 스레드 관리
- 프로세스는 프로그램 실행의 주체
- 스레드는 좀 더 가벼운 프로세스
- 시스템 관리
- 보안을 포함한 시스템 관리작업을 수행하는 것도 운영체제의 역할 중 하나
OS의 위치
HW
> OS
> Programs
하드웨어와 어플리케이션 프로그램 사이에 운영체제가 위치
운영체제는 크게 커널과 시스템 콜 인터페이스로 나뉨
커널
: 다양한 기능을 제공, 사용자가 직접 접근 시 문제가 발생할 수 있음
시스템 콜 인터페이스
: 사용자가 커널에 접근해 사용할 수 있는 것들을 모아놓은 것 직접 조작이 아닌 OS에 요청하게끔 해주는 통로(시스템 라이브러리) → 조금 더 알아보기
HW > OS(커널
(자원 관리) > 시스템 콜 인터페이스
) > 어플리케이션 프로그램
OS의 종류
동시 사용자의 수
구분 | 설명 | 예시 |
---|---|---|
Single-user system | 혼자 사용하는 OS | Windows, Android, ios |
Multi-user system | 여러명이 같이 쓰는 OS 호스트 시스템을 사용한다는 의미 서버에서 돌아가는 시스템들을 여럿이서 동시에 사용 자원 관리가 어려움 (누구에게 어떤 자원 할당할 지, 자원 사용의 우선순위 등) | Unix, Linux, Windows server |
동시에 실행할 수 있는 프로그램 수
구분 | 설명 | 예시 |
---|---|---|
Single-tasking system | 한 번에 한 작업만 수행 가능 | MS-DOS, Windows cmd |
Multi-tasking system (Multi-programming system) | 동시에 다중 작업 수행 가능 동시에 여러 작업을 하므로 복잡함(동기화, 동시 수행 관리 등) | Windows, Linux, Unix |
작업 수행 방식(사용자 기준)
구분 | 설명 |
---|---|
순차 처리 시스템(~`1940) | • OS의 개념 없이 기계어로 프로그램 작성부터 하드웨어 관리 등 사용자가 작성 • 다른 작업을 연속해서 수행 시 시간이 오래 걸림 |
배치 시스템(`1950~`1960) | • 특정 단위 만큼의 작업이 모일 시 일괄적으로 처리하는 시스템 • 세팅 시간을 줄일 수 있었음 • 시스템 자원을 공유할 수 있음 • 대기 시간으로 인해 생산성 저하 |
시분할 시스템(`1960~`1970) | • 작업들을 번갈아가며 조금씩 수행해 대기 시간을 줄임 • 배치 시스템보다 사용자 지향적, 대화형 시스템이라 생산성 증가 • 운영체제가 복잡해짐(File System이나 가상 메모리 관리 작업 등) • 통신 비용, 보안 문제, 동시 사용자 수에 따라 시스템 부하 등 문제가 발생 |
퍼스널 컴퓨팅 | • OS를 독점해 사용하는 방식 • 사용자 지원 기능이 중요해서 탄생 • 운영체제가 단순화되고 사용자 편의성 증대 |
병렬 처리 시스템 | • 하나의 시스템에 여러 프로세스를 사용하는 방식 • tightly-coupled system이라고도 불림 • 성능 향상과 신뢰성 향상을 위해 활용 • 프로세서 간 작업을 배분할지의 역할도 추가적으로 지정해야 해 더 복잡함 |
분산 처리 시스템 | • 컴퓨터들을 연결시킨 네트워키 기반의 서비스 • 개별 컴퓨터(node)들의 자원은 독립적으로 존재(OS가 노드마다 존재) • loosely-coupled system이라고도 불림 • 물리적 통신망을 이용하기에 연결은 쉬우나 관리가 어려움 • 관리하는 분산 운영 체제를 통해 하나의 프로그램, 자원처럼 활용 가능 ◦ ex) 클러스터 시스템, 클라이언트 서버 시스템, P2P • 높은 성능, 신뢰성, 확장성 • 구축 및 관리의 어려움 |
실시간 시스템 | • 위 시스템들과 별개로 개선이 아닌 새로운 관점의 작업처리 방식 • 작업 처리에 제한을 둠, 작업 요청 시 무조건 답을 줘야하는 시스템 • 하드 리얼타임 시스템: 시간 안에 결과를 보장하지 못하면 큰 문제가 발생하는 시스템 ◦ ex) 원자력 발전 관련 시스템, 무기 제어 • 소프트 리얼타임 시스템: 시간 내에 결과를 보장 못해도 심각한 문제를 발생하지 않는 시스템 ◦ ex) 동영상 인코더 |
Uploaded by N2T