기능 | 설명 |
---|---|
프로세스 관리 | 여러 프로그램(프로세스)들이 CPU를 효율적으로 사용하게 스케줄링 |
메모리 관리 | 각 프로그램이 사용할 메모리를 할당하고 해제 |
저장장치 관리 | 파일 시스템을 통해 데이터 저장 및 접근 제어 |
입출력(I/O)관리 | 키보드, 마우스, 디스크, 네트워크 등 장치와의 통신관리 |
사용자 인터페이스 제공 | CLI OR GUI를 통해 사용자가 시스템과 상호작용 |
보안 및 권한 관리 | 사용자 인증, 권한 제어 등 시스템 보호 |
분류기준 | 종류 및 설명 |
---|---|
대상 장치 | PC용 > Window, macOS, Linux 모바일 > Android, iOS 서버용 > Ubuntu Server, CentOS, Red Hat |
사용자 수 | 단일 사용자 OS, 다중 사용자 OS |
작업 처리 방식 | 단일 작업 OS, 다중 작업 OS |
인터페이스 | CLI 기반 > Linux 서버, Window CMD GUI 기반 : Windows, macOS |
역할 | 설명 |
---|---|
통신 지원 | 네트워크 상의 애플리케이션들이 데이터를 주고받을 수 있도록 도와줌 |
데이터 변환/중재 | 시스템간 형식이 다른 데이터를 변환하거나 정제 |
보안 관리 | 인증, 권한 부여, 암호화 기능 제공 |
트랜잭션 처리 | 여러 작업을 하나의 트랜잭션으로 묶어 처리, 일관성 유지 |
세션/상태 관리 | 클라이언트와 서버 간의 연결 상태 유지 |
로드밸런싱/장애 대응 | 시스템 부하 분산, 장애 발생시 우회 처리 |
종류 | 예시 | 설명 |
---|---|---|
웹 미들웨어 | Apache, Nginx, IIS | 웹 요청 처리, 정적 파일 서비스 |
애플리케이션 서버 | Tomcat, WebLogic, JBoss | JSP/Servlet, java 애플리케이션 실행 |
메시지 미들웨어 | Kafaka, RabbitMQ, ActiveMQ | 비동기 메시지 전달 및 큐잉 |
DB 미들웨어 | MyBatis, Hibernate | DB와 어플리케이션 간 데이터 매핑 |
트랜잭션 처리기 | Tuxedo, CICS | 여러 시스템간 일괄 처리 보장 |
API Gateway | Kong, Apigee | 여러 API를 통합 관리하고 인증, 로깅 등 수행 |
종류 | 설명 |
---|---|
운영체제(OS) | 하드웨어를 제어하고 리소스 관리 |
미들웨어 | OS와 애플리케이션 사이에서 연결 및 통신 지원 |
애플리케이션 | 실제 사용자 기능을 제공하는 프로그램(EX. 쇼핑몰, 메신저) |
항목 | 설명 |
---|---|
자원 절약 | 물리 서버 하나로 여러 VM을 운영 가능함 |
독립성 | VM간 영향이 없음(하나 죽어도 다른 VM은 정상적으로 운영 가능) |
유연성 | VM 생성/삭제, 복제, 스냅샷 등 간편함 |
보안성 | 서로 격리된 환경 제공 |
항목 | 설명 |
---|---|
경량화 | 가상머신보다 가벼움(OS 불필요) |
빠른 실행 | 수초 내에 컨테이너 실행이 가능함 |
이식성 | 어디서나 실행이 가능함(DEV -> PROD) |
쉬운 유지보수 | 애플리케이션 단위로 버전 관리 및 롤백 가능 |
확장상 우수 | 쿠버네티스로 수십~수천개의 컨테이너 관리 가능 |
항목 | 가상화(vm) | 컨테이너 |
---|---|---|
실행 단위 | OS 단위 | 애플리케이션 단위 |
무게감 | 무거움(전체 OS 포함) | 가벼움(OS 제외) |
부팅 속도 | 수십초~수분 | 수초 이내 |
자원 효율 | 낮음 | 높음 |
보안 격리 | 강함(완전한 OS 격리) | 상대적으로 약함(커널 공유) |
대표 기술 | VMware, Hyper-V, KVM | Docker, Kubernetes |
항목 | 이유 |
---|---|
장애 조기 감지 | CPU 과부하, 디스크 풀 등의 위험 상황 빠르게 감지 |
알림 기능 | 문제 발생시 이메일/슬랙/문자 등으로 알림 제공 |
트렌드 분석 | 장기간 데이터를 기반으로 성능 변화 OR 병목 지점 분석 |
운영 자동화 | 자동 재시작, 스케일링, 정책 적용 등 가능 |
보안 감시 | 비정상적인 접근이나 이상 트래픽 탐지 가능 |
항목 | 이유 |
---|---|
리소스 모니터링 | CPU, 메모리, 디스크, 데트워크 사용량 등 확인 |
로그 수집/분석 | 애플리케이션 및 시스템 로그 수징, 필터링, 분석 |
알림(Notification) | 특정 조건 이상 시 이메일, 슬랙 등 알림 |
시각화 대시보드 | 데이터를 시각적으로 확인 가능(그래프, 차트) |
이벤트/장애 이력 관리 | 과거 장애 기록과 대응 로그 보관 |
자동화 스크립트 연동 | 이상 감지시 자동 조치 가능(재부팅 등) |
하드웨어 | 펌웨어 역할 |
---|---|
스마트폰 | 부팅 초기화, 버튼/카메라 제어 등 |
공유기 | 네트워크 연결, 포트 제어, 관리자 설정 |
TV 리모컨 | 버튼 누름 -> 적위선 신호 전송 제어 |
프린터 | 문서 데이터 받아서 프린터 헤드/모터 제어 |
SSD/HDD | 데이터 읽기/쓰기 방식 제어, 캐시 관리 |
BIOS/UEFI | PC 부팅 시 초기 하드웨어 제어 및 OS 로딩 |
구분 | 하드웨어 | 펌웨어 | 소프트웨어 |
---|---|---|---|
정의 | 기계 장치 | 하드웨어를 제어하는 프로그램 | 운영체제나 앱 등 |
위치 | 회로, 부품 | 하드웨어 내부 메모리 | 디스크, 메모리 |
예시 | CPU, 메모리, 센서 | BIOS, SSD 제어, TV OS | Windows, Android, Excel |
업데이트 | 불가 | 가능(업그레이드 필요) | 쉽게 가능함 |