락(Lock)에 대해서 알아보자.
·
공부/CS
jungle-cs-study/2025-04/week05/bh_lock.md at main · Jungle-CS-Study/jungle-cs-studyContribute to Jungle-CS-Study/jungle-cs-study development by creating an account on GitHub.github.com1. 락(Lock)이 왜 필요할까?프로그램에서 프로세스는 단 하나지만, 스레드는 여러개가 존재할 수 있다. 2개의 스레드 A, B가 있다고 가정하고 둘 다 Coins 변수를 공유하고 있다고 생각해보자. 스레드 A와 B가 서로에게 영향을 주지 않고 독립적으로 수행된다면, 훌륭한 일이지만 안타깝게도 스레드 A가 Coins 변수를 사용하고 있을 때, 스레드 B도 사용하고 싶을 수 있다...
[CS] 시스템 콜(System Call)
·
공부/CS
☑️ 시스템 콜(System Call)이 무엇인가?운영체제는 커널 모드와 사용자 모드로 나뉜다. 커널 모드는 운영체제의 모든 권한을 가지고 있는 모드이며, 사용자 모드는 제한된 권한을 가진다. 우리가 프로그래밍을 통해서 생성하는 응용 프로그램은 사용자 모드로 실행된다. 그렇기 때문에 제한된 권한을 가지게 된다. ☑️ 왜 모드가 나뉠까?모드 구분을 하는 핵심 적인 이유는 하드웨어의 보호를 위해서다. 커널 모드와 사용자 모드 구분 없이, 동일한 환경에서 운영체제와 응용 프로그램이 실행된다면 악의를 가진 프로그램이 있을 때, 운영체제는 보안에 취약해진다. 동일한 환경에서 실행되었기 때문에 악의적인 프로그램은 운영체제에 간섭할 수 있게 된다. 또, 어떤 프로그래머의 실수로 인해서 시스템에 크리티컬 한 이슈를 생..
SOLID 원칙은 무엇을 의미할까?
·
공부/CS
SOLID 원칙은 무엇을 의미할까? 객체 지향 언어를 다루다보니 SOLID 원칙에 대해서 접할 기회가 많았었는데, 졸업 작품에서 리팩터링을 진행하기 위해서 내가 알고 있는 내용들을 파트원들에게 공유하고자 처음으로 내용을 블로그에 정리한다. * 내용은 주관적 서술로 진행됨을 알립니다. 원칙의 어원 SOLID 원칙은 로버트 마틴이 2000년 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 기본 원칙을 말한다. 각자 SRP, OCP, LSP, ISP, DIP로 총 5개의 구성으로 이루어져 있으며, 각자의 앞글자를 따와 SOLID 원칙이라 한다. 중요하지는 않다. 사실 위에 적혀있는 SOLID 원칙의 어원은 중요한 것이 아니다. 우리가 중요하게 생각해야 하는 것은 왜 사용해야하는지에 대해서 판별을 내리는 것..
[사운드 - LostArk 배경음악]
·
공부/CS
- 사운드 제작 - 학교 과제