cs study
-
[프로그래밍 언어] 선언형 언어프로그래밍 언어/개념 2021. 6. 10. 00:49
선언형 언어 "아, 전 이거 할거에요. 근데 어떻게 할지는 몰라요 ㅋㅋㄹㅃㅃ~ 누가 해주겠죠." - 선언형 언어 선언형 언어는 자신이 수행할 목표를 명시하지만, 목표를 어떻게 수행할 지에 대해서는 명시하지 않는 언어이다. 프로그램을 수행할 방법을 기술하는데 집중하는 명령형 언어(C, JAVA, FORTRAN 등)과는 반대되는 개념이다. 선언형 언어의 특성을 보여주는 대표적인 예시로는 HTML을 들 수 있다. 위의 사진을 보면 Hello World를 표시하는 HTML 코드를 볼 수 있다. HTML 코드는 h1 사이즈로 hello world! 룰 출력한다, h2 사이즈로 hello world! 를 출력한다 ... 등 무엇을 보여줄 것인지에 대한 기술만 되어있으며, 어떻게 보여주는지는 전혀 나와있지 않다. 즉..
-
[프로그래밍 언어] 스크립트 언어프로그래밍 언어/개념 2021. 6. 9. 22:55
스크립트 언어 (Script Language) 기생하는.. 언어? 스크립트 언어는 응용프로그램을 제어하는 언어로 해당 응용프로그램에 삽입되어 사용된다. 해당 응용프로그램에서 삽입된 스크립트 언어를 해석할 수 있는 API를 제공한다. 해당 API를 통해서 해석되면서 응용프로그램을 제어하면서 상호작용을 하게 된다. 하지만 삽입되어있다고 종속적으로 운영되는 것이 아니다. 응용프로그램과 그에 삽입된 스크립트 언어는 독립적으로 수행되며 운영된다. 스크립트 언어는 컴파일러와 다르게 인터프리터를 사용하기 때문에 실행 시 코드 전체를 한번에 확인하는 것이 아니라 한줄씩 단계적으로 확인한다. 스크립트 언어의 장점 인터프리터 방식을 이용하여 컴파일 없이 실행하기 때문에 결과를 바로 확인할 수 있다. 배우고 코딩하기가 쉽다..
-
[운영체제] Inter Process Communication(프로세스 동기화) - 1운영체제 2021. 6. 9. 21:32
Inter Process Communication (IPC) 두 개 이상의 프로세스가 동시에 진행되는데 같은 메모리 주소를 참조한다면? 프로세스 A와 프로세스 B가 메모리주소 M의 변수 x를 참조하고 있다고 하자. 프로세스 A와 프로세스 B는 모두 Read & Write가 가능하다. 프로세스 A와 프로세스 B가 동시에 변수 x를 수정하는 경우 어떻게 될까? 1. 다행히 충돌이 없는 경우 프로세스 A가 M주소의 변수를 Read한다. (M주소에는 x) 프로세스 A가 변수(x)에 2를 더한다. (M주소에는 x) 프로세스 A가 (x + 2)를 M 주소에 저장한다 (M주소에는 x+2) 프로세스 B가 M주소의 변수를 Read한다. (M주소에는 x+2) 프로세스 B가 변수(x+2)에 3를 더한다. (M주소에는 x+2..
-
[운영체제] 프로세스 스케쥴링(Process Scheduling)운영체제 2021. 6. 8. 02:31
Multi-tasking "그건 제 잔상입니다만..?" - CPU '멀티테스킹'이라 하면 '동시에 일을 처리한다.'는 뜻으로 모두 알고 있을 것이다. 컴퓨터, 스마트폰 등 전자기기의 CPU에게 쓰이는 '멀티테스킹'이란 단어는 엄밀히 말하면 동시에 일을 처리하는 것은 아니다. CPU는 동시에 한가지 프로세스(CPU의 일의 단위)밖에 처리할 수 없다. 하지만, 여러 프로세스가 밀려있는데 한 가지 프로세스가 끝날 때까지 그것만 한다면, 유저 입장에서는 매우 답답하다고 느낄 것이다. 동영상을 켰더니, 동영상을 로드하느라 마우스를 움직이거나 키보드를 치는 행동을 뒤로 미룬다면, 마우스, 키보드 인풋은 동영상이 끝나고나서야 작동할 것이다. '멀티테스킹'은 CPU가 한 순간에 한가지 일만 처리하 되, 아주 짧은 텀을..