728x90
운영체제(OS, Operating System)
- 컴퓨터 시스템 자원(Hardware, HW) 관리
- 응용 프로그램(Application, App)나 사용자에게 서비스 제공
더보기
컴퓨터 시스템의 구성
- OS : System Call Interface, Kernel, Resource Management
- 사용자가 직접 Kernel에 접근하는 경우 문제가 발생하므로, OS에게 요청하게 되는데, System Call Interface(시스템 라이브러리)를 사용해서 요청
운영체제 역할
- User Interface; 편리성
- CUI : 문자기반
- GUI : 그래픽 기반
- EUCI(End-User Comfortable Interface) : 특별한 목적만을 위해 만들어진 시스템을 위한 UI
- mp3 UI
- Resource Management; 효율성
- HW resources
- SW resources
- Process and Thread(조금 더 가벼운 프로세스) Management
- 시스템 보호
운영체제 구분
1) 동시 사용자 수
- 단일 사용자 시스템(Single-user System)
- 동시에 한 명의 사용자가 모든 시스템 자원 독점
- 자원관리와 시스템 보호 간단
- window 7/ 10, mac os, android 등
- 다중 사용자 시스템(Multi-user System)
- 동시에 여러 사용자 접근
- 구조 복잡, Multitasking 필요
- 서버, 클러스터 장비, unix 등
2) 동시 실행 프로세스 수
- 단일 작업 시스템(Single-tasking System)
- 시스템 내에 하나의 작업만 존재
- 운영 체제 구조 간단
- ms-dos
- 다중 작업 시스템(Multi-tasking System, Multiprogramming System)
- 동시에 여러 작업의 수행 가능(동시 수행, 동기화를 관리해야 함)
- 구조가 복잡
- unix, linux, window 등
3) 작업 수행 방식
- 순차 처리; No Os ~ 1940s
- 운영체제의 개념이 존재하지 않음(사용자가 직접 기계어로 직접 프로그램 작성)
- 실행하는 작업별 순차 처리
- 일괄 처리 시스템(Batch Processing System); 1950s ~ 1960s
- 모든 시스템을 중앙에서 관리 및 운영
- 사용자의 요청 작업을 일정 부분 모아두었다가 한 번에 처리
- 장점
- 많은 사용자가 시스템 자원 공유
- 처리 효율 향상
- 단점
- 생산성 저하(같은 유행의 작업들이 모이기를 기다려야 함)
- 긴 응답 시간(작업 제출, 결과 출력 시간이 길다)
- 시분할 시스템(Time Sharing System)
- 여러 사용자가 시스템 및 가상 메모리 관리
- 사용자 지향적(User-oriented)
- 장점
- 응답시간 단축
- 생산성 향상, 프로세서 유휴 시간 감소
- 단점
- 통신 비용 증가
- 통신으로 인한 보안 문제 발생
- 개인 사용자 관점 체감 속도 저하
더보기
- Personal Computing
- 개인이 시스템 전체 독점
- CPU 활용률이 고려 대상이 아님
- OS가 상대적으로 단순
- 장점
- 빠른 응답시간
- 단점
- 낮은 성능
- 병렬 처리 시스템(Parallel Processing System)
- 시스템 내에서 둘 이상의 프로세서 사용
- 메모리 자원 공유(Tightly-coupled System)
- 장점
- 성능 항상
- 신뢰성 향상(하나가 고장 나더라도 시스템 돌릴 수 있음)
- 단점
- 프로세서간 관계 및 역할 관리 필요
- 확장 한계
- 분산 처리 시스템(Distributed Processing System)
- 네트워크 기반 구축 병렬 처리 시스템.
- 장점
- 자원 공유를 통한 높은 성능
- 고신뢰성, 높은 확정성
- 단점
- 구축 및 관리가 어려움
- 실시간 시스템(Real-time System)
- 작업 처리에 대한 제한 시간(Deadline)을 갖는 시스템
- Hard Real-time System Task
- 시간 제약을 지키지 못하면, 시스템에 치명적인 영향
- 발전소, 무기 제어 등등
- Soft Real-time System Task
- 실시간으로 처리되는 것이 좋지만, 필수는 아님.
- 동영상 재생
- None Real-time Task
- Hard Real-time System Task
- 작업 처리에 대한 제한 시간(Deadline)을 갖는 시스템
운영체제 구조
커널(Kernel)
- os의 핵심(메모리에 상주)
- 가장 빈번하게 사용되는 기능들을 담당함
- 프로세서 , 메모리 관리 등
- 가장 빈번하게 사용되는 기능들을 담당함
- 동의어
- 핵, 관리자 프로그램, 상주 프로그램, 제어 프로그램 등
유틸리티(Utility)
- 비상주 프로그램
- UI 등 서비스 프로그램
- 단일 구조 운영체제
- 장점
- 커널 내 모듈간 직접 통신(빠르고 효율적 자원 관리)
- 단점
- 커널의 거대화(유지보수 문제)
- 동일 메모리에 모든 기능이 들어있어, 한 모듈의 문제가 전체 시스템에 영향을 줄수 있음
- 장점
- 계층 구조 운영체제
- 장점
- 모듈화(검증 및 수정 용이)
- 구현의 단순화
- 단점
- 단일 구조 대비 성능 저하
- 장점
- 마이크로 커널 구조
- 커널 크기의 최소화(필수 기능만 포함)
- 기타 기능은 사용자의 영역에서 수행
운영체제 기능
- 프로세스 관리(Process Management)
- 프로세스이란?
- 커널에 등록된 실행 단위(실행중인 프로그램)
- 사용자 요청/프로그램의 수행 주체(Entuty)
- 프로세스 관리 기능
- 자원할당
- 생성/삭제 상태 관리
- 프로세스간 통신 및 동기화(Sysnchronization)
- 교착상태(deadlock) 해결
- 프로세스이란?
- 프로세서 관리(Processor Management)
- 프로세서란?
- CPU(중앙처리장치) : 프로그램 실행 핵심 자원
- 프로세서 관리 기능
- 프로세스 스케쥴링
- 프로세서 할당 관리
- 프로세스들에 대한 프로세서 할당
- 프로세서란?
- 메모리 관리(Memory Management)
- 메모리란?
- 주 기억장치(Main Memory) : 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
- 메모리 관리 기능
- 프로세스에 대한 메모리 할당 및 회수
- 메모리 여유 공간 관리
- 각 프로세스의 할당 메모리 영역 접근 보호
- 메모리 할당 방법
- 전체 적재
- 장점 : 구현 간단
- 단점 : 제한적 공간
- 일부 적재(Virtual Memory Concept)
- 장점 : 메모리 효율적 활용
- 단점 : 보조기억 장치 접근 필요
- 전체 적재
- 메모리란?
- 파일 관리(File Management)
- 파일이란?
- 논리적 데이터 저장 단위
- 파일 관리 기능
- 사용자 및 시스템의 파일 관리
- 디렉토리 구조 지원
- 파일 생성/삭제
- 파일 접근/조작
- 파일 물리적 저장 공간 사상(Mapping)
- 백업 등
- 파일이란?
- 입출력 관리(I/O Management)
- 프로세스에 직접 입력 불가능 반드시 운영체제를 거쳐서 입력해야 함
- 보조 기억 장치 및 기타 주변 장치 관리
- 디스크, 네트워킹 등
728x90
반응형