728x90
운영체제 소개
1. 운영체제란?
컴퓨터 시스템의 구성
- 하드웨어 : cpu, 메모리, 저장장치, 입출력장치, 네트워크 장치 등
- 소프트웨어
- 시스템 소프트웨어 : 윈도우, 맥, 리눅스 등
- 응용 소프트웨어 : 웹브라우저, 뷰어, 파워포인트, 컴파일러 등
- 운영체제 : 대표적인 시스템 소프트웨어. 컴퓨터 시스템 자원 관리, 프로그램이 동작하기 위한 서비스를 제공하는 프로그램
운영체제의 역할
- 컴퓨터 시스템의 자원 관리
- 자원 : 하드웨어 자원, 소프트웨어 자원, 데이터
- ex) 저장장치에서 데이터 읽어오기, 키보드나 마우스 제어, 프로그램 동시 실행 시 cpu 와 메모리 효율적 관리 등
- 컴퓨터 시스템을 효율적으로 운영하는 목적
- 사용자 지원
- 사용자 명령을 해석해서 실행하게 함
- 사용자와 하드웨어 사이의 매개체 역할
- 사용자에게 편의성 제공하는 목적
728x90
컴퓨터 시스템과 운영체제
- 운영체제 없던 시절 : 응용 프로그램이 직접 컴퓨터 시스템 자원 제어
- 응용 프로그램 개발자가 하드웨어 제어 방법을 잘 알아야 함
- 여러 사용자가 하드웨어 공유할 때 자원 분할 어려움
- 운영체제 있는 컴퓨터 시스템
- 하드웨어와 응용프로그램 상에 운영체제 위치
- 운영체제가 컴퓨터 시스템의 자원 제어 : 동시에 사용할 때 사용량 파악 해서 사용하게 함
커널 모드와 사용자 모드
- 커널 모드(슈퍼바이저 모드) : 운영체제의 커널이 동작함
- 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 있는 모드
- 운영체제의 커널이 동작함.
- 사용자 모드(보호 모드) : 응용프로그램이 동작함
- 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 없는 모드
- 하드웨어의 자원을 쓸 수 없음
** 커널이란?
- 커널 모드에서 동작하는 운영체제의 핵심 요소
- 응용프로그램 & 하드웨어 처리 사이의 가교 역할
- 구성방식 : 일체형 커널, 마이크로커널
- 일체형 커널 : 운영체제의 모든 서비스가 커널 내에 포함됨. 운영체제 = 커널
- 장점 : 커널 내부 요소들이 서로 효율적 상호작용
- 단점 : 한 요소라도 오류가 발생하면 시스템 전체에 장애 발생 가능
- 예시 : UNIX, Linux
- 마이크로 커널 : 운영체제 요소의 대부분을 커널 외부로 분리. 메모리 관리, 멀티태스킹, 프로세스 간 통신(IPC) 등 최소한의 요소만 커널 내에 남김
- 장점 : 새로운 서비스 추가해서 운영체제 확장하기 쉬움, 유지 보수 용이하여 안정성 우수
- 단점 : 커널 외부 요소들 사이는 IPC가 필요해서 성능 저하 발생
- 커널모드로 바꿔서 수정하고 다시 사용자모드로 바꿔야 해서 효율적 X
** 시스템 호출 : 운영체제에 서비스를 요청하는 매커니즘. 하드웨어 자원을 제어하고 관리하고 싶을 때
(사용자모드에서 → 커널모드로 갈 때)
2. 운영체제 구성
- 자원의 성격에 따라 구분
프로세스 관리자
** 프로세스 : 실행 중인 프로그램
- 프로세스 생성 및 삭제
- CPU 할당을 위한 스케줄 결정 : 동시에 브라우저, 문서편집기 실행 할 때 CPU의 스케줄 관리
- 프로세스의 상태 관리, 상태 전이 처리
메모리 관리자
- 메모리(주기억장치) 공간에 대한 요구의 유효성 확인
- 메모리 할당 및 회수 : 브라우저 실행 시 브라우저 프로세스 메모리 할당해줌
- 메모리 공간 보호
장치 관리자
- 컴퓨터 시스템의 모든 장치 관리 : 하드디스크, SSD, 키보드, 마우스 등
- 시스템 장치의 할당, 작동, 반환
파일 관리자
- 컴퓨터 시스템의 모든 파일 관리
- 저장장치의 공간 관리
- 파일의 접근 제한 관리
3. 운영체제 유형
일괄처리 운영체제
- Barch processing : 작업을 모아서 순서대로 처리하는 방식
- 나중에 들어온 작업은 앞선 작업 끝날 때까지 진행X
시분할 운영체제
- Time-sharing : 시간분할. 각 사용자의 프로그램을 한번에 조금씩 수행하는 방식
- 대화형 운영체제라고도 함 : 늦게들어와도 바로 반응이 나옴. 대화하는 것 처럼
- 사용자들은 혼자 컴퓨터 사용하는 듯한 느낌을 받음
- 응답시간이 일괄처리 운영체제보다 크게 단축됨
실시간 운영체제
- Real-time : 원하는 시간 내에 프로그램 결과 얻을 수 있는 방식
- 처리 결과가 현재 결정에 영향을 주는 환경에서 사용 : 미사일 제어 시스템, 증권거래 관리 시스템
- 처리 기한 맞추는 것이 중요 : 우선순위 따라 우선 처리 기법 활용
분산 운영체제
분산 시스템 : 2개 이상의 컴퓨터가 네트워크로 서로 연결되어 서로의 자원을 이용하는 시스템
300x250
'RECORDING > 💿운영체제' 카테고리의 다른 글
2. 프로세스와 쓰레드 (0) | 2024.09.26 |
---|