Post

01 OS - 운영체제

01 OS - 운영체제

1. 운영체제

  • 사용자와 하드웨어 사이에서 중간 매개체 역할을 하며, 응용 프로그램의 실행을 제어하고, 자원을 효율적으로 할당 및 관리함. 또한 입출력 제어와 데이터 관리를 포함한 다양한 서비스를 제공하는 소프트웨어
  • 사용자에게 편리한 환경을 제공하고, 시스템 자원을 효율적으로 관리하여 성능을 극대화하며, 제어 서비스의 품질 향상을 위해 지속적으로 발전함.

2. 운영체제의 역할

1. 자원관리

구분주요 역할 및 내용
메모리 관리- 시스템 메모리 자원을 효율적으로 할당 및 회수
- 프로세스 실행에 필요한 메모리 공간 관리
- 저장 장치의 공간 관리 포함
프로세스 관리- 프로세스와 스레드 스케줄링 관리
- 사용자 및 시스템 프로세스 생성과 종료
- 프로세스 중지 및 재개 제어
- 프로세스 간 통신(IPC) 제공
- 교착 상태(데드락) 방지 기법 제공
주변 장치 관리- 임시 저장 장치 기능 제공
- 일반 장치용 드라이버 인터페이스 제공
- 특정 장치 드라이버 관리 및 제공
파일(데이터) 관리- 파일 및 디렉토리 생성과 삭제
- 보조 기억 장치의 파일 매핑
- 안전한 저장 공간에 파일 저장 및 관리

2. 시스템관리

구분주요 역할 및 내용
시스템 보호사용자 권한 부여 및 접근 제어, 보안 관리
네트워킹프로세스 간 통신과 네트워크 데이터 전송 지원
명령 해석기사용자 명령어를 해석하고 실행하는 인터페이스 제공

3. 운영체제의 유형

운영체제 유형설명장점단점
일괄 처리 시스템사용자 작업을 모아 한꺼번에 처리하는 방식.작업 준비 시간 감소, CPU 자원 효율적 사용실시간 처리 불가, 작업 대기 시간 증가
다중 프로그래밍 시스템여러 작업이 메모리에 동시에 올라와 CPU가 번갈아가며 실행CPU 활용 극대화, 시스템 처리 효율 증가메모리 충돌 가능성, 오류 전파 위험
시분할 시스템다중 프로그래밍을 논리적으로 확장, 프로세서가 다중 작업을 교대로 수행함.사용자 응답 속도 향상, 다중 사용자 지원시스템 오버헤드 증가, 실시간 처리에는 부적합
다중 처리 시스템여러 CPU가 병렬로 하나의 작업 혹은 여러 작업을 처리처리 속도 향상, 신뢰성 증가 (CPU 장애 시 다른 CPU로 대체 가능)자원 공유 및 동기화 복잡
실시간 처리 시스템시간 제약 내에 반드시 작업이 할수 있도록 실시간으로 즉시 처리하는 방식정확한 시간 내 응답 가능, 제어 시스템 및 임베디드에 적합개발 복잡, 자원 낭비 위험
분산 시스템여러 컴퓨터가 네트워크로 연결되어 하나의 시스템처럼 작동자원 공유 용이, 확장성 뛰어남네트워크 의존성, 장애 처리 복잡

4. 운영체제 서비스

서비스 구분설명
부팅 서비스컴퓨터 전원을 켰을 때 운영체제를 메모리에 적재하고 초기 환경을 구성함
부팅/부트스트래핑 : 운영체제를 메인 메모리에 적재하는 과정
사용자 서비스- 사용자에게 인터페이스를 제공하고, 편리한 작업 환경 제공
- CLI, GUI, 메뉴인터페이스
시스템 서비스- 시스템 자원을 관리하고 보호하는 내부 기능 제공
- 프로세스/메모리/입출력/파일/네트워크 관리 등
시스템 호출- 응용 프로그램이 운영체제의 기능(서비스)을 사용할 수 있도록 제공하는 인터페이스
- 시스템 콜(System Call)

5. 운영체제의 구조

※ 커널은 운영체제의 가장 핵심적인 부분으로, 하드웨어와 응용 프로그램 사이를 연결해주는 핵심 소프트웨어 계층

1. 단일 구조 운영체제 (Monolithic OS)

구분설명
개념모든 운영체제 기능(파일 시스템, 메모리, 입출력, 프로세스 등)이 하나의 큰 커널 안에서 함께 동작하는 구조
특징- 커널이 모든 기능을 직접 처리구조가 단순하지만 커널 크기가 큼
- 모듈 간 결합도가 높음
- 성능은 좋지만 유지보수 어려움
예시UNIX, MS-DOS

2. 계층 구조 운영체제 (Layered OS)

구분설명
개념운영체제 기능을 계층(Layer)으로 나누어 각 계층이 특정 역할만 담당하도록 분리한 구조
특징- 각 계층은 하위 계층의 기능에만 접근 가능
- 모듈화가 잘 되어 있어 유지보수가 용이
- 설계와 테스트가 체계적
- 성능은 단일 구조보다는 낮을 수 있음
예시THE 시스템, MULTICS 등

3. 마이크로 커널 구조 운영체제 (Microkernel OS)

구분설명
개념운영체제의 핵심 기능(스케줄링, IPC 등)만 커널에 두고, 나머지 기능(드라이버, 파일 시스템 등)은 사용자 공간에서 실행
특징- 커널이 매우 작고, 나머지는 독립된 서비스로 분리
- 안정성 높고, 모듈 교체가 쉬움
- 성능은 떨어질 수 있음 (IPC 오버헤드)
- 보안성/확장성이 우수
예시QNX, MINIX, L4, 현대 Windows NT 기반 구조 (부분적으로 적용됨)
This post is licensed under CC BY 4.0 by the author.