1. 운영체제(Operating System)란?

이희제·2020년 12월 29일
16

Operating System

목록 보기
1/12
post-custom-banner

이번에 계절 학기로 운영체제 수업을 듣고 있습니다.

들으면서 블로그에 공부에 대한 정리도 하고 기록을 하면 좋겠다 생각해 운영체제에 대한 글을 쓰려고 합니다.



오늘은 간단히 운영체제가 무엇인지에 대해서 알아보려고 합니다!

운영체제란?


✅ 일단 운영체제는 쉽게 말해서 컴퓨터의 사용자와 하드웨어 사이를 연결 해주는 역할을 하는 프로그램이라고 할 수 있습니다.


자세히 말하자면 운영체제는

  • 사용자 인터페이스(User Interface)
  • 자원관리(Resource Management)

이 두가지를 위한 프로그램 집합입니다.

운영체제의 역사


➡️ 운영체제의 역사에 대해서는 세대별로 간략하게 살펴보겠습니다.

1세대 운영체제

  • 이 시기에는 일괄처리 시스템(Single-stream Batch Processing Systems)이 등장하였습니다.

➡️ 여기서 일괄처리란 다수의 프로그램을 읽고 저장해두고 이를 한 개씩 실행시켜주는 것을 뜻합니다.

  • 다수의 프로세스르 여러 개 준비시키는 것이 Single-Stream 입니다.

  • Batch : 초장기에는 작업 즉 프로세스가 한 개씩 처리된다는 의미로 사용됐습니다. 한 프로세스가 시작하면 그 프로세스가 끝날 때까지 다른 프로세스는 기다려야하는 것입니다.

‼️ Batch 의 2가지 특징

  1. 작업을 차례대로 한 개씩 처리한다.
  2. 작업이 끝나기 전까지는 사용자의 개입이 중간에 허용되지 않는다.

2세대 운영체제

2세대 운영체제 시기에는 다양한 운영체제 방식들이 개발되었습니다.

ex)

  • Multiprocessing System(다중 처리)
  • Multiprogramming System(다중 프로그래밍)
  • Timesharing System(시분할)
  • Interactive System(대화식)

각각에 대해서 살펴보기 전에 일단 작업이 실행되기 위해서는 Main Memory에 올라가야 한다는 점을 기억해야합니다.

1. Multiprocessing System

➡️ CPU와 같은 여러 개의 프로세서를 가지고 동시에 여러 작업을 병렬적으로 처리하는 방식입니다.

➡️ 다중 처리를 하기 위해서는 다중 프로그래밍이 필요합니다.

2. Multiprogramming System

➡️ 여러 개의 작업을 한 Main Memory에 두어 처리하는 방식입니다.

3. Timesharing System

➡️ CPU가 처리해줄 수 있는 시간을 작업 수에 맞춰 분할하여 각각의 작업에게 분배해주는 방식입니다.

➡️ 이 방식을 사용하면 CPU가 계속해서 일을 처리해주고 있다는 것을 느끼게 해줍니다.

4. Interactive System

➡️ 시스템과 사용자가 모니터 및 여러 입력 장치를 통해 대화하듯이 일을 처리해 나가는 방식입니다.


3세대 운영체제

일괄처리과 시분할 그리고 실시간 작업을 모두 지원하는 다중모드 시분할 시스템이 소개되었습니다.


운영체제의 구성요소


운영체제는 총 5가지로 구성되어 있습니다.

1. 쉘(shell)

  • 사용자 인터페이스로 운영체제와의 의사소통을 담당합니다.

2. 장치관리

  • 시스템에 있는 주변 장치, 예를 들면 키보드, 모니터, 프린터, 하드디스크 등을 제어합니다.

3. 파일관리

  • 사용자로 하여금 파일을 만들고, 지우고, 수정하고 이름을 부여하며 디렉토리 등을 관리합니다.

4. 메모리관리

  • Main Memory(주기억 장치) 관리를 담당합니다.

5. 처리기관리

  • CPU의 처리 능력을 각 작업에 효과적으로 배분하는 일을 담당합니다.

Kernel


✅ 운영체제는 커널 프로그램유틸리티 프로그램으로 나누어서 볼 수 있습니다. 그 중에서도 커널에 대해서 살펴보겠습니다.

Kernel 이란?

➡️ 운영체제의 각종 기능들 중 빈번하게 사용되는 부분을 의미합니다. 운영체제의 핵심이라고 말할 수 있습니다.

➡️ 운영체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공하는 역할을 하며, 메모리나 저장장치 내에서 운영체계의 주소공간을 관리합니다.

역할

커널의 역할에는 3가지가 있습니다.

1. 보안

  • 커널은 컴퓨터 하드웨어와 프로세스의 보안을 책임집니다.

2. 자원관리

  • 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 한다. 특히 프로세스에 처리기를 할당하는 것을 스케줄링이라 합니다.

3. 추상화

  • 일반적으로 커널은 운영 체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하기 위해 몇 가지 하드웨어 추상화(같은 종류의 장비에 대한 공통 명령어의 집합)들로 구현됩니다.

profile
그냥 하자
post-custom-banner

5개의 댓글

comment-user-thumbnail
2020년 12월 29일

잘보고갑니닸^^

1개의 답글
comment-user-thumbnail
2020년 12월 29일

정리를 깔끔하게 잘하시네요 잘 보고 갑니다😃

1개의 답글