운영체제의 역할
- 편리성
- 사용자에게 편리한 환경 제공
- User Interface
- 효율성
- 프로세스와 쓰레드 관리
- 시스템 보호
운영체제의 구분
- 동시 사용자 수
- Single-user system: 한명의 사용자만 시스템 사용 가능
- Multi-user system: 동시에 여러 사용들이 시스템 사용, 서버나 클러스터 장비
- 동시 실행 프로세스 수
- Single-tasking system: 시스템 내에 하나의 프로세스만 존재
- Multi-tasking system: 동시에 여러 프로세스 수행 가능
- 작업 수행 방식(사용자가 느끼는 사용 환경)
- Batch processing system (일괄 처리)
- Time-sharing system (시분할)
- Distributed processing system (분산 처리)
- 네트워크를 기반으로 구축된 병렬처리 시스템(병렬처리란 둘 이상의 프로세서 사용하는것)
- 각각 운영체제 탑재한 다의 범용 시스템으로 구성
- Cluster system(슈퍼 컴퓨터), client-server system
- Real-time system (실시간)
- 작업 처리에 제한 시간을 갖는 시스템
- Hard real-time task
- Soft real-time task
운영체제의 구조
- Kernel (커널)
- OS의 핵심 부분으로 가장 빈번하게 사용되는 기능들을 담당하고 있으며 메모리에 상주한다.
- Utility (유틸리티)
- 운영체제에서 Kernel이 담당하고 있는 기능들을 제외한 부분을 담당하고 있다.
- 사용자는 System call interface를 통해 운영체제에서 제공하는 기능을 사용한다.
-
운영체제의 3가지 구조
- 단일 구조
- 커널 내 모듈간 직접 통신하기 때문에 효율적이라는 장점을 갖고 있지만, 커널이 거대해지고 오류나 버그, 추가 기능 구현이 어렵다는 단점이 존재한다.
-
계층 구조
- 모듈화를 통해 유지보수에 유리하지만 원하는 기능 수행을 위해 여러 계층을 거쳐야 하는 문제점이 있다.
운영체제의 기능
- 프로세스 관리
- 프로세서 관리
- 프로세스 스케줄링: 시스템 내의 프로세스 처리 순서 결정
- 프로세서 할당 관리: 프로세스들에 대한 프로세서 할당
- 메모리 관리
- 파일 관리
- 입출력 관리
- 보조 기억 장치 및 기타 주변 장치 관리 등
프로세서와 프로세스의 차이
프로세서는 컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛이다.
프로세스는 특정 목적을 수행하기 위해 나열된 작업의 목록입니다. 작업의 목록(과)이 파일로 저장되어 있으면 '프로그램', 메모리에 적재되어 실행 중 이거나 실행 대기 중일 땐 '프로세스' 라고 부릅니다.즉 프로세스는 프로세서에 의해 실행 중인 프로그램 이라고 정리할 수 있습니다.
- 프로그램 실행
- 파일로 저장되어 있던 프로그램은 로더에 의해 메모리에 적재되고 처음 실행되어야 할 기계어 코드가 저장된 메모리 주소를 CPU IP(명령주소) 레지스터에 저장합니다.
- 프로세서는 IP 레지스터가 가리키고 있는 메모리 주소에서 처음 실행할 명령어를 가져와 IR(명령 레지스터)에 저장합니다.
- IR에 저장된 명령어를 실행하고 다음번에 실행할 명령어 주소를 IP에 저장한다.
- 3-4를 반복한다.
참고