SW교육 | 소프트웨어 중심사회

SW이야기 이동 SW현장취재 이동 SW교육

그런데, 소프트웨어란 무엇일까요?

SW중심사회 2017-09-27 1298명 읽음

소프트웨어 전공자 역시 “소프트웨어가 뭔가요?” 라는 질문을 받으면 쉽게 답하지 못하고 고민에 빠지게 됩니다. 일반적인 대답으론 ‘컴퓨터 프로그램’이 있겠지만, 그 답변이 속 시원하게 느껴지진 않죠. 전공자 또한 이런 상황인데 비전공자나 일반인들 입장에선 더욱 어렵게 느껴질 수 밖에 없습니다. 소프트웨어라는 단어가 우리의 삶과 먼 단어라면 상관이 없겠지만, 4차산업혁명의 바람이 불어오고 있는 현 시기에 소프트웨어란 무엇인지 진지하게 생각해 봐야할 문제입니다. 심지어 직업 선택 란에 IT 카테고리에 가면 ‘응용 소프트웨어 개발자’, ‘소프트웨어 개발자’ 등 다양한 소프트웨어 분류가 생길 정도인데요. 소프트웨어란 무엇일까요?

 

 

 

 

<인터넷에서 ‘소프트웨어’를 검색해 보자>

 

□한국정보통신기술협회(TTA)
컴퓨터를 동작 시키고 컴퓨터에 어떤 일을 처리할 순서와 방법을 지시하는 명령어의 집합인 프로그램과 프로그램의 수행에 필요한 절차, 규칙, 관련 문서 등의 총칭. 보통 프로그램과 같은 의미로 쓰인다. 컴퓨터 시스템을 구성하는 요소 중에서 형체를 갖고 있는 하드웨어를 제외한 보이지 않는 무형의 부분을 소프트웨어라고 할 수 있다.

□도해 기계용어 사전
전자계산기의 사용에 관한 사항을 총괄하는 분야. 하드웨어의 대상어로써 이용된다.

□두산백과
하드웨어라고 불리는 컴퓨터 기계장치부에 대응한다.

 

 

위의 내용들을 조합해보면 소프트웨어는 물리적 실체가 없이 컴퓨터, 스마트폰 등을 작동시키는 역할을 합니다. 쉽게 비유하자면 하드웨어가 사람의 신체라고 하면 소프트웨어는 사람의 뇌라고 할 수 있습니다. 사람의 모든 행동은 뇌에서 처리하듯 소프트웨어는 컴퓨터의 행동을 처리하는 것이죠. 소프트웨어가 중요한 이유도 여기서 나옵니다. 좋은 소프트웨어는 작업을 효율적으로 빠르게 처리할 수 있게 합니다. 이때 각각의 소프트웨어의 역할이 나뉘게 됩니다. 사람의 뇌 역시 대뇌,소뇌, 연수 등이 기능에 따라 구분이 되는 만큼 소프트웨어도 기능에 따라 종류가 나뉘게 됩니다.

 

 

 

 

<시스템 소프트웨어 : 윈도우, 안드로이드, iOS>

 

시스템 소프트웨어는 컴퓨터, 스마트폰을 사용하기 위해 기본적으로 필요한 소프트웨어 입니다. 운영체제(OS), 컴파일러, 어셈블리, 라이브러리 프로그램 그리고 텍스트 에디터 등이 있습니다. (두산백과 참조) 일반적으로 시스템 소프트웨어에 대해 질문하면 OS(operating system)라는 대답이 돌아옵니다.(단, 엄밀히 말하면 OS는 시스템소프트웨어 그 자체는 아닙니다. 시스템 소프트웨어가 더 큰 범주라고 생각하면 됩니다.) 컴퓨터에서는 Window, Linux가 있고 스마트폰에서는 구글의 안드로이드, 애플의 iOS가 대표적입니다. 운영체제가 없다면 컴퓨터는 사용할 수 없습니다. 그렇기 때문에 새로운 컴퓨터, 노트북 구입시 OS 포함 유무를 잘 살펴봐야 합니다. 또한 이 운영체제는 소프트웨어의 다른 한 종류인 응용 소프트웨어와 하드웨어 사이에서 다리 역할을 합니다.

 

 

 

 

<응용 소프트웨어 : 어플리케이션, 어플, 앱>

 

응용소프트웨어(Application Software)은 운영체제에서 실행되는 모든 소프트웨어를 말합니다. 응용소프트웨어의 영어 명칭에서 보듯 바로 우리에게 친숙한 ‘앱(App)’이 바로 응용소프트웨어 입니다. 주로 게임, 워드, 엑셀 등이 바로 응용 소프트웨어에 해당합니다. 그러니까 서두에서 ‘컴퓨터 프로그램’ 이라는 설명은 응용 소프트웨어를 지칭한다고 할 수 있습니다. 응용소프트웨어는 운영체제 위에서 실행이 됩니다. 운영체제는 컴퓨터(여기서 말하는 컴퓨터는 하드웨어)를 제어합니다. 운영체제를 다리라고 표현했듯이 응용 소프트웨어에서 보내는 명령은 대게 운영체제를 통해 하드웨어에게 전달됩니다.

 

운영체제를 다리, 혹은 터널이라고 할 때, 각각의 운영체제는 서로 다른 모습을 가지고 있습니다. 어떤 것은 천장이 높은 대신 도로 폭이 좁을 수도 있고 천장이 낮은 대신 한번에 버틸 수 있는 무게가 더 큰 경우도 있을 겁니다. 운전하다 보면 터널에 높이 제한 있듯이 말이죠. 그렇다면 이 다리 혹은 터널을 통과하기 위해서는 적합한 형태의 자동차가 필요할 것입니다. 이것이 바로 안드로이드 어플 개발과 iOS(애플)기반 어플 개발이 다른 이유입니다. 이런 이유로 각 운영 체제에 맞는 개발이 필요합니다. 카카오톡으로 예시들 들자면, 추가 기능 업데이트 시 ‘iOS 업데이트는 0월 0일 진행됩니다’ 와 같은 문구를 종종 발견합니다(안드로이드 기준). 이는 운영체제에 따라 개발 방식이 다른 것을 보여주고 어플리케이션, 즉 응용 소프트웨어가 운영체제에 종속됨을 보여줍니다.

 

 

이번 취재를 위해 주변 전공자 및 비전공자들에게 소프트웨어의 정의를 물어보았습니다. 소프트웨어를 24시간 사용하는 사람조차 “소프트웨어가 뭔가요?” 라는 질문에 빠르게 대답하지 못했습니다. 대다수의 일반인들은 대답 자체를 망설인다는 것을 알게 되었습니다. 시스템소프트웨어, 응용 소프트웨어 모두 위에서 설명한 것이 전부는 아닙니다. 기본적인 내용이지만, 이 기본적인 내용조차 모르는 사람이 많다는 것에서 시작한 기사인 만큼 처음 소프트웨어를 접하거나 이제 막 코딩공부, 소프트웨어 공부를 시작하시는 분들은 반드시 한번쯤은 ‘소프트웨어란 무엇인가’ 생각해 보셨으면 합니다.

 

 

관련 콘텐츠

홈페이지 만족도

콘텐츠 내용에 만족하십니까? 현재 페이지의 만족도를 평가해 주십시요. 의견을 수렴하여 빠른 시일 내에 반영하겠습니다.

등록