운영체제(OS)

jm·2022년 11월 29일
1

OS

목록 보기
1/13

📌운영체제란?

하드웨어를 효율적으로 관리, 컴퓨터시스템의 자원을 효율적으로 관리
사용자에게 편리하고 효과적으로 사용할 수 있는 서비스를 제공하는 시스템 소프트웨어

프로세서 관리.

🖥컴퓨터 하드웨어

🔲프로세서

중앙처리장치(CPU) - 연산 수행, 컴퓨터의 모든 동작 제어
데이터 부분의 레지스터, 연산 장치
제어 부분의 제어 장치
-> 내부버스를 통해 동작 제어 시스템 버스를 통해 외부 연결

레지스터

  • 프로세서 내부에 있는 메모리, 프로세서가 사용할 데이터 저장, 컴퓨터에서 가장 빠른 메모리
  • 종류
    - 용도: 전용, 범용
    - 정보 변경 가능: 가시, 불가시
    - 저장하는 정보: 데이터, 주소, 상태
    사용자 가시 레지스터

📝메모리

  • 주기억장치 (Main Memory)
    • 프로세서가 수행할 프로그램(프로세스) 할당 및 해제
    • 디스크 입출력 병목현상 해소를 위해 디스크와 프로세서 사이의 위치
  • 캐시 (프로세스 내부에 있는 메모리)
    • 메인 메모리 입출력 병목현상 해소
    • 하드웨어적으로 관리됨
    • 캐시히트, 캐시미스
    • 지역성 (locality) 덕분에 캐시가 효율적임
      • 공간적 지역성: 인접한 주소를 참조
      • 시간적 지역성: 한번 참조한 주소 다시 참조
      • 지역성은 캐시 적중률과 밀접!
  • 보조기억 장치
    • 프로그램과 데이터 저장
    • 프로세서가 직접 접근할 수 없음(주변장치)
    • 주기억장치를 거쳐서 접근
  • 메모리 할당 및 관리
  • 가상메모리 관리

🚌시스템 버스

  • 하드웨어의 요소(데이터, 신호)들을 물리적으로 연결하는 통로
  • 데이터버스, 주소버스, 제어버스 로 구성~~

⌨주변장치

나머지 하드웨어들

  • 입력장치(키보드, 마우스, 터치)
  • 출력장치(모니터, 스피커, 프린터)
  • 저장장치(usb, disk)
  • OS관리
    • 장치 드라이버를 관리 (인터페이스 제공)
    • 인터럽트 처리
    • 파일 및 디스크 관리

📌 운영체제의 역할

User Interface(편리성)

  • CUI, GUI, EUCI

Resource management(효율성)

  • HW(processor, memory, I/O divice), SW(file, app, message)

Process and Thread management

  • 프로그램 및 쓰레드 관리

System management(시스템 보호)

System call Interface

사용자가 직접 Kernel을 이용할 수 있게 빼놓은 기능

🛠 운영체제의 구분

작업 수행 방식

순차처리

  • 운영체제 개념이 존재하지 않음, 기계어로 작성, 각각의 작업에 준비 시간이 필요

일괄처리

  • 모든 시스템을 중앙에서 관리
  • 작업을 일정시간 모았다가 한번에 처리
  • 시스템 지향적
    • 장점: 처리효율 향상, 시스템 자원 공유
    • 단점: 생산성 저하(같은 유형의 작업들을 모이기를 기다림.) + 긴 응답시간

시분할 시스템

  • 여러 사용자가 자원을 동시에 사용, OS가 파일 시스템 및 가상 메모리 관리
  • 사용자 지향적: 대화형 시스템(단말기)
    • 장점: 응답시간 단축, 생산성 향상
    • 단점: 비용 증가, 보안 문제, 많이 사용되면 시스템 부하

개인 컴퓨터

  • cpu 활용대신 사용자의 편의성이 더 고려됨
  • 상대적으로 단순해지고 다양한 지원 기능
  • 빠른 응답시간 | 낮은 성능

