본문 바로가기

내일배움캠프

cs, sql 주차 시작 + 간단한 용어 정리

2주간 알고리즘 주차가 끝나고 cs, sql주차가 시작되었다.

개인적으로 하드웨어에 관심이 많은 편은 아니라 다음주에 있을 sql이 더 기대가 되지만 그렇다고 수업을 안들을 것도 아니고... 가능한 열심히 해봐야겠다. GPU나 CPU같이 익숙한 용어들이 귀에 들어오기도 하고...

 

우선 오늘 수업때 들었던 용어들은 간단하게 정리해보았다.

  • 프로세스 : 현재 실행중인 프로그램
  • 프로세싱 : 프로그램이 실행중인 상태
  • 멀티테스킹 : 하나의 cpu가 시분할 방식을 사용해서 여러 작업이 동시에 처리되는 것 처럼 보이게 함
  • 멀티프로세싱 : 두개 이상의 프로세스가 동시에 실행중인 상태
  • 멀티 스레드 : 하나의 프로세스가 여러 작업단위를 가지고 있는것
  • 스케줄링 : 작업에 필요한 자원들은 누가 언제 어떻게 사용할지 결정해주는것
  • 커널 : 하드웨어와 소프트웨어간의 인터페이스 역할을 수행하기 위한 부분
  • 터미널 : 사용자와 컴퓨터간의 상호작용을 제공하는 인터페이스
  • CUI : 사용자가 문자를 통해 명령을 수행하는 것을 의미

 

이제 해당 개념들에 대해서 더 자세히 알아보면서 정리해볼 것이다.

 

  • 프로세스, 프로세싱 : 내 작업관리자를 열어보니 실행되고 있는 프로그램들이 프로세스 라는 창에 표시되고 있었다. 아, 현재 실행중인 프로그램들이 프로세스이고 지금 여러개가 동시에 실행되고 있으니까(=프로세싱이 동시에 작동중이니까) 멀티 프로세싱중인 상태구나
  • 멀티 테스킹, 멀티 프로세싱, 멀티 스레드 차이 : 이번 강의에서 가장 헷갈렸던 개념, 조금만 찾아보니 완전히 다른 개념이었다. 멀티테스킹은 하나의 cpu가 여러개의 프로세스를 처리하는 (것 처럼보이는) 개념, 멀티프로세싱은 실제로 여러개의 cpu가 여러개의 프로세스를 처리하는 개념, 멀티 스레드는 하나의 프로세스에 여러개의 작업단위가 있는 것이다. 정리하자면 내 컴퓨터의 cpu에 코어가 6개 있을 때, 기본적으로는 cpu 코어 하나당 프로세스를 하나씩 처리할 수 있지만(멀티 프로세싱), 각 코어들이 여러 프로세스를 처리할 수 있고 (멀티 테스킹) 각 프로세스들이 여러개의 작업단위를 가질 수 있다는 것이다.(멀티 스레드)
  • 스케줄링 : cpu가 여러 프로세스를 어떤 순서로 얼마나 할당할지 결정하는 과정 (멀티테스킹의 순서
  • 터미널, cui : 처음에는 터미널이 cui를 통해서 구현된 도구인줄 알았는데 아니었다. 터미널이 cui를 사용자에게 제공해주는 것이다. 터미널은 과거에 사용하던 하드웨어의 일종으로 사용자가 텍스트를 통해서 컴퓨터에게 명령을 내리는 도구였는데 그것이 지금의 소프트웨어 터미널이 된 것이다.

 

오늘의 개념 정리는 여기까지, 수업만 들었을 때, 이해가 되다 말다 하던 개념들을 자세히 정리해보니 각각 어떤 역할을 하는지 이해가 되었다.