본문 바로가기

전체 글

(231)
[DB] 정보 시스템과 데이터베이스 📁 데이터와 정보 데이터란 현실세계로부터 단순한 관찰이나 측정을 통해 수집된 사실(Facts)이나 값(Value)으로, 비트들의 모음이다. 정보란 데이터를 처리한 결과로 만들어진 것을 말한다. 어떤 상황에 대한 적절한 결정을 할 수 있게 하는 근거이며, 데이터의 유효한 해석(Interpretation)이나 문맥(Context)을 부여해주는 것을 말한다. 정보시스템이란 한 기관을 위해 데이터를 수집, 조직, 저장하고 필요시에 처리하여 의사 결정에 유용한 정보를 생성, 분배하는 수단을 말한다. 데이터베이스 시스템이란 정보 처리 시스템이 그 기능르 효과적으로 수행할 수 있게 하는 가장 기본이 되는 도구이다. 📁 데이터베이스 활용 예시 (IN 비지니스 분야) 비지니스(Business) 분야에서 데이터를 저장하고..
[PL] Syntactic sugar와 Identifiers 📁 언어의 확장 언어의 확장은 다음과 같은 단계를 수반한다. Interpreted language는 다음 단계를 추가로 수반한다. Compiled language는 다음 단계를 추가로 수반한다. 최적화 등의 기능이 더 있으므로 Interpreted language보다 Compiled language가 더 많은 확장 단계를 수반한다. 🔎 concrete syntax와 abstract syntax확장이 끼치는 영향 Concrete syntax는 개발자가 작성하는 구문이므로 이것에 변화가 있다는 것은 1번 프로그램 안의 코드 형태에서 변화가 있다는 뜻이다. 1번 프로그램 코드에 변화가 있을 때 영향받는것은 2번 AST 직전까지이다. Concrete syntax를 토큰화하기 위해서는 Lexer에서 새로운 정의가..
[OS] File 📁 File 파일이란 보조기억장치 내부에 저장돼서 전원이 없어도 지워지지 않는 정보의 저장단위이다.
[OS] Deadlock 처리 방법 📁 Deadlock 처리방법 1. 프로세스들이 아예 데드락에 걸리지 않도록 OS가 사전에 예방하는 방법 2. 데드락이 발생할 수는 있는데, 발생할 경우에 OS가 이를 감지하고 데드락을 풀어주는 방법. 3. OS가 데드락에 대해 아무것도 하지 않고 관리자인 사람이 해결하는 방법. 1, 2 방법이 좋아보이지만, OS가 사전에 예방하거나 데드락을 찾고 풀어주는 일은 시간이 많이 걸리기 때문에 컴퓨터 실행속도가 대폭 늦어지게 된다. 데드락은 몇 달에 한번 발생할 정도로 가끔 발생하는데 이런 현상을 대비하기 위해서 평소에 컴퓨터 동작 속도가 느려지는것은 불편하다. 때문에 세번째 방법이 현실적인 대안이다. 대부분의 유닉스, 윈도우즈, 리눅스와 같이 상용 운영 체제에서는 세번째 방법을 이용한다. 이 말은 OS 내부에..
[OS] Deadlock 📁 Deadlock 발생 조건 Deadlock이란 두 개 이상의 프로세스들이 절대로 발생할 수 없는 이벤트를 무한정 기다리는 상황이다. 위 그림은 deadlock이 발생하지 않는 프로그램이다. 데드락은 어떤 프로세스가 어떤 리소스를 가지고 있는 상태에서 다른 프로세스가 가진 리소스를 요청할 때 발생하는 것인데, 위 프로그램은 리소스 A를 가진 상태에서 A를 다 쓰고 놓은 후 B라는 리소스를 요청하고 다 쓰고 놓는 방식으로 동작한다. 즉 P는 데드락이 발생하지 않는 프로그램이고, Q는 발생할 가능성이 있는 프로그램이다. 하지만 데드락이 발생하려면 P와 Q 둘 다 서로 리소스 하나를 가진 상태에서 다른 프로세스가 가진 것을 요청해야하는데, Q는 그렇게 동작하지만 P는 그렇지 않으므로 P와 Q 사이에는 데드락..
[OS] Use of Semaphores
[OS] Semaphore 📁 Semaphore testset 함수를 사용하는 하드웨어 방법의 단점을 극복하는 또 다른 하드웨어 지원 방법. semaphore는 음수, 0, 양수가 될 수 있는 만들어진 특별한 변수이다. semaphore 변수의 값을 증가시키는 함수와 감소시키는 함수가 운영체제 내에 미리 구현되어 있어서, 이들을 불러 값을 변경한다. semWait(s) : semaphore 값을 1 감소시킴. P(s), Wait(s), donw(s)라고도 부름. semSignal(s) : semaphore 값을 1 증가시킴. V(s), Signal(s), up(s), sem_post(s)라고도 부름. 이때 s는 프로그래머가 선언한 세마포어 이름. testset과 같이 하드웨어 지원을 받는 특별한 함수이며, 즉 automic하게 실..
[OS] Critical-Section Problem : Hardware Solution critical section problem에서 하드웨어 지원을 받는 해결방법 interrupt가 비활성화된 상태로 실행되는 특수한 instruction을 사용하는 방법이다. 즉 automic operation을 이용하는 방법. 지난 포스팅에서 설명했던 automic operation처럼 critical section을 automic operation으로 만들자는 것이 아니라, automic operation으로 만들어진 특수한 함수를 이용하여 entry section을 만들자는 것이다. 운영 체제 안에 개발자들이 미리 작성해놓은 특별한 함수가 있는데, 이는 automic으로 실행되며 아주 짧은 시간에 실행되기 때문에 그 사이에 interrupt를 비활성화시켜도 컴퓨터 운영에 큰 문제가 없다. 즉 위험성..