1. 운영체제 개요

2023. 4. 13. 17:28운영체제

728x90

운영체제 소개

 

임베디드 운영체제 

  • CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제
  • 임베디드 운영체제가 있는 기계는 기능을 계속 향상할 수 있음

운영체제의 필요성

  • 운영체제가 없어도 작동하지만 기능에 제약이 따른다.
  • 운영체제가 있는 기계는 다양한 응용 프로그램을 설치하여 사용 가능
    성능 향상을 위한 새로운 기능 추가 가능
  • 운영체제는 자원을 관리
    -> 사용자가 직접 자원에 접근하는 것을 막음으로써 자원 보호
  • 사용자에게 편리한 인터페이스 환경 제공
    -> 사용자 인터페이스와 하드웨어 인터페이스를 이용하여 자원 접근 가능

운영체제의 정의

: 사용자에게 컴퓨터 자원을 사용할 수 있는 인터페이스를 제공하고 

그 결과를 돌려주는 시스템 소프트웨어

 


운영체제의 역할

  • 자원 관리 (효율성)
    -> 적당한 순서로 자원 배분하고 회수하여 관리.
    적은 자원으로도 많은 작업량을 처리하도록. 
  • 자원 보호 (안정성)
    -> 비정상적인 작업으로부터 컴퓨터 자원을 보호
    시스템에 문제가 생겼을 때 이전으로 복구하는 기능 수행.
  • 하드웨어 인터페이스 제공 (확장성)
    -> 사용자가 복잡한 과정 없이 다양한 장치(CPU, 메모리 키보드 마우스)를
    추가 또는 제거하기 편하도록 하드웨어 인터페이스 제공
  • 사용자 인터페이스 제공 (편리성)
    -> 사용자가 편리하게 작업하도록 환경 제공
    예) GUI (그래픽 사용자 인터페이스)

운영체제 역사

1. 초창기 컴퓨터 '에니악'

  • 운영체제 없음
  • 백열전구 같은 모양의 진공관이라는 소자를 사용하여 진공관이 켜지면 1 꺼지면 0이라고 판단

 

2. 천공카드 시스템

  • 천공카드 리더를 입력장치로 , 라인 프린터를 출력장치로 사용
  • 일괄 작업 시스템
    -> 모든 작업을 한꺼번에 처리.
    실행 중간에 사용자가 데이터를 입력하거나 수정하는 것이 불가능한 시스템
  • 운영체제 사용

 

3. 대화형 시스템

  • 모니터와 키보드 등장
    -> 프로그램이 진행되는 도중에 사용자로부터 입력을 받을 수 있어 
    입력값에 따라 작업의 흐름을 바꾸는 것이 가능한 시스템
  • 다양한 종류의 응용 프로그램을 만들 수 있게 됨

 

4. 시분할 시스템

  • 다중 프로그래밍
    -> 하나의 CPU로 여러 작업을 동시에 실행하는 기술
    -> CPU 사용 시간을 잘게 쪼개어 작업들에 나누어줌으로써 모든 작업이 동시에 처리되는 것처럼 보임

 

5. 분산 시스템

  • 네트워크상에 분산되어 있는 여러 컴퓨터로 작업을 처리하고 그 결과를 상호 교환하도록 구성한 시스템

 

6. 클라이언트/서버 시스템

  • 작업을 요청하는 클라이언트와 거기에 응답하여 요청받은 작업을 처리하는 서버의 이중구조로 나뉨
    -> 웹 시스템

 

7. P2P 시스템

  • 클라이언트 서버 구조의 단점인 서버 과부하를 해결하기 위해 만든 시스템
    -> 서버를 거치지 않고 사용자와 사용자를 직접 연결
    예) 메신저, 파일 공유

 

8. 그리드 컴퓨팅

  • 필요한 기간만큼만 컴퓨터를 사용하고 사용한 금액만큼만 돈을 지불할 수 컴퓨팅 환경
  • 서로 다른 기종의 컴퓨터들을 묶어 대용량의 컴퓨터 풀을 구성하고 
    이를 원격지와 연결하여 대용량 연산을 수행하는 컴퓨팅 환경
  • 그리드는 하드웨어적인 컴퓨팅 환경의 통합.
    SaaS(Software as a Service)는 사용자가 필요한 소프트웨어 기능만을 필요할 때 이용하고
    이용한 기능만큼만 비용을 지불하는 개념

 

9. 클라우드 컴퓨팅

  • 언제 어디서나 응용 프로그램과 데이터를 자유롭게 사용할 수 있는 컴퓨팅환경으로
     그리드 컴퓨팅과 SaaS를 합쳐 놓은 형태

  • 데이터 또한 기기들(PC, 스마트기기) 사이에서 자유롭게 이동이 가능한 컴퓨팅 환경

 

10. 사물 인터넷

  • 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술
  • 예) 전철이나 버스의 도착 예정시간을 표시한다던가 
    각종 전자제품을 스마트 폰으로 제어하거나 알림 문자를 받는 서비스

커널과 인터페이스

커널

: 프로세스 관리 메모리 관리 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것

  • 프로세스 관리
  • 메모리 관리
  • 파일 시스템 관리
  • 입출력 관리
  • 프로세스 간 통신 관리

커널의 구조

 

단일형 구조(초창기)

  • 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성
  • 장점: 모듈 간의 통신 비용이 줄어들어 효율적인 운영이 가능
  • 단점:
    1. 하나로 묶여 있기 때문에 버그나 오류를 처리하기가 어려움.
    2. 여러 기능이 서로 연결되어 있어 상호 의존성이 높기 때문에
    기능상의 작은 결함이 시스템 전체로 확산될 수 있음
    3. 다양한 환경의 시스템에 적용하기 어려움

계층형 구조

  • 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고 계층 간의 통신을 통해
    운영체제를 구현하는 방식
  • 모든 서비스는 커널이 직접관리 

마이크로 구조 

  • 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능은 사용자가 직접 관리 가능해짐
  • 커널의 각 모듈은 세분화되어 존재하고 모듈 간의 정보 교환은 프로세스 간 통신을 이용하여 이루어짐

인터페이스

: 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할

 


가상머신

  • 운영체제와 응용 프로그램 사이에서 작동하는 프로그램
  • 가상머신을 설치하면 응용 프로그램이 모두 동일한 환경에서 작동하는 것처럼 보임

728x90

'운영체제' 카테고리의 다른 글

교착상태 (deadlock)  (1) 2023.05.29
5. 프로세스 동기화  (0) 2023.04.14
4. CPU 스케줄링  (0) 2023.04.14
3. 프로세스와 스레드  (2) 2023.04.13
2. 컴퓨터 구조와 성능 향상  (2) 2023.04.13