본문 바로가기
Python/기초

파이썬 상식: 운영 체제(OS), 커널(Kernel), 쉘(shell) 한 글로 정리

by 모두의 케빈 2023. 8. 13.

 

 

요새 주위에서 파이썬(python) 공부하시는 분들을 많이 뵙게 되는 것 같습니다. 파이썬 강의를 하다 보면, 수강생 분들의 달라진 열기가 느껴집니다.

 

그런데 생각보다 '코딩을 한다는 것'이 정확히 어떤 행위를 하는 것인지 알고 하시는 분들은 많지 않은 것 같습니다. 코딩을 공부하시려면 코딩이란 무엇인지에 대해 먼저 이해하셔야 합니다.

 

코딩은 사용자가 자신의 언어로 컴퓨터와 대화하고 소통하여

컴퓨터라는 하드웨어를 효과적으로 제어하는 방법론입니다. 이때, 사용자가 사용할 수 있는 언어는 일반적으로 고급 프로그래밍 언어이며 파이썬은 이 중 하나입니다.

 

파이썬으로 코드를 작성하면 파이썬 전용 쉘을 통해 커널로 전달되어 하드웨어(컴퓨터)를 제어하게 되는데요. 지금부터 이 내용에 대해 정말 이해하기 쉽도록 설명드리겠습니다.

 

이 글이 파이썬 독학하시는 모든 분들께 도움이 되었으면 좋겠습니다.

 

 

 

 

운영 체제(OS), 커널(Kernel), 쉘(shell)의 관계


 

운영 체제, 커널, 쉘의 관계
운영 체제, 커널, 쉘의 관계

 

 

운영체제(OS)에 대해 얼마나 알고 계시나요? 운영 체제는 컴퓨터라는 하드 웨어를 효과적으로 제어하기 위한 체계입니다. 가장 인지도가 높은 운영 체제는 윈도우와 맥입니다.

 

운영체제를 구성하는 핵심 요소에는 대표적으로 커널과 쉘(Shell)이 있습니다. 사용자가 컴퓨터와 대화하기 위해서는 쉘(Shell)을 활용해야 합니다. 

 

커널(Kernel)은 운영체제의 핵심이라 불리며 실제로 하드웨어를 제어하는 소프트웨어입니다. 쉘(Shell)은 ‘껍데기’라는 의미로, 운영체제의 가장 바깥 부분입니다. 사용자가 입력한 명령어를 ‘번역’하여 커널에게 전달해 주는 역할을 합니다. 

 

그래서 쉘(Shell)은 ‘해석기’라고 불립니다. 사용자와 커널 사이를 연결하는 다리라고 생각하시면 됩니다. 사용자가 하드웨어인 컴퓨터와 대화하기 위해서는 '쉘'을 활용하여 명령을 커널로 전달해야 합니다.

 

 

 

 

 

쉘(Shell) 환경에서 컴퓨터와 대화해 보기


폴더 만들기 예제

 

쉘에는 여러 종류가 있지만, 가장 쉽게 접할 수 있는 건 ‘cmd’입니다. 윈도우 버튼을 누르고 검색창에 ‘cmd’라고 입력하면 바로 열어볼 수 있는데요. (한글로는 ‘명령 프롬프트’라고 불립니다.)

 

사용자는 이 명령 프롬프트에 한 줄씩 ‘글’을 작성하여 컴퓨터에게 명령을 내릴 수 있습니다. 바탕화면에 ‘ebook’이라는 폴더를 만들어볼까요?  아래 그림처럼 두 줄의 명령어로 하드웨어를 제어할 수 있습니다.

 

쉘 명령어를 활용하여 폴더 만들기
폴더 만들기

 

 

사전에 약속된 문법만 사용할 수 있다.

 

명령 프롬프트에는 사전에 약속된 명령어만 사용할 수 있습니다. 만약 약속되지 않은 명령을 내리면 아래의 사진처럼 에러가 발생하게 됩니다.

 

에러 예제
문법 에러

 

 

파이썬 전용 쉘을 통해 컴퓨터와 대화하기

 

파이썬의 목적도 하드웨어를 제어하는 것이기 때문에 파이썬의 작동 원리도 위의 방식과 크게 다르지 않습니다. 다른 점이 있다면, ‘파이썬 전용 쉘 환경’에서 ‘파이썬 전용 문법’을 토대로 컴퓨터라는 하드웨어를 제어한다는 점입니다.

 

파이썬 전용 쉘을 사용하기 위해서는 개인(로컬) PC에 파이썬을 설치해야 합니다. 파이썬을 설치했다는 전제 하에 설명드리겠습니다. 

 

파이썬 쉘 환경에서 파이썬 사용하기
파이썬 쉘 환경에서 파이썬 사용하기

 

 명령 프롬프트에 ‘python’이라고 입력(①) 하면 파이썬이 실행됩니다. 파이썬이 실행된 상태에서 파이썬 전용 문법(②)을 입력하면 파이썬 전용 번역기가 작동하면서 파이썬 명령어로 하드웨어를 제어할 수 있게 됩니다.

 

일반적인 쉘 환경에서 "print('Hi')"라고 입력하면 에러가 나오지만, 파이썬 쉘 환경에서는 에러가 나오지 않습니다. 왜냐하면, "print('Hi')"라는 문법은 쉘 환경에서는 잘못된 문법이지만 파이썬 쉘 환경에서는 올바른 문법이기 때문입니다.

 

 

 

 

쉘 환경 vs 에디터 사용


파이썬 에디터는 도대체 무엇이고 왜 필요한가요?

 

쉘(Shell)을 통해 하드웨어를 제어하는 방법을 살펴봤습니다. 

 

그런데 여러분은 새로운 폴더를 만들거나 인터넷 같은 애플리케이션을 이용할 때, 커맨드 창을 활용하시나요?

 

아마 그런 분들은 정말 드물 겁니다. 저를 포함해서 대부분의 사용자들은 마우스의 더블 클릭 기능을 사용하실 겁니다. 매번 모든 작업을 쉘을 통해 하는 것은 너무 ‘불편’하니까요.

 

파이썬도 동일합니다. 쉘 환경에서 파이썬 프로그램을 개발하는 것은 너무 ‘불편’한 일입니다. 쉘 환경에서 간단한 코드를 작성할 수는 있지만, 쉘을 종료하면 기존에 작성해 둔 코드가 사라집니다

 

한 번에 필요한 모든 코드를 작성할 수 있는 천재가 아닌 이상, 복잡한 코드를 작성하기 위해서는 코드를 저장하고 다시 재사용할 수 있어야 합니다.

 

파이썬 에디터는 이러한 재사용성에 더해, 개발에 도움이 되는 다양한 보조 기능을 제공해 주는 도구들입니다. 코드 작성의 편의성을 증대시켜 주는 유용한 도구라고 할 수 있습니다.

 

파이썬 에디터는 대표적으로 사용되는 몇 가지가 있는데요. 아래 글에 자세히 설명되어 있으니, 관심 있으신 분들께서는 확인하시고 정보 얻어가셨으면 좋겠습니다.

 

 

파이썬 에디터 Best 4 총정리 및 초보자를 위한 에디터 추천

 

파이썬 에디터 Best 4 총정리 및 초보자를 위한 에디터 추천

파이썬 에디터란? 파이썬은 파이썬 전용 쉘(Shell)에서 코드를 작성할 수 있습니다. 쉘은 쉽게 말하면 까만 창으로 대표되는 커맨드 환경이라고 생각하시면 됩니다. 쉘 환경에서 작성된 코드는 저

kevinitcoding.tistory.com

 

 

 

 

댓글