1. 운영체제의 정의
1) 생활 속 운영체제
• 운영체제(Operating System; OS)는 컴퓨터, 노트북, 스마트폰의 전원을 켜면 가장 먼저 실행되는 소프트웨어
• 컴퓨터가 켜질 때 적재되어 모든 프로그램의 실행을 제어하고 사용자의 요청을 처리하는 역할
• 운영체제가 없으면 컴퓨터는 사용할 수 없음
• PC 운영체제: 윈도우, Mac OS, 유닉스, 리눅스 등
• 모바일 운영체제: iOS, 안드로이드 등
• 임베디드 운영체제: CPU 성능이 낮고 메모리 크기가 작은 시스템을 위해 설계된 운영체제로, 효율적이고 안정적인 작동을 보장함
2) 운영체제란?
• 컴퓨터 전체를 관리하고 운영하는 소프트웨어
• 응용 프로그램과 사용자에게 자원을 숨기고 보호하며, 다양한 인터페이스를 제공
• 하드웨어 없이 작동할 수 없어 펌웨어(firmware) 형태로 운영됨
• 운영체제는 커널(kernel)과 인터페이스(interface)로 구성됨
- 커널: 운영체제의 핵심 기능을 담당하며, 컴퓨터 자원을 관리하고 시스템 호출 및 메모리 제어 수행
- 인터페이스: 사용자와 응용 프로그램이 커널을 통해 자원에 접근하도록 지원
• 응용 소프트웨어는 사용자의 특정 목적을 수행하는 프로그램이며, 운영체제는 하드웨어와 파일 등의 자원을 관리하는 역할
3) 운영체제와 응용 소프트웨어의 차이
• 운영체제: 컴퓨터 하드웨어 및 응용 소프트웨어의 자원을 관리하며, 메모리, 프로세스, 파일 시스템, 입출력 장치 등의 기능을 수행
• 응용 소프트웨어: 사용자의 특정 작업(게임, 웹 서핑, 문서 작성 등)을 편리하게 수행하도록 설계됨
4) 운영체제의 정의
• 사용자와 하드웨어 사이의 매개체 역할을 하며, 응용 프로그램 실행을 제어하고 자원 할당 및 관리 수행
• 사용자 인터페이스(UI)를 통해 사용자와 소통
• 운영체제의 역할
- 조정자: 운영 요소를 제어하고 사용자 및 응용 프로그램과의 통신을 지원
- 자원 관리자: 응용 프로그램에 필요한 자원 할당 및 회수
- 입출력 장치 제어자: 다양한 입출력 장치와 응용 프로그램을 제어
5) 운영체제의 발전 현황
•하드웨어 가격 하락 및 프로세서 성능 향상으로 분산 처리, 병행 처리, 다중 처리 등의 기술 발전
2. 운영체제의 역할
1) 운영체제의 주요 역할
• 하드웨어, 사용자, 응용 프로그램, 시스템 프로그램 간 인터페이스 제공
• 컴퓨터 자원을 효율적으로 관리
• 메일 전송, 파일 시스템 검사, 서버 작업 등 다양한 서비스 제공
• 다중 사용자 환경에서 데이터 보호 및 입출력 제어 수행
2) 운영체제의 목표
• 효율성: 최소한의 자원으로 최대한의 작업 수행
• 안정성: 오류 발생 시 복구 기능 제공 및 보안 강화
• 확장성: 다양한 시스템 자원을 쉽게 추가 및 제거 가능
• 편리성: 사용자 친화적 환경 제공
3. 운영체제의 서비스
1) 운영체제가 제공하는 서비스
• 부팅 서비스: 운영체제를 메모리에 적재하여 실행 환경을 제공
• 사용자 서비스: 프로그래밍 작업을 쉽게 수행하도록 지원
• 시스템 서비스: 시스템의 효율적 동작을 보장
• 시스템 호출: 프로그램이 운영체제의 기능을 활용할 수 있도록 지원
2) 부팅 서비스
• 운영체제를 메인 메모리에 적재하는 과정
• 부트 로더(Boot Loader): 하드디스크에서 운영체제를 실행하는 프로그램
3) 사용자 서비스
• 사용자 인터페이스 제공
- CLI(Command Line Interface): 명령어를 입력하여 시스템을 제어하는 방식
- GUI(Graphical User Interface): 그래픽 요소를 이용한 직관적인 인터페이스
- 터치스크린 인터페이스, 음성 인터페이스 등 다양한 방식 제공
• 프로그램 실행: 응용 프로그램을 메모리에 적재하고 프로세서를 할당하는 역할 수행
• 입출력 동작 수행: 키보드, 마우스, 모니터 등과의 인터페이스 제공
• 파일 시스템 조작: 파일 생성, 저장, 삭제 등의 작업을 지원
• 통신(네트워크): 프로세스 간 정보 교환을 지원
• 오류 탐지 및 처리: 하드웨어 및 소프트웨어 오류를 탐지하고 복구 기능 제공
4) 시스템 서비스
• 자원 할당: 여러 프로그램이 동시에 실행될 때 적절한 자원 분배
• 계정 관리: 사용자의 자원 사용 기록 관리
• 보호 및 보안: 다중 사용자 환경에서 데이터 보호 및 인증 기능 제공
4. 시스템 호출(System Call)
1) 시스템 호출의 개념
• 실행 중인 프로그램과 운영체제 간의 인터페이스(API 역할 수행)
• 응용 프로그램이 운영체제의 기능을 사용하기 위해 요청하는 과정
2) 시스템 호출의 기능
• 프로세스 제어: 프로세스 생성, 실행, 종료 등의 기능 제공
• 파일 조작: 파일 생성, 삭제, 읽기, 쓰기 등의 작업 지원
• 장치 조작: 장치 읽기, 쓰기, 속성 변경 등의 기능 수행
• 정보 관리: 시스템 정보 및 프로세스 속성 관리
• 통신 기능: 프로세스 간 메시지 송수신 및 네트워크 통신 지원
3) 시스템 호출의 실행 과정
• 응용 프로그램이 시스템 호출을 요청
• 운영체제가 요청을 확인하여 해당 기능 수행
• 수행 결과를 응용 프로그램에 반환
이 내용은 휴넷사회복지평생교육원의 운영체제 강의를 듣고 정리한 것입니다.
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 6. 프로세스의 연산과 스레드 (1) | 2025.02.20 |
---|---|
[운영체제] 5. 프로세스의 개념 (0) | 2025.02.20 |
[운영체제] 4. 컴퓨터 성능 향상 (0) | 2025.02.19 |
[운영체제] 3. 컴퓨터의 구조 (0) | 2025.02.18 |
[운영체제] 2. 운영체제의 구성 (1) | 2025.02.17 |