[C] 읽기 전용 메모리 공간
·
IT/CS 공부
안녕하세요. 밥한그릇입니다 ^^ 오늘 친구와 연락을 하던 중 C언어의 '읽기 전용 메모리'에 관한 내용을 새롭게 알게되어, 오랜만에 포스팅을 쓰게 되었습니다. 그럼 시작합니다~ C언어는 프로그래밍 언어의 기본으로도 여겨지며, 하드웨어와 관련된 많은 api를 제공하고 직접 메모리를 할당-해제합니다. 따라서 사람의 언어보다는 기계의 방식에 더 가까운 low-level 언어로 분류되고 있습니다. 저 또한 C언어를 주력 언어로 사용해왔으나, 보통 개발 시 사용하게 되는 C언어의 기능이 제한적인 만큼 '읽기전용 메모리 공간'에 대한 내용은 오늘 처음 접하게 되었습니다. 따라서 포스팅을 통해 그 설명과 기록을 해두고자 합니다. 📟 메모리 공간 4개의 메모리 segment 메모리 공간은 OS에 의해 할당되어, 물리적..
[전공] C에서의 변수의 scope와 lifetime
·
IT/CS 공부
안녕하세요 밥한그릇입니다. 오늘은 변수들의 종류, 그리고 그 scope와 lifetime에 대해 알아보는 시간을 가질거에요. 다음 C 예제코드를 보고 그 scope와 lifetime에 대해 추측해봅시다. int x; static int y; int f(int v) { static int a = 0; int b; ... a++; b = a + v; ... } 다음과 같은 예제 코드가 주어졌을 때, 변수 x, y, v, a, b 의 scope와 lifetime은 각각 어떻게 될까요? int x : 전역 변수 static int y : 정적 전역 변수 int v : 지역 변수 (매개변수) static int a : 정적 지역 변수 static int b : 지역 변수 위 변수들은 이러한 종류로 구분됩니다. 정..
[컴파일러] LR 파서 문제 풀이
·
IT/CS 공부
안녕하세요 밥한그릇입니다. 컴파일러 과목의 LR(top-down) 파서 문제풀이 포스팅에 이어, LR (bottom-up) 파서 문제풀이 포스팅을 작성해보려합니다. https://nsa901.tistory.com/114 [컴파일러] LL 파서와 LR 파서 안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한 컴파일러 과목의 기말고사 시험이 끝난 지 이틀이 지났네요.. 시간을 많이 들여 강의노트를 정리한 페이지를 만들고, 거의 통째로 외 nsa901.tistory.com 앞선 개념 내용은 이전 포스팅에 설명해두었으니, 참고하시면 좋습니다. 이 포스팅에서는 parsing table일 이용해 LR 파서가 동작하는 예제를 풀어보는 시간을 갖겠습니다. 자 그럼, 시작합니다. 우선, 알고있어야할 한가지는 LR ..
[컴파일러] LL(1) 파서 문제 풀이
·
IT/CS 공부
참고로, LL(1) 파서는 한 글자만 내다보고 parsing 을 수행한다는 뜻입니다. k 글자까지 내다본 뒤 parsing을 수행하는 경우 LL(k) 파서라고 불립니다. 저는 이 포스팅의 예시 문제에서 predictive parser, 그러니까 non-deterministic LL 파서만 다룰 것입니다. 또, non-terminal과 terminal, 그리고 문법으로 non-terminal에서 terminal을 유도(derivation)하는 내용에 대해 대략 안다고 가정하고 설명하겠습니다. 기본적인 개념 내용은 제 이전 포스팅에서 설명해놓았으니 참고바랍니다. https://nsa901.tistory.com/114 [컴파일러] LL 파서와 LR 파서 안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한..
[컴파일러] LL 파서와 LR 파서
·
IT/CS 공부
안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한 컴파일러 과목의 기말고사 시험이 끝난 지 이틀이 지났네요.. 시간을 많이 들여 강의노트를 정리한 페이지를 만들고, 거의 통째로 외우다시피 시험 준비를 했어요. 그렇지만 불행하게도 강의노트에 잘 적혀있지 않은 부분들에서 기말 고사 문제가 많이 나와서 슬펐습니다. (ㅠㅠ) 제가 강의노트의 어려운 예제들을 풀고 이해하는 데 들었던 시간이 상당했었거든요. 인터넷에도 친절히 설명하는 자료가 거의 없었어서 더욱 그랬죠. 그래서 "예제를 이해하고 공부한 내 노력이 아까우니, 따로 예제들을 쉽게 풀이하는 포스팅을 만들어보자!"는 생각이 들었습니다. 아무래도 과목 진도 상 중후반쯤에 위치한 내용에다가 그 분량이 많아요. 그러니 컴파일러 과목의 앞부분에 대한 기초 ..
[KOCW] 운영체제 3차시 - 프로세스 관리
·
IT/CS 공부
프로세스 관리 (Process Management) 컴퓨터에서 제일 중요한 자원인 CPU를 어떻게 나눠주는가. 프로세스 (process) 프로세스 vs 프로그램 프로세스 : 실행 중에 있는 프로그램 (program in execution) 프로그램 : 하드웨어 안에 죽은 듯이 있는 것 무덤 속 프로그램, 살아 움직이는 프로세스 추가할 것) new, ready ,running, waiting, terminated 상태 시나리오 예시로 설명하기 PCB (proccess control block) ; 우리의 주민등록 정보와 비슷하다? 정부가 사람을 잘 관리하기 위해서 정보를 가지듯이. process = task 그러므로 TCB라고도 부름 프로세스에 대한 모든 정보 (base, limit, 현재까지 프로세스가 ..