상세 컨텐츠

본문 제목

운영체제와 용어정리

coding/리눅스

by golduny_zoo 2021. 3. 23. 14:48

본문

728x90

사람은 '팔을 구부리자'라고 생각하면 뇌에서 신경을 거쳐 근육을 이완하고 수축한다.

 

컴퓨터는 '파일을 열자' CPU로 연결이 되서 RAM을 거쳐 하드디스크에 저장되어 있는 파일을 RAM에게 전달한다. 

 

이렇게 사람과 컴퓨터는 동작을 할 때 보이지는 않지만 프로세스를 거친다.

 

만약 사람이나 컴퓨터를 제어하기 위해 부품 하나하나에 작업을 시키게 된다면 굉장히 많은 오류나 문제가 생길 것이다.

 

그러나!! 

컴퓨터가 만들어진 초기에는 컴퓨터의 부품하나하나에 명령을 해야하는 일이 있었다. (뒤지게 힘들었을듯...)

근데.. 저장이 안됬었다.. 사람이 직접 저장을 해야했다.

 

그래서!! 사용하기 힘드니(효율성이 떨어지니)

똑똑한 사람(컴퓨터의 아버지, 존폰 노이만)들이 저장이라도 하자라고 생각해서 

프로그램 내장 방식을 만들어 냈고,

 

연산방식과 내장방식을 갖춰진 PC가 만들어졌다.

 

(그래서 효율성이 있는 컴퓨터는 연산이 빠르고, 저장공간이 많다는 의미가 되기도 한다.)

 

운영체제는 이러한 일을 간단하게 만들어주는 역할을 한다. 


운영체제는 무슨 일을 하는지 어떤게 필요한지 알아보자

운영체제 : 컴퓨터를 운영/운용할 수 있는 인터페이스, (시스템)소프트웨어 

운영체제는 무슨 일을 하는지   >   사람이 하지 않아도 되는 일

- 1+1을 계산하기 위해 CPU와 0,1로 대화하기

- 게임을 실행하기 위해 실행 및 설정파일을 메모리/하드디스크에게 물어보기

- CPU가 바쁘지 않도록 항시 체크하기

- 하드웨어를 직접 컨트롤하는 행위


- 컴퓨터를 작동상태로 만듬 = Boot(부트)
- 컴퓨터 자원을 효율적으로 관리
- 응용프로그램(소프트웨어) 관리
- 사용자가 하드웨어를 쉽게 다루게 함

 

운영체제는 어떤게 필요한지  >  기본적인 하드웨어

CPU( Central Processing Unit )

- 모든 하드웨어의 작동을 제어

 

주기억장치(RAM : Random Access Memory)

- 데이터 임시 적재

- 데이터 휘발성(연산에 주목적이 있다.)

 

보조기억장치(하드디스크, SSD 등)

- 저장에 목적이 있다. 

- 느리다. 

 

하드웨어??(인터페이스)

- 마우스, 키보드 등 외부 장치

운영체제의 구성

 

Boot-loader : 컴퓨터 부팅을 담당

Kernel : 하드웨어가 효율적으로 일하도록 관리 = 노동자(작업반장) = CPU+ 프로세서

Shell : 사용자의 명령을 해석하여 커널에게 전달(커널을 일하게 만듬) = 통역관 


인터페이스 : 서로 관련없는 것들이 상호작용하는 데에 사용하는 장치/시스템

 

하드웨어 인터페이스 : 하드웨어끼리 주고받는 전기신호와 그것이 가진 의미 

소프트웨어 인터페이스 : 운영체제와 소프트웨어, 소프트웨어와 소프트웨어

사용자 인터페이스 : 컴퓨터와 사람간의 상호작용(키보드, 마우스와 그것의 신호)

   ex) 로봇이 배달을 하기 위해서 : 구글 API(소프트웨어 인터페이스)를 사용한다.


소프트웨어 : 하드웨어 안의 데이터로 존재하는 프로그램

공학 관점에서의 종류 

  • 시스템 소프트웨어 : 컴퓨터를 기능하게 해주며, 시스템의 자원을 관리하거나 응용소프트웨어들을 관리하는 목적의 소프트웨어
  • 응용 소프트웨어 : 컴퓨터를 통한 '응용'목적의 일을 수행할 수 있도록 도와주는 소프트웨어 

 


커널의 역할 

보안 = 외부로부터 컴퓨터의 하드웨어와 프로세스를 보호합니다.

자원관리 = 메모리, CPU 등이 가지고 있는 자원이 낭비되지 않도록

추상화 = 복잡한 하드웨어의 물리적인 구조를 신경쓰지 않아도

 

프로세스 (과정 혹은 절차)

 - 프로세서에 의해 컴퓨터에서 실행되고 있는 프로그램을 의미(컴퓨터 분야에서는 작업)

 

프로세서 (전기신호를 통해 명령을 처리하는 논리회로)

- CPU를 구성하는 회로 (CPU 코어)

- 프로세스(작업)을 담당하는 담당자

 

관련글 더보기