[크래프톤 정글/Week 08/PintOS] Alarm Clock ( Busy-Waiting을 Sleep/Wakeup으로 바꿔보자 )
·
활동/크래프톤 정글
🖐️Alarm Clock ( Busy-Waiting을 Sleep/Wakeup으로 바꿔보자 )지금 PintOS에서 구현된 Alarm Clcok을 Busy-Waiting에서 Sleep/Wakeup으로 변경하라. 아무 생각이 없다가 이번 주차를 맞이하고서 크래프톤 정글의 마지막이 가까워지는 게 느껴진다. 드디어 대망의 PintOS가 시작됐다. 모든 자료들이 영문으로 되어있어서 접근이 어려운 부분이 있지만, 제공되는 Gitbook을 본다면 어렵지 않게 해야 할 일들을 생각할 수 있다. 이번 게시글만 과제에 접근한 순서대로 작성해보려고 한다. ☑️ STEP 0. 키워드 정리아직 블로그에 올리지는 않았지만, 해당 주차를 시작하고 과제의 갈피를 잡지 못해서 우선적으로 키워드를 정리하는 시간을 가졌다. 정글에서 제공..
[크래프톤 정글/Week 07] 키워드 정리
·
활동/크래프톤 정글
☑️ 네트워크 계층(OSI 7 Layer, TCP/IP Layer)⭐ OSI 7 Layer  OSI 7 Layer를 이해하기 위해서는 OSI 모델을 알아야 한다. OSI 모델은 네트워크 통신을 위해서 7개의 계층으로 표현된 이론을 의미한다. 하드웨어나 응용 프로그램에 직접 구현된 것이 아니라, 해당 이론을 기반으로 프레임워크를 만들게 된다. 그렇기 때문에 OSI 모델은 OSI 참조 모델(OSI Reference Model)이라고 부르기도 한다. OSI 7 Layer가 무엇을 의미하는지 알게 되었으니까, 각 계층이 가지는 역할을 보자. 계층마다 역할을 수행하기 위한 방법이 많지만 자세한 내용은 피하고 어떤 역할을 가지는지만 간단하게 보자. 1) 물리(Physical) 계층OSI 모델 최하위에 존재하는 계층..
[Python, 2156번] 포도주 시식
·
코테/백준
☑️ [Python, 백준/2252번] 줄 세우기1️⃣ 문제2️⃣ 접근문제를 풀다가 알고리즘을 꾸준히 해야겠다는 생각이 들었다. 어렵지 않게 점화식을 생각할 수 있는 문제였는데, 도저히 생각이 나지 않아서 다른 블로그의 풀이를 참고해서 풀었다. 지금 다시 생각해보면 아쉬운 점은 노트에 필기할 때, 어떻게 접근하면 좋을 지 잡았었는데 실제 코드로 옮기지 못한 부분이 아쉽게 다가온다. 풀이는 아래 블로그 참고 [백준/파이썬] 2156 포도주 시식https://www.acmicpc.net/problem/2156다이나믹프로그래밍백준 2579 계단오르기 문제와 상당히 유사하다.차이점은 계단오르기는 마지막 계단을 꼭 밟고 끝나지만, 이 문제는 마지막 잔을 마시지 않을 수도velog.io 3️⃣ 코드import sy..
[OSTEP] 메모리 가상화 정리(12장~13장)
·
독서/OSTEP
☑️ 12. 메모리 가상화에 대한 대화응용 프로그램이 생성하는 모든 주소는 가상주소다.운영체제는 프로세스에게 환상을 전달한다.어떤 환상을 전달하는가? -> 프로세스가 자신만의 전용 메모리를 가진다.왜? -> 쉬운 시스템을 제공하기 위해서각 프로세스에게 코드와 데이터를 저장할 수 있다는 연속된 주소 공간을 가지고 있다는 환상을 제공한다.고립과 보호 개념을 위해서 제공하는 사유도 있다.☑️ 13. 주소 공간의 개념❎ 13.2 멀티프로그래밍과 시분할시간의 흐름에 따라서 CPU의 이용률이 증가했다.이로 인해서 효율성 개선이 중요해졌다.시분할(Time-Sharing) 기법이 등장하고 대화식 이용(interactivity)의 개념이 부각되었다.시분할은 하나의 프로세스를 짧은 시간 동안 실행시키는 방법이다.프로세스는..
[CS] 시스템 콜(System Call)
·
공부/CS
☑️ 시스템 콜(System Call)이 무엇인가?운영체제는 커널 모드와 사용자 모드로 나뉜다. 커널 모드는 운영체제의 모든 권한을 가지고 있는 모드이며, 사용자 모드는 제한된 권한을 가진다. 우리가 프로그래밍을 통해서 생성하는 응용 프로그램은 사용자 모드로 실행된다. 그렇기 때문에 제한된 권한을 가지게 된다. ☑️ 왜 모드가 나뉠까?모드 구분을 하는 핵심 적인 이유는 하드웨어의 보호를 위해서다. 커널 모드와 사용자 모드 구분 없이, 동일한 환경에서 운영체제와 응용 프로그램이 실행된다면 악의를 가진 프로그램이 있을 때, 운영체제는 보안에 취약해진다. 동일한 환경에서 실행되었기 때문에 악의적인 프로그램은 운영체제에 간섭할 수 있게 된다. 또, 어떤 프로그래머의 실수로 인해서 시스템에 크리티컬 한 이슈를 생..
[TIL/크래프톤 정글] Day 40 ~ 42
·
활동/크래프톤 정글
🖐️[크래프톤 정글] TIL - 241010 ~ 241012RB 트리를 구현하면서 공부 목표 분배에 대해서 많은 고민이 든다. RB 트리에 대한 설명들을 들으면서 직접 Insert를 구현해보려고 노력했는데, 결국 CLRS 책에 있는 의사코드를 바탕으로 풀었다. 풀어냈음에도 아쉬운 마음이 있고.. 확실히 구체적인 공부 목표를 가지는게 중요하다. ☑️ RB Tree 함수 일부 구현 ( new_rbtree, left_rotate, right_rotate )☑️ CSAPP ~7.2 독서