[운영체제] 운영체제의 역할

최지수·2022년 1월 4일
0

운영체제

목록 보기
1/13
post-thumbnail

온라인 강의를 기반으로 배운 전산학 지식에 대해 정리를 시작합니다! 운영체제부터 시작할게요.

운영체제의 역할

시스템 자원(System Resource) 관리자

운영체제는 OS(Operating System)라고 불리기도 해요. 그리고 위 제목인 시스템 자원은 컴퓨터 하드웨어입니다.

시스템 자원 = 컴퓨터 하드웨어

컴퓨터 하드웨어는 중앙처리장치라 불리는 CPU, 주기억장치인 RAM 그리고 입출력 장치인 모니터, 키보드, 네트워크 등이 있고, 저장매체인 HDD, SSD도 컴퓨터 하드웨어입니다. 운영체제는 바로 이 하드웨어들을 관리해주는 관리자 역할을 합니다.

컴퓨터는 스스로 할 수 있는게 없다

운영체제는 각 시스템 자원들을 활용할 수 있게 해줘요. 즉, 운영체제가 없으면 아무리 좋은 하드웨어가 있어도 이를 활용할 수가 없게 되요. 운영체제가 시스템 자원들을 활용하는 법을 Naive하게 나열해 보면,

  1. 각 프로그램이 얼마나 CPU를 사용할지 결정
  2. 각 프로그램이 Memory(RAM)에 어느 주소에 저장되어야 하는지, 어느 정도의 메모리 공간을 확보해야하는지 결정
  3. 어떻게, 어디에 저장 매체(SSD, HDD)에 저장할지 결정
  4. I/O Device를 활용할 수 있게 함

이정도가 있습니다.

사용자와 컴퓨터 간 커뮤니케이션 지원

위에서 설명했듯이, 운영체제가 없으면 사용자가 컴퓨터에게 명령을 내릴 수단이 없어요. 그래서 운영체제를 통해 컴퓨터 간 커뮤니케이션을 해야합니다.

그러니 실제로 우리가 컴퓨터를 사용하는 방식은 아래 그림과 같습니다.

사용자가 운영체제에 무언갈 요청하면 운영체제가 시스템 자원들을 관리해서 그에 대한 결과를 사용자에게 표시하는 방식으로 커뮤니케이션이 진행됩니다.

컴퓨터 하드웨어와 응용 프로그램을 제어

운영체제응용 프로그램도 제어할 수 있게 합니다. 여기서 응용 프로그램은 보통 우리가 알고 있는 Excel, 카카오톡 같은 일반 프로그램을 의미해요.

운영체제는

  1. 사용자가 어떤 작업을 I/O Device를 통해 요청(ex. 마우스 클릭, A키 연타)
  2. 시스템 자원들을 가지고 처리를 하고
  3. 응용 프로그램에서 사용자 요청을 기반으로 결과를 표시

합니다. 도식화한 그림은 아래와 같아요.

그럼 여기서 응용 프로그램이란?

프로그램 = 소프트웨어

소프트웨어는 크게 운영체제, 응용 프로그램으로 나뉘며 응용 프로그램운영체제 위에서 동작합니다.

운영체제와 응용 프로그램의 관계

운영체제응용 프로그램을 실행시키고, 응용 프로그램 간의 권한을 관리해요.

프로그램을 실행하다 보면 관리자의 권한으로 실행이라는 기능을 접할 수 있는데, 이는 관리자의 권한으로 실행하면 일반 응용 프로그램이 보다 리소스 접근을 더 많이 할 수 있게 해줘요. 그리고 응용 프로그램을 사용하는 사용자도 운영체제가 관리합니다(feat. 로그인).

왜 이렇게 만들었을까?

응용 프로그램은 코딩만 할 줄 알면 누구나 다 만들 수 있어요. 이게 문제인거죠.

예를 들면, 무한 루프를 발생시키는 잘못된 로직이 잘못되었다면 운영체제가 이런 비정상적인 로직을 막아줘요. 개발하다보면 무한루프가 발생하면 런타임 에러를 발생시키는게 운영체제의 역할이에요.

아니면 모든 파일을 삭제를 시켜버리는 프로그램이 있다면 운영체제가 권한/사용자 관리를 통해 막을 수 있고요. 혹은 응용 프로그램이 욕심이 많아서 CPU 점유량이 많을 경우 운영체제가 이를 관리해줘요.

정리하자면,

운영체제의 응용 프로그램 관리 이유
1. 무한루프 같은 비정상적인 로직 방지
2. 모든 파일 삭제 같은 로직을 권한/사용자 관리를 통해 방지
3. 프로그램의 CPU 점유량 관리

운영체제 목표

따라서 운영체제는,

  1. 사용자가 사용하는 프로그램이 효율적으로, 적절하게 동작하도록 지원
  2. 응용 프로그램이 용청하는 시스템 자원을 효율적으로 분배 및 지원하는 소프트웨어

라고 보시면 됩니다.

profile
#행복 #도전 #지속성

0개의 댓글