# basiccs

6개의 포스트
post-thumbnail

Basic CS(7)

2021-08-09 컴퓨터 하드웨어안에 있는 CPU, CPU안에 있는 메모리, HDD, SSD등의 보조기억장치 등 여러가지가 존재하고, 프로그램은 실행이 가능한 완성된 코드들의 모음으로 공부했다. 이런 프로그램을 실행한다 라는 의미는 CPU가 일을 한다는 의미이다. 즉, 보조기억장치에서 '실행에 필요한 데이터'가 메모리에 올라가고 CPU가 메모리 위에서 작업을 수행하는 과정이 프로그램을 실행한다 가 되는 것이다. 이런 프로그램을 실행할 때 우리는 CPU, 메모리, 보조기억장치와 함께 사용하는데 우리는 왜 이런 단어들이 익숙하지 않을까? 이런 단어나 과정을 몰라도 프로그램을 사용하는데 전혀 문제가 없기 때문이다. 바로 운영체제가 이 모든과정을 대신해주기 때문이다. 이번시간에는 운영체제에 대해 알아보자. 1. OS(Operating System) ![](https://images.velog.io/images/choijw1116/pos

2021년 8월 9일
·
0개의 댓글
·
post-thumbnail

Basic CS(6)

2021-07-04 이전 글에서 우리는 thread에 대해서 알아보았다. 잠깐, Thread를 remind해보자. Thread는 간단히 말해 Process내에 실행되는 실행단위이며, Process에게 Resource(code,data,heap)를 공유받고, 따로 stack을 할당받는다. Process 하나에 포함된 Thread들은 공동의 목적을 달성하려고 병렬로 수행한다. 대부분 다중 Thread 운영체제를 사용하고 프로그램 하나를 여러 실행 단위로 쪼개어 실행한다는 측면에서 다중 처리(Multi Processing)와 의미가 비슷하지만 동일 process의 thread는 resource를 공유하므로 자원 생성과 관리의 중복성을 최소화하여 실행 능력을 향상시킬 수 있다. 그리고 각 thread는 kernel이 개입하지 않고도 독립적으로 실행할 수 있어 서버에서 많은 요청을 효과적으로 처리할 수 있다. thread의 장점은 아래와 같다. > Respo

2021년 7월 5일
·
0개의 댓글
·
post-thumbnail

Basic CS(5)

2021-06-27 Javascript는 Single Thread 언어라는 것은 대부분 알고 있는 사실일 것이다. 자바스크립트의 Main Thread인 Event Loop가 Single Thread 이기 때문인데 그렇다면 도대체 Thread는 무엇일까? 그전에 알아보았던 Process와도 관련이 많아보이고,,, 도대체 Thread가 무엇인지 알아보자! 1. Thread 1-1. Thread? 가장 기본은 Thread의 정의부터 알아보자 > Thread는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. (출처:위키백과) > 정의를 읽어보니, Thread는 Process 내에 존재하는 녀석인가보다. Process와 깊은 인연이 있어보인다

2021년 6월 27일
·
0개의 댓글
·
post-thumbnail

Basic CS(4)

2021-06-20 저번 포스팅 Interrupt에 이어서 Context Switching에 대해서 알아보자. 저번 포스팅에서 했던 Interrupt는 프로그램이 작동중에 예기치 않은 문제가 발생했을 때, 이 문제를 해결하고 원래 수행하던 프로그램을 다시 수행하도록 만드는 메커니즘이고, 그 과정에 대해서 알아보았다. 이번 포스팅은 Interrrupt와 짝지처럼 있었던 Context Switching에 대해 알아보자. 1. Context Switching Context Switching 한글로 직역을 해보면 문맥변환 이라고 해석되는데 직역을 하면 안될 것같은 느낌이 온다. 그렇다면, Constext Switching이 왜 언급이 되었던 것일까? 우선, Context Switching의 정의에 대해서 먼저 알아보자. > Context Switch란 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해, 이전의 프로세스의

2021년 6월 22일
·
0개의 댓글
·
post-thumbnail

Basic CS(3)

2021-06-12 저번 포스팅에서 우리는 컴퓨터 실행모음집인 Program과 컴퓨터를 조작하도록 언어를 사용해 코드를 만들고 이를 전달해주기 위해 프로그램 언어를 사용해 작업해주는 Programming 그리고 실행중인 프로그램인 Process와 그 구성과 관리까지 알아보았다. 하우에붤, 쓰니는 프로세스와 밀접한 Thread에 대해 공부하기 전, Interrupt와 Context Switching이라는 단어를 읽고 말았다..(끝없은 파도타기의 서막이었다.두둥-!) 이 포스팅의 주제가 결정되어버린 순간이었다. 방해? 문맥교환? 그게뭔데?! (이번 포스팅은 Interrupt에 대해 설명하고 Context Switching은 다음 포스팅에서 설명하겠다.) 1. Interrrupt 쓰니가 학원이든 학교든 수업을 들었던 머나먼 옛날, 선생님이 칠판에 열심히 적어가며 수업진도를 나가고 학생들은 열심히 필기를 하

2021년 6월 12일
·
0개의 댓글
·
post-thumbnail

Basic CS(1)

2021-06-05 카공족이라는 단어를 모르는 사람은 없을 것이다. 카페공부족의 줄임말로써, 쓰니와 같이 카페에서 아메리카노 한잔과 함께 몇시간을 앉아 공부하는 사람들을 일컫는 말이다. 카공족들을 보면, 아주 흔하게 노트북을 사용하고 있는 것을 볼 수 있다. 컴퓨터는 이제 세상의 중심축과 같아서, 컴퓨터가 멈추는 순간, 전력망, 은행 등 모든 산업은 다 멈추게 될 것이고, 자동차, 비행기 등 모든 이동수단에도 문제가 생기게 될 것이다. 그렇다면, 컴퓨터는 어떻게 구성되어있을까? 1. Hardware 컴퓨터를 간단히 2개로 나누어보자면, 하드웨어와 소프트웨어로 나누어볼 수 있다. 물리적인 부분을 하드웨어, 눈으로 보이지 않지만, 하

2021년 6월 5일
·
2개의 댓글
·