본문 바로가기

[C언어] 1614. Maximum Nesting Depth of the Parentheses https://leetcode.com/problems/maximum-nesting-depth-of-the-parentheses/ 알고리즘보다 C언어 이해도를 높이고자 문제를 풀어봤다. 포인터에 대한 이해가 필요할 듯 하다. 더보기
[64비트 멀티코어 OS 원리와 구조] 7장 - C언어로 코드를 작성하자 이번 장에서 해야 할 일 1. C소스 파일 추가 2. 1을 빌드하여 보호 모드 커널 이미지에 통합 실제로 하는 일은 C언어로 작성한 커널을 보호 모드 엔트리 포인트의 뒷부분에 연결하고 엔트리 포인트에서는 C 커널의 시작부분으로 이동하는 것이 전부 7.1 실행 가능한 C 코드 커널 생성 방법 - C코드는 컴파일과 링크 과정을 거쳐서 최종 결과물이 생성된다. - 컴파일 과정은 소스 파일을 중간 단계인 오브젝트 파일로 변환하는 과정으로 소스 파일을 해석하여 코드 영역과 데이터 영역으로 나누고, 이러한 메모리 영역에 대한 정보를 생성하는 단계다. - 링크 단계는 오브젝트 파일들의 정보를 취합하여 실행 파일에 통합하며, 필요한 라이브러리 등을 연결해주는 역할을 하는 단계. 엔트리 포인트가 C 코드를 실행하기 위한.. 더보기
[64비트 멀티코어 OS 원리와 구조] 6장 - 32비트 보호모드로 전환하자 6.1 세그먼트 디스크립터 생성 - 세그먼트 디스크립터란, 세그먼테이션 기법에서 세그먼트 (메모리 공간을 임의의 크기로 나눈 영역)의 정보를 나타내는 자료구조. - 리얼 모드의 세그먼트 레지스터라는 명칭이 보호 모드에서 세그먼트 셀렉터라는 이름으로 바뀜. 세그먼트 디스크립터 - 코드 세그먼트 디스크립터: 실행 가능한 코드가 포함된 세그먼트에 대한 정보. CS 세그먼트 셀렉터에 사용됨 - 데이터 세그먼트 디스크립터: 데이터가 포함된 세그먼트에 대한 정보. CS 세그먼트 셀렉터 제외 나머지 셀렉터에 사용 가능 - 우리 OS에서 필요한 세그먼트 ㄴ 커널 코드와 데이터용 세그먼트 디스크립터 각 1개 ㄴ 커널 코드와 데이터용 세그먼트 디스크립터는 0 ~ 4GB까지 모든 영역에 접근할 수 있어야 함 ㄴ 보호 모드용.. 더보기