Computer Science/Operating System

[운영체제] 운영체제의 중요한 개념들

brong 2023. 9. 10. 02:43
728x90

이전 포스팅

 

[운영체제] 운영체제란?

이 포스팅에서 다루는 내용 운영체제의 개념, 커널 모드, 유저 모드, 추상화 들어가며... 우리가 잘 아는 윈도우, 맥 OS, 리눅스 등이 모두 운영체제이다. 운영체제가 설치되지 않은 컴퓨터를 사용

thisisphysis.tistory.com

 

운영체제: 하드웨어 자원 관리와 추상화를 제공하는 소프트웨어

 

이번 포스팅

대부분의 운영체제는 프로세스, 주소공간, 파일과 같은 개념들과 추상화를 제공한다. 이번 포스팅에서는 이러한 기본 개념들을 간단히 살펴볼 것이다. 이후에 하나하나 자세하게 다룰 예정이다.

 


Operating System Concept

  • Process
  • Address space
  • File
  • Input/Output
  • Protection

 

 

프로세스 Process


프로세스 : 실행 중인 프로그램 

 

프로세스는 모든 운영체제에서의 핵심 개념이다! 

프로그램을 실행한다는 것은 메모리 상의 명령어와 데이터를 읽어와서 실행하는 것이다. 프로그램을 실행하기 위해서는 다음에 실행해야 하는 명령어의 주소, 데이터가 저장된 위치, 열려있는 파일 목록, 관련된 프로세스 목록 등의 정보들이 필요하다. 프로그램을 실행하는데 필요한 모든 정보를 담아놓는 용기가 바로 프로세스이다. 

 

각 프로세스는 메모리 공간(주소공간)을 가지는데, 이 메모리 공간 안에 프로그램 실행에 필요한 정보들이 모두 저장되어 있다.

 

 

주소공간 Address space


 

운영체제는 프로세스가 참조할 수 있는 주소들의 집합을 주소공간이라는 개념으로 추상화한다.

 

주소공간이란 프로세스가 읽고 쓸 수 있는 0부터 특정 최댓 값에 이르는 메모리 주소를 일컫는다. 

프로세스는 주소 0부터 시작하는 자신만의 주소공간을 가진다. 

 

 

 

파일 File


운영체제의 중요한 기능 중 하나는 바로 추상화이다. 

우리가 컴퓨터를 사용하면서 파일을 생성하고 지우고, 읽고 쓰기 위해서는 디스크 장치에 접근을 해야하기 때문에 시스템 콜이 필요하다. 

파일을 읽으려면 디스크에서 파일을 찾아서 열어야 하고, 다 읽은 후에는 이를 닫기도 해야한다. 운영체제는 이러한 작업을 수행하는 시스템 콜을 제공해야 한다. 

 

또 파일들을 정리하여 그룹화하기 위해 디렉터리라는 개념을 지원한다. 우리가 아는 폴더가 디렉터리다. 

디렉터리 안에는 파일 또는 디렉터리를 저장할 수 있다. 그럼 계층 구조의 파일 시스템을 구성할 수 있다. 

 

 

입출력 I/O


컴퓨터는 입력을 받아들이고 결과물을 출력할 입출력 장치들을 가지고 있다. 

키보드, 모니터, 프린터, 마우스 등은 모두 입출력 장치에 속한다. 

운영체제는 이러한 입출력 장치들을 관리해야 한다. 

 

 

 

보호 Protection


컴퓨터에는 다양한 정보를 저장하게 되는데, 이 중에는 비밀로 보호해야 하는 데이터들도 많다. 

특정 정보에는 허용된 사용자만이 접근할 수 있도록 제한을 두어야 한다.

이렇게 정보를 보호하기 위해 사용자들의 접근을 제어하는 것이 시스템 보안이며, 이는 운영체제가 관리해야 하는 것이다.