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

이희제·2020년 12월 29일
16

Operating System

목록 보기
1/12

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

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



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

운영체제란?


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


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

  • 사용자 인터페이스(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
남는 것을 좋아하는 프론트엔드 개발자입니다.

6개의 댓글

comment-user-thumbnail
2020년 12월 29일

잘보고갑니닸^^

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

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

1개의 답글
comment-user-thumbnail
2021년 1월 11일

좋은 포스팅 감사합니다!

1개의 답글