운영체제란?

임정환·2023년 1월 19일
0

운영체제

목록 보기
1/8

1. OS?

말 그대로 Operating System, OS이다. 컴퓨터 공학의 정수, "추상화" 그 중 가장 low한 hardware에 대한 추상화를 제공해주는 일종의 프로그램이다.
우리는 OS를 통하여 하드웨어를 컨트롤한다. 그 외에도 OS는 메모리 관리, I/O, Process 스케쥴링 등등... 다양한 일을 말단에서 우리가 모르게 처리해준다.

OS의 중요한 2가지 역활

  • 하드웨어에 대한 추상화 제공
  • 자원의 관리

OS는 커널모드와 유저모드로 나뉘게 된다. 우리가 일반적으로 실행하는 프로그램은 유저모드에서 실행되게 된다. 하지만, 만일 특정한 상황(하드웨어에 대한 접근 등등)에 처하게되면 커널 모드로 전환되며 인터럽트에 걸리게 된다. 이에 대한건, 추후에 더 자세하게 서술하겠다.

2. OS의 역사

천공카드를 쓰던 시절부터, 현대의 전자식 컴퓨터까지 너무나도 많은 역사가 있지만 중요하다 생각되는 부분만 짧게 집고 넘어가겠다.

  • 배치(Batch) 시스템
    -비슷한 종류의 일(Task)를 모아, 한번에 처리하는 시스템, 과거의 컴퓨터는 너무나도 비싸고 인력은 저렴했기때문에 채택하였다. 다만 CPU가 idle time이 크다는 단점이...
  • 멀티프로그래밍 시스템
    - 드디어 메모리의 용량은 늘어나고, 하드웨어의 발전으로 인해 여러 Process들을 메모리에 상주시키며 연산할 수 있게되었다.
  • 시분할 시스템
    - 여러 유저(혹은 여러 process라 봐도 무방)가 동시에 상호작용할 수 있는 시스템.

3. Computer Hardware

사실 컴퓨터 공학도로서 수업에서 레지스터, 어셈블리어 등등을 배우고 있다보면 우리가 전자과인지 헷갈리곤 하였다. 도대체 왜 배우나?? 이런 의문만 가득했는데, 운영체제를 배우다보니 알것도 같다. 정리를 해보자면

  • CPU에는 core와 cache가 존재한다. cache는 core 별로 존재할 수 있고 혹은 모든 core가 공유하는 shared cache일 수 있다.
  • 저장영역( 레지스터, 캐시, 메모리, 디스크)에 대한 접근 속도는
    레지스터>캐시>메모리>>>>>>디스크

4. Interrupt

이건 사실 배울때 내 골머리를 꽤나 썩혔던 주제이긴하다. 다음 장에서 조금더 자세히 다룰예정이지만, 간단히 요약을 하자면

  • Interrupt(방해하다) : 말 그대로 CPU가 연산을 하던 중에 방해를 받은 상황이라고 볼 수 있다. CPU는 하던 연산을 정지하며, 다른 task로 넘어가게된다.
    - 예를 들어, 특정 파일에 대한 접근 ( C언어의 file에 대한 read명령어)이 일어나게 될 경우 인터럽트가 걸리면서 커널모드로 바뀌게되고 (일반적인 유저모드에서는 시스템 보호를 위해 제약이 걸려있다.) 파일을 여는 system call이 일어나게 된다.

마치며...

나의 지난 3년(사실 2학년때부터 시작한 컴공생활이니까 2년이긴하다 엄밀하게)을 회고하는 velog의 첫 스타트이다. 가장 어려웠으며, 난해하던 분야인 OS. 그래도 어디가서 컴퓨터 공학을 전공했다고 말할려면 적어도 OS,알고리즘,자료구조 이 3가지의 분야에 대해서는 빠삭해야한다고 생각하기에 가장 먼저 작성해본다.

profile
CS 박제

0개의 댓글