프로그래밍 농장

컴퓨터 / os / 프로그램에 관한 기본 상식 본문

IT 관련 정보

컴퓨터 / os / 프로그램에 관한 기본 상식

Tennessee201 2019. 6. 22.
728x90

 

컴퓨터 

컴퓨터는 크게 하드웨어와 소프트웨어로 나누어진다. 

하드웨어는 컴퓨터가 작동하기 위해 기본적으로 필요한 장치들이다. 

소프트웨어는 컴퓨터를 통제하거나 컴퓨터에 명령을 내려서 작업을 수행하게 하는 프로그램이다.

아래의 사진을 보면 이해하기쉽다.

출처: http://www.gradomultimedia.com/wp-content/uploads/2018/10/hardware-software

이처럼 컴퓨터에는 하드웨어소프트웨어가 존재하는데, 이 두개가 맞물려 구동되기 위해서는 os( 운영체제 ) 가 필요하다. 

 

-운영체제(os) 는 컴퓨터의 하드웨어를 제어하고 응용 소프트웨어를 위한 기반 환경을 제공하여, 사용자가 컴퓨터를 사용할 수 있도록 중재 역할을 한다고 정의된다.   쉽게 말하면, 하드웨어와 소프트웨어를 연결해주는 역할이다.     8/32/64 BIT 운영체제 존재  -->  32BIT의 경우, 2^32 데이터를 한번에 처리할수 있는 능력을 가진 운영체제라고 생각하면된다.    물론 비트에맞게 운영체제를 돌려야되며,  64비트운영에서 32운영체제구동가능 또한 가능하다.

 

+

SHELL : 입력/출력결과확인 모두 가능한 창. 연결이라는 의미를 가짐.  ex) Python 에서의 수정/출력가능.

SHELL이라는 프로그램을 통해서 명령(코드를 작성)하여서 결과값까지 확인이 가능하다.

콘솔 : 출력결과만 확인가능한 창. ( ex) c에서의 콘솔창 )

 

 

 

RAM이란?   -컴퓨터에 저장하고싶은것들 모두저장하는곳 ( =  기억장치)

(-> 보조기억장치  : HDD/SSD/USB ...  보조기억장치가득찼을떄 RAM 저장하기떄문에 느려지는원인이 될수있다.)

 

  *OS 커널 스페이스     - 드라이버 설치 (하드웨어  장치의 연결 프로그램 설치)  

RAM의 구성

STACK 지역변수 / 매개변수   -STACK 차면 내려감
  STACK/HEAP 만날시 STACK OVERFLOW 오류발생
HEAP 입력메모리  -HEAP 차면 올라감 
BSS  
DATA  
TEXT 상수 ( 0,1)

 

*CTRL+ALT+DLT   ->   작업관리자 - 프로세스 - 메모리    ->   현재 사용(저장)중인 메모리양을 확인가능하다.

위와 같이 현재 사용중인 메모리를 확인할수있다.

 

 

그렇다면, 우리가 프로그래밍을 하면서 사용하는 컴파일 / 컴파일러란 무었일까?

-컴파일이란?    - 사람의 언어를 컴퓨터로 변환해 주는과정.    컴파일키 -> 디버그(오류검사작업) -> 빌드(실행프로그램을 만들어주는 작업) -> 링크(실행프로그램이 저장된 주소) -> 실행 프로그램 구동          과정으로 이루어진다.

-컴파일러?      -컴파일을 해주는 개발환경프로그램    ex) 비쥬얼 스튜디오, 이클립스 etc...

 

 

 

 

728x90