Introduction to OS: What is O.S?

ㅎㅎ·2023년 6월 19일
0

운영체제, 반효경

목록 보기
1/19

운영체제란?

  • 컴퓨터의 HW와 사용자 간의 연결고리를 제공하는 인터페이스
  • 운영체제를 이루는 핵심 구성요소는 커널, 컴퓨터 전원이 켜지면 메모리에 바로 올라가서 상주
  • HW와 사용자를 연결하는 SW
    • 왜 HW와 연결고리를 제공할까, 그냥 직접 HW를 제어하면 안 될까?

운영체제의 목적

  • HW 자원을 효율적으로 관리 + 형평성도 고려
    • CPU, 메모리, 디스크 등의 HW 장치를 다루는 알고리즘을 효율적으로 설계해놓고 사용자는 호출만 하도록 제공
    • 프로세스, 파일, 메시지 등의 SW 자원도 관리
  • 여러 사용자, 프로그램이 각각 독자적 컴퓨터에서 수행되는 것과 같은 환상을 제공
    • CPU를 빠르게 할당하면서 동시 처리 되는 것처럼 보이게 함

운영체제가 하는 일 크게 3가지

  1. CPU 스케줄링: Process를 처리하는 하나의 CPU를 어떤 방식으로 각 Process에 할당할 것인가, Process마다 필요로 하는 처리 시간이 다른데 어떤 순서로 처리해야 좋을지
  2. 디스크 스케줄링: 디스크는 Head가 움직이면서 디스크를 읽고 쓰게 되는데, 어떤 동선으로 움직여야 읽고 쓰는 작업을 효율적으로 처리할 수 있을까
  3. 메모리 관리: 여러 프로그램들이 메모리에 올라올 때 한정된 메모리 공간 안에서 각 프로그램의 어느 부분을, 얼만큼 올릴 것인가?

운영체제의 각 기준에 따른 분류

  1. 동시작업 가능 여부: Single Tasking, Multi Tasking
    1. 용어구분
      1. Multi Tasking: 일반적으로 여러 작업을 동시에 진행하는 것을 말하는데 엄밀히 말하면 CPU가 여러 작업을 빠르게 번갈아 처리하면서 동시에 처리하는 것 처럼 보이도록 하는 것
      2. Multi Programing: 멀티태스킹 중에서도 메모리에 여러 프로그램이 동시에 올라가 있음을 강조
      3. Time Sharing: CPU의 시간을 분할하여 나누어 쓴다는 의미를 강조
      4. Multi Process: 프로세스 여러 개 동시 진행, 위와 유사한 의미
      5. Multi Processor: 하나의 컴퓨터에 CPU가 여러 개 붙어 있음을 강조
  2. 사용자 수: 컴퓨터에 동시 접근 가능한가 → Single User(ex:MS Windows), Multi User(ex:UNIX)
  3. 처리방식: 배치, 시분할, 실시간

의문점 정리

  • UNIX는 뭐고, LINUX는 뭘까

    • UNIX는 컴퓨터가 발전하면서 단일 사용자, 단일 태스킹 시스템에서 멀티가 가능하도록 하기 위해 고안한 운영체제, 이 운영체제를 프로그래밍한 언어를 C언어로 명명
    • 한 명의 사용자가 하나의 프로그램만 돌릴 수 있었던 컴퓨터의 성능이 발전하면서 개발하게 됨
    • LINUX는 아주 비싼 고성능 컴퓨터가 아니라 개인용 PC에서도 HW를 조작하는 운영체제를 돌리고 싶다는 생각으로 Linux Tovald가 UNIX를 고쳐 업로드 → 오픈소스처럼 여러 개발자들이 고치면서 가장 유명한 무료 UNIX가 됨
    • 그 외 Mac OS 등 여러 운영체제가 UNIX로부터 파생
  • LINUX 쓰면 보통 명령어 하나 하나 입력해서 실행시키잖아, 근데 왜 Multi User, Tasking이야

    • 우리가 보통 PC에 설치해서 사용하는 LINUX는 개인 컴퓨터를 제어하는 단일 계정으로 단일 사용자 방식으로 LINUX를 사용하는 것이지만 계정을 추가하여 여러 사용자가 제어할 수 있도록 할 수도 있다.
    • 보통 LINUX가 Server 역할을 하는 컴퓨터에서 쓰이면서, 다양한 사용자가 Server에 접속하여 작업을 요청하고 처리하는 동작 과정이 다중 사용자 방식, Multi Tasking 방식이다.

출처: 반효경, 운영체제, http://www.kocw.net/home/search/kemView.do?kemId=1046323

profile
Hello World

0개의 댓글