운영체제_1

2021. 6. 24. 01:21·OS
기능 중요도
  1. 프로세스 관리(스케줄링, 동기화)
  2. 주기억장치(메모리) 관리 (페이징, 가상메모리)
  3. 파일 관리 (파일 할당, 디스크 스케줄링)

 

운영체제가 왜 필요해?

운영체제가 없는 컴퓨터는 야생마다!

OS가 없으면 컴퓨터 사용할 수 없다!

프로그램은 하드디스크에 있고, 메모리에 프로그램을 올려야(적재) 작동한다.
→ 운영체제가 해준다
프로그램을 하드디스크에 저장?
→ 운영체제가 해준다.

운영체제가 있기에 컴퓨터를 온전히 쓸 수 있다.

 

운영체제란?
컴퓨터 하드웨어를 잘 관리하여
프로세서, 메모리, 디스크, 키보드, 마우스, 모니터, 네트워크, 스피커, 마이크, GPS, …
성능을 높이고
Performance
사용자에게 편의성 제공
Convenience
컴퓨터 하드웨어를 관리하는 프로그램
Control program for computer

 

컴퓨터 구조

  • 프로세서,
    메모리 (ROM, RAM),
    디스크
  • POST (Power-On Self-Test) – 부트로더 (Boot loader)

 

 

 

부팅 동작순서
  1. power on
  2. ROM에서 POST 실행 : 컴퓨터에 이상이 있는 지 체크하는 프로그램
  3. ROM에서 Boot loader 실행마치 모든 준비가 됐습니다! 일을 시켜주세요! 상태
  4. : ex) 바탕화면에 윈도우 초기화면
  5. power off → RAM에 있는 OS가 사라진다.
OS는 power off하지 않는 이상 항상 메모리에 상주한다.
→ OS를 메모리의 Resident(상주자)라고 부른다.
POST (Power-On Self-Test): 컴퓨터에 이상이 있는 지 체크하는 프로그램
환경 set 잘 되어 있는가?, 키보드 연결되어 있는가?, 프린트 연결되어 있는가?

Boot loader: 하드디스크에 저장되어 있는 OS 프로그램을 가져와서 RAM에 넘겨준다

Booting: 하드디스크에 있던 OS가 Main memory의 RAM에 로드

 

OS = kernel + shell(=command interpreter)

현재까지의 컴퓨터 구조를 표현한 것과는 조금 다르게 그림을 그려보면, 이렇게 표현이 가능하다.

OS 는 커널과 명령해석기의 역할을 한다. 

kernel(핵심, 핵): OS에서 HW들을 관리해주는 부분
shell=command interpreter): 사용자의 명령을 해석하고 실행해서 보여주는 역할

 

운영체제 = 정부 (Government)
  • 자원 관리자 (resource manager)
  • 자원 할당자 (resource allocator)
  • 주어진 자원(HW)을 어떻게 가장 잘 활용할까? 국토, 인력, 예산
  • 기업이 일하지 정부가 직접 일하지 않는다. 
    도로는 기업이 만들지, 계획을 세우는 일을 정부가 한다(자원을 관리)
컴퓨터에서 제일 중요한 건? CPU(프로세스)
그 다음 중요한 건? 메모리
마찬가지로, OS에서는 프로세스 관리, 메모리 관리가 중요!
HW를 자원(Resource)이라고 부른다. 이 자원들을 OS가 관리해준다. 
그래서 OS를 Resource Manger(관리자)/Allocator(할당자)
HW(자원)을 어디에 할당해줘? Application에게

 

 

 

'OS' 카테고리의 다른 글

운영체제_6  (0) 2021.07.15
운영체제_5  (0) 2021.07.15
운영체제_4  (0) 2021.07.10
운영체제_3  (0) 2021.07.10
운영체제_2  (0) 2021.07.10
'OS' 카테고리의 다른 글
  • 운영체제_5
  • 운영체제_4
  • 운영체제_3
  • 운영체제_2
사랑우주인
사랑우주인
  • 사랑우주인
    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
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • hELLO· Designed By정상우.v4.10.1
사랑우주인
운영체제_1
상단으로

티스토리툴바