[OS] Lecture 2. OS Overview (2/2)

2022. 1. 26. 10:38·OS

운영체제의 역할

컴퓨터 시스템 자원을 관리해서 사용자에게 서비스 제공

 

- 편리성 (User Interface): CUI, GUI, EUCI

- 효율성 (Resource management): Hw resource, SW resource

- 프로세스(실행 주체)와 thread management

- 시스템 보호(System management)

 

컴퓨터 시스템의 구성

 

System Call Interface

- 사용자가 직접 커널에 접근을 막는다. 필요한 기능이 있으면 OS에 요청.

- 커널이 제공하는 기능 들 중 사용자가 사용할 수 있는 기능들을 모아 놓은 집합.

- SCI은 요청의 통로.

 

운영체제의 구조

1. 커널: OS의 핵심부분. 가장 빈번하게 사용되는 기능 담당. 리소스 관리(processor, memory, ...)

2 유틸리티(커널 외): 비상주 프로그램. UI 등 서비스 프로그램 

커널 분류

1. 단일 구조: 커널에 모든 모듈이 포함

장점: 커널 내 모듈 간 직접 통신. 효율적인 자원 관리 및 사용

단점: 커널의 거대화. 오류, 추가 기능 구현 등 유지보수가 어려움. 한 모듈 문제가 전체 시스템에 영향

 

2. 계층 구조: 기능 별로 따로 계층적으로 묶자!

장점: 모듈화. 계층 간 검증 및 수정 용의. 설계 및 구현 단순화

단점: 단일구조 대비 성능 저하. 원하는 기능 수행을 위해 여러 계층을 거쳐야 함

 

3. 마이크로 커널 구조

커널의 크기 최소화

: 커널의 거대화 문제 해결-> 커널에는 필수 기능만 담고, 기타 기능은 사용자 영역에서 수행 

필수 기능: 메모리 관리, 프로세스 간 통신, 프로세스 관리

기타 기능: 파일 시스템, 프로세서 스케줄링, 장치 관리자


운영체제의 기능==관리! 관리! 관리! 

1. 프로세스 관리

- 프로세스: 커널에 등록된 실행 단위(실행 중인 프로그램). 사용자 요청/프로그램의 수행 주체

- 교착상태(deadlock) 해결: 하나의 자원을 여러 프로세스가 동시에 접근할 때

- 프로세스 정보 관리: PCB(Process Control Bloc)

 

2. 프로세서 관리

- 프로세서=중앙처리장치=CPU: 프로그램을 실행하는 핵심 자원

- 프로세스 스케줄링: 시스템 내의 프로세스 처리 순서 결정

- 프로세서 할당 관리: 프로세스들에 대한 프로세서 할당. 한번에 하나의 프로세스만 사용 가능

 

 

3. 메모리 관리

- 주기억장치: DRAM. 작업을 위한 프로그램 및 데이터를 올려 놓는 공간

- Multi-user, Multi-tasking 시스템

- 메모리 할당 방법: 전체 적재, 일부 적재

 

4. 파일 관리 

 

5. 입출력 관리

- 프로세스에서 직접 호출하지 않고 반드시 OS를 거침

'OS' 카테고리의 다른 글

[OS] Lecture 3. OS Process Management (2/2)  (0) 2022.01.31
[OS] Lecture 3. Process Management (1/2)  (0) 2022.01.30
[OS] Lecture 2. OS Overview (1/2)  (0) 2022.01.26
운영체제_6  (0) 2021.07.15
운영체제_5  (0) 2021.07.15
'OS' 카테고리의 다른 글
  • [OS] Lecture 3. OS Process Management (2/2)
  • [OS] Lecture 3. Process Management (1/2)
  • [OS] Lecture 2. OS Overview (1/2)
  • 운영체제_6
사랑우주인
사랑우주인
  • 사랑우주인
    lovelyAlien
    사랑우주인
  • 전체
    오늘
    어제
  • 글쓰기
    관리
    • 분류 전체보기 (209)
      • Programming (4)
        • Spring (28)
        • Java (46)
        • JPA (2)
        • 디자인 패턴 (5)
        • 개발&아키텍처 (0)
      • Network (14)
      • OS (19)
      • Database (1)
      • Kubernetes (0)
      • Kafka (2)
      • Algorithm (49)
        • BaekJoon (1)
        • Programmers (19)
        • Algorithm (5)
        • Socar (2)
        • LeetCode (19)
      • Interview (2)
      • Issues (2)
      • DotJoin (1)
      • Git (4)
      • 독서 (3)
      • 끄적끄적 (1)
      • 외부활동 (26)
        • 항해플러스 (2)
        • JSCODE 네트워크 (19)
        • JSCODE 자바 (5)
      • SQL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • GitHub
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Climbing Stairs
    운영체제
    OS
    준영속 엔티티
    BFS
    Process
    pacific atlantic water flow
    Oauth2
    minimum number of arrows to burst balloons
    lower bounded wildcards
    fcfs
    Generic
    @JsonProperty
    socar
    추상화 클래스
    algorithm
    RR
    디자인 패턴
    AuthenticationSuccessHandler
    Thread
    rotting oranges
    Reorder List
    LinkedList
    제네릭
    runner 기법
    @JsonNaming
    JSCode
    clone graph
    wildcards
    트랜잭션
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
사랑우주인
[OS] Lecture 2. OS Overview (2/2)
상단으로

티스토리툴바