병렬컴퓨팅

  • 단일 시스템에 둘 이상의 프로세서를 사용
  • 메모리 등 자원 공유
  • 성능향상, 신뢰성향상(대체가 바로가능함)
  • 프로세서간 관계 및 역할 관리 필요

분산컴퓨팅

  • 네트워크 기반으로 구축된 병렬처리 시스템
  • 붙이기 쉬움, 각각 운영체재를 탑재한 범용 시스템으로 구성
  • 사용자는 분산운영체제를 통해 하나의 자원처럼 사용가능
  • 슈퍼컴퓨터, 클라이언트서버 등
  • 자언 공유를 통한 높은성능, 높은 신뢰성 및 확장성 | 구축 및 관리가 어려움

실시간 시스템

  • 작업처리에대한 제한 시간을 갖음, 자원보다 시간이 중요할 때(발전소, 생명, 무기제어, 동영상)

📌 운영체제의 구조

커널(kernel, 알맹이)
  OS의 핵심 부분(메모리에 상주), 가장 빈번하게 사용되는 기능들(processor, memory)
유틸리티(Utility)
  비상주 프로그램, UI

단일 구조

  • 하나의 커널에 모든 기능 모아둠
    • 장점: 커널안에서 모듈간 직접 통신(효율적 자원관리 및 사용)
    • 단점: 커널의 거대화(오류, 버그 등 유지보수 어려움), 한 모듈의 문제가 전체시스템에 영향을 줌

계층 구조

  • 0 하드웨어 > 1 프로세서 > 2 메모리 > 3 메시지 해석기 > 4 입출력 > 5 응용프로그램(사용자)
    • 장점: 모듈화(계층간 검증 및 수정 용의), 설계 미치 구현의 단순화
    • 단점: 단일구조 대비 성능 저하(여러 계층 거쳐야함)

마이크로 커널 구조

  • 커널의 크기를 최소화
    • 필수 기능만 포함, 기타 기능은 사용자 영역에서 수행

📌 운영체제의 기능

프로세스 관리

  • 프로세스
    • 커널에 등록된 실행 단위 (실행 중, 실행 대기 중인 프로그램)
    • 사용자 요청/ 프로그램의 수행 주체(entity)
  • 📌OS의 프로세스 관리기능
    • 생성/삭제, 삭제 관리
    • 자원할당
    • 프로세스 간 통신 및 동기화
    • 교착 상태(Deadlock) 해결
  • 프로세스 정보 관리
    • PCB(Process Control Block)

프로세서 관리

  • 중앙 처리 장치(CPU, 프로그램을 실행하는 핵심 자원)
  • 프로세스 스케줄링(프로세스 처리 순서 결정)
  • 프로세서 할당 관리 (프로세스들에 대한 프로세스 할당, 한번에 하나의 프로세스만 사용가능)

메모리 관리

  • 주기억장치
    • 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
    • cpu가 직접 접근할 수 있는 기억장치
  • Multi-user, Muti-tasking 시스템
    • 프로세스에 대한 메모리 할당 및 회수
    • 메모리 여유공간 관리
    • 각 프로세스의 할당 메모리 영역 접근 보호
  • 메모리 할당 방법(scheme)
    • 전체 적재 (구현이 간단하나 공간이 제한적)
    • 일부 적재 (메모리를 효율적으로 활용할 수 있음, 단 보조기억 장치 접근이 필요함)

파일 관리

  • 논리적 데이터 저장 단위
  • 사용자 및 시스템의 파일 관리
  • 디렉터리 구조 지원
  • 파일 관리 기능

입출력 관리

  • 반드시 OS를 거쳐야 함

https://youtu.be/EdTtGv9w2sA [Course] Operating System (CPA310) - 운영체제 강의. HPC Lab. KOREATECH

profile
ㅎㅎ

0개의 댓글