운영 체제 소개
임베디드 운영 체제
- CPU 성능이 낮고 메모리 크기가 작은 시스템에 내장되도록 설계된 운영 체제
- 임베디드 운영 체제가 있는 기계는 계속해서 기능을 향상시킬 수 있습니다.
운영 체제의 필요성
- 운영 체제 없이 작동하지만 기능에 제한이 있습니다.
- 운영 체제가 있는 기계는 다양한 응용 프로그램을 설치하여 사용할 수 있습니다.
성능 향상을 위해 새로운 기능을 추가할 수 있습니다. - 운영 체제는 리소스를 관리합니다.
-> 사용자가 직접 리소스에 접근하지 못하도록 하여 리소스 보호 - 사용자 친화적인 인터페이스 환경 제공
-> 사용자 인터페이스 및 하드웨어 인터페이스를 사용하여 리소스에 액세스할 수 있습니다.
운영 체제의 정의
: 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스 제공
결과를 반환하는 시스템 소프트웨어
운영 체제의 역할
- 자원 관리(효율성)
-> 자원을 적절한 순서로 할당하고 회수하여 관리한다.
적은 리소스로 많은 작업을 수행합니다. - 자원 보호(안정성)
-> 비정상적인 동작으로부터 컴퓨터 자원 보호
시스템에 문제가 발생했을 때 이전 상태로 되돌리는 기능을 수행합니다. - 하드웨어 인터페이스 제공(확장성)
-> 사용자는 복잡한 과정 없이 다양한 장치(CPU, 메모리, 키보드, 마우스)를 사용할 수 있습니다.
쉬운 추가 또는 제거를 위한 하드웨어 인터페이스 제공 - 사용자 인터페이스 제공(편리성)
-> 사용자가 편리하게 작업할 수 있는 환경 제공
예) GUI(그래픽 사용자 인터페이스)
운영 체제 기록
1. 초기 컴퓨터 ‘ENIAC’
- 운영 체제 없음
- 백열전구 모양의 진공관이라는 소자를 이용해 진공관이 켜져 있으면 1, 꺼져 있으면 0을 판단한다.
2. 천공 카드 시스템
- 펀치 카드 리더기를 입력 장치로, 라인 프린터를 출력 장치로 사용
- 일괄 운영 시스템
-> 모든 작업을 한 번에 처리합니다.
사용자가 실행 중에 데이터를 입력하거나 수정할 수 없는 시스템 - 운영 체제 사용
3. 인터랙티브 시스템
- 모니터와 키보드
-> 프로그램이 실행되는 동안 사용자로부터 입력을 받을 수 있습니다.
입력값에 따라 업무의 흐름을 바꿀 수 있는 시스템 - 다양한 종류의 응용 프로그램을 만들 수 있습니다.
4. 시간 공유 시스템
- 전경
-> 하나의 CPU로 동시에 여러 작업을 수행하는 기술
-> CPU 시간은 작업으로 나누어 모든 작업이 동시에 처리되는 것처럼 보입니다.
5. 분산 시스템
- 네트워크에 분산된 여러 대의 컴퓨터에서 작업을 처리하고 결과를 교환하도록 구성된 시스템입니다.
6. 클라이언트/서버 시스템
- 네트워크에 분산된 여러 대의 컴퓨터에서 작업을 처리하고 결과를 교환하도록 구성된 시스템입니다.
-> 웹 시스템
7. P2P 시스템
- 클라이언트-서버 구조의 약점인 서버 과부하를 해결하기 위해 만든 시스템
-> 서버를 거치지 않고 사용자 간 직접 연결
예) 메신저, 파일공유
8. 그리드 컴퓨팅
- 필요한 기간 동안만 컴퓨터를 사용할 수 있고 사용한 만큼만 비용을 지불하는 컴퓨팅 환경.
- 서로 다른 유형의 컴퓨터를 결합하여 대규모 컴퓨터 풀 형성
원격지에 연결하여 대용량 연산을 수행하는 컴퓨팅 환경 - 그리드는 하드웨어와 같은 컴퓨팅 환경의 통합입니다.
SaaS(Software as a Service)를 통해 사용자는 필요할 때 필요한 소프트웨어 기능만 사용할 수 있습니다.
사용한 기능에 대해서만 비용을 지불하는 개념
9. 클라우드 컴퓨팅
- 언제 어디서나 애플리케이션과 데이터를 자유롭게 사용할 수 있는 컴퓨팅 환경.
그리드 컴퓨팅과 SaaS의 결합 - 디바이스(PC, 스마트기기) 간 데이터 이동도 자유로운 컴퓨팅 환경
10. 사물 인터넷
- 사물에 센서와 통신 기능을 내장하여 인터넷으로 연결하는 기술
- 예) 기차나 버스의 예상도착시간 표시
스마트폰으로 각종 전자제품을 제어하거나 알림 문자를 받을 수 있는 서비스
커널과 인터페이스
핵심
프로세스 관리, 메모리 관리 및 스토리지 관리와 같은 운영 체제의 핵심 기능 모음입니다.
- 공정 관리
- 메모리 관리
- 파일 시스템 관리
- I/O 관리
- 프로세스 간 통신 관리
커널의 구조
모놀리식 구조(초기)
- 커널의 핵심 기능을 구현하는 모듈들은 구분 없이 하나로 구성된다.
- 장점 : 모듈간 통신비용 절감으로 효율적인 운용이 가능
- 불리:
1. 버그나 오류는 응집력이 있어 처리가 어렵다.
2. 많은 기능이 서로 연결되어 있고 상호 의존도가 높기 때문에
기능의 작은 결함이 시스템 전체에 퍼질 수 있습니다.
3. 다양한 환경의 시스템에 적용하기 어려움
계층 구조
- 유사한 기능을 가진 모듈들을 하나의 레이어로 묶고, 레이어간 통신을 통해
운영 체제를 구현하는 방법

미세 구조
- 커널의 각 모듈은 세분화되어 존재하며, 프로세스 간 통신을 통해 모듈 간 정보 교환이 이루어진다.

상호 작용
: 사용자 명령을 커널에 전달하고 실행 결과를 사용자에게 알려줍니다.
가상 기기
- 운영 체제와 응용 프로그램 사이에서 작동하는 프로그램
- 가상 머신을 설치하면 모든 애플리케이션이 동일한 환경에서 작동하는 것처럼 보입니다.
