소프트웨어

GGUKI·2022년 9월 27일
0

컴퓨터는 하드웨어와 소프트웨어로 나뉩니다. 그 중에서 소프트웨어에 대해서 제가 배운 것을 작성해보겠습니다.

소프트웨어 종류

소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 나뉩니다. 그리고 시스템 소프트웨어는 OS(운영체제), 데이터베이스, 컴파일러로 나뉩니다.

계층 구조로 시각화해본다면 이렇게 만들 수 있습니다.

OS(운영체제)

운영체제는 하드웨어와 응용소프트웨어에서 중간 역할로서 둘 모두 관여합니다.
운영체제 사례로는 DOS, 윈도우, 리눅스 등이 있습니다. 이들은 아마 역사적으로 발전된 순으로 CLI, GUI, NUI 등의 인터페이스를 사용해왔습니다. 간단하게 정리하면 CLI는 언어로, GUI는 그래픽으로 NUI는 움직임으로 인간과 기계의 소통을 할 수 있도록 하는 인터페이스입니다.

데이터베이스

데이터베이스는 여러 종류의 테이블이 목적에 맞게 모아둔 것입니다. 예를 들어서 회사의 고객들의 이름, 연령, 주소, 연락처, 소속, 하는 일 등을 저장해놓은 것이 데이터베이스입니다. 이러한 데이터베이스는 목적을 지니고 있습니다. 네이버 카페 중 패션 카페의 경우는 새롭게 떠오르는 브랜드와 신상옷들의 가격, 구매처, 후기 등이 있을 것이고 취업 카페의 취업 후기 란에서는 취뽀한 회사, 연봉, 이력서, 경력, 스펙 등의 데이터가 올라올 것입니다. 이 데이터들은 각각 패션 정보 공유, 취업 정보 공유라는 목적성을 가지고 있습니다. 이렇게 데이터 베이스는 목적성을 가지고 여러 사람에게 공유됩니다.

데이터 베이스는 종류에는 계층형, 관계형,객체형, 객체-관계형이 있습니다. 관계형의 경우는 우리가 흔히 생각하는 엑셀의 모양입니다. 객체형은 유튜브를 생각하면 되고 객체-관계형은 관계형의 네모 칸 셀마다 단순 문자나 숫자가 아니라 객체형 데이터가 들어있다고 생각하면 됩니다.

컴파일과 컴파일러

우리가 여러 언어에 문법으로 명령을 작성한 파일은 원시파일입니다. 인간은 이해할 수 없지만 기계는 이해할 수 없기에 기계어 코드로 변환해주는 작업이 필요합니다. 그 작업이 컴파일이고 컴파일 동작을 하는 것이 컴파일러입니다.

cf. 인터프리터와 컴파일러

인터프리터는 한 줄씩 코드를 읽어서 실행합니다. 반면, 컴파일러는 한 번에 전체 코드를 기계어로 만들어서 실행해 실행파일이 생성됩니다.

응용 프로그램의 경우는 좀 더 공부해보고 포스팅하거나 이 포스팅을 수정해야겠습니다.
감사합니다.

참고)
https://oriyong.tistory.com/56

profile
신기술 조아

0개의 댓글