"프로그래머의 작업은 시인과 마찬가지로 순수한 사고의 산물에 가깝다.허공에 공기로 성을 쌓고,상상력을 동원하여 자신의 성을 창조해 나간다.이토록 유연하며 다듬기 쉽고,웅장한 개념적 구조를 손쉽게 실현할 수 있는 표현 수단을 찾아보기 힘들다
--프레더릭 브룩스,1975
하드웨어를 효율적으로 이용하기 위해 운영체제 워드프로세서와 같이 컴퓨터를 효율적으로 사용 하는 기술 혹은 집합체라고 한다.
쉽게 설명하자면 하드웨어는 신체이고 소프트웨어는 그 신체를 움직이는 뇌 ,즉 정신이라고 비유하면 이해하기 쉽다.
컴퓨터를 동작시키는 일을 하는 운영체제와 부트로더 등 하드웨어에 접근을 하여 운영하기 위해 만들어진 것
워드프로세서,웹브라우져등 os위에 사용자가 사용하게 되는 프로그램을 응용 소프트웨어 라고 한다.이를 어플리케이션이라고도 부르며 간단하게 App이라고 부른다.
컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다.
대표적으로는 윈도우,맥,리눅스,유닉스 등이 있다
- 프로세서,기억장치,입출력 장치,파일 및 정보 등의 자원을 관리
- 자원을 효율적으로 관리하기 위해 자원의 스케쥴링 기능 제공
- 사용자와 시스템 간의 편리한 인터페이스를 제공
- 시스템의 각종 하드웨어와 네트워크를 관리 및 제어
- 데이터를 관리하고 데이터 및 자원의 공유 기능 제공
- 시스템의 오류를 검사 및 복구
- 자원 보호 기능 제공
- 입출력 보조 기능 제공
애플케이션 프로그램, 즉 응용프로그램의 줄임 말이다.응용프로그램은 사용자 또는 어떤경우에는 다른 응용프로그램에게,특정한 기능을 직접 수행하도록 설계된 프로그램이다.
Ex)브라우저,워드프로세서,음악과 영화 재생 프로그램,세무처리용 소프트웨어,바이러스 검사 프로그램,다양한게임들,파일을 검색하거나 폴더를 탐색하는 일상적인 작업 도구 등이 있다.