본문 바로가기
728x90
반응형

전체 글320

[OS] 운영체제 system call 운영체제란 하드웨어를 제어하고 다양한 하드웨어, 소프트웨어 리소스들을 효율적으로 관리한다. 즉 사용자는 운영체제를 통해 시스템을 편리하게 이용할 수 있다. 사용자가 실행 시킨 응용 프로그램은 운영 체제를 통해 하드웨어에 간접적으로 접근할 수 있다. 많이 사용하는 운영체제의 종류에는 Windows, MacOS, ubuntu 등이 있다. 운영체제는 정말 다양한 역할을 하지만 사용자 인터페이스를 통해 사용자와 상호작용 하는 방식과 하드웨어와 상호작용 하는 방식을 알아보자. 사용자 인터페이스인터페이스란 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉 사용자 인터페이스란 사용자와 컴퓨터를 연결해주는 역할을 한다고 볼 수 있다. 그렇다면 사용자가 운영체제에 접근하기.. 2024. 8. 25.
[CodeTree] 십자 모양 폭발 (중력) https://www.codetree.ai/missions/2/problems/cross-shape-bomb/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 알고리즘시뮬레이션특정한 알고리즘을 요구하는 문제는 아니고 단순 시뮬레이션, 구현 문제이다.문제 해결 과정이 문제는 폭탄을 터뜨린 다음 중력이 작용했을 때 숫자들의 상태를 출력하는 문제이다. 먼저 폭탄이 터져서 숫자들이 사라졌다는 것을 0으로 표현한다. 숫자는 무조건 1이상 100이하이기 때문에 0이라면 숫자들이 터졌다는 것을 의미한다. 폭탄이 터질 때는 동서남북으로 터지기 때문에.. 2024. 8. 24.
[CodeTree] 삼각형 컨베이어 벨트 https://www.codetree.ai/missions/2/problems/conveyor-belt-triangle/description알고리즘시뮬레이션특정한 알고리즘을 요구하지 않는 단순 구현 문제이고 1차원 배열을 한 쪽 방향으로 n칸 만큼 미는 문제이다. 1차원 배열을 한 쪽 방향으로 n칸 만큼 미는 방법은 구현 문제에서 자주 등장하기 때문에 정리해두려고 한다. 문제 해결 과정한 칸씩만 미는 경우를 생각해보자. 크게 두 가지 방법이 있는데 기존 배열을 활용하는 방법과 새로운 배열을 생성하는 방법이다. 기존 배열을 활용할 때는 다음 두 가지를 기억하자.방향을 반대로 생각한다.첫 값을 기억해둔다.n을 최소화 한다.오른쪽으로 한 칸씩 미는 경우는 다음과 같다. 만약 진행 방향과 동일하게 진행한다면 이.. 2024. 8. 23.
동기(Synchronous) vs 비동기(Asynchronous), 블로킹(Blocking) vs 논블로킹(Non Blocking) 동기, 비동기동기 비동기는 작업의 순서에 초점을 맞춘다. 동기 작업은 요청한 작업이 완료된 후 다음 작업을 진행하기 때문에 작업의 순서가 보장된다. 비동기 작업은 작업을 요청한 후 완료 여부를 따지지 않고 바로 다음 작업을 진행하기 때문에 작업의 순서가 보장되지 않는다. 비동기의 장점은 요청을 보내고 완료 여부를 따지지 않기 때문에 여러 작업을 동시에 진행할 수 있지만 어떠한 작업이 먼저 완료되는지 알 수 없다. 블로킹, 논블로킹블로킹, 논블로킹은 코드의 흐름을 제어할 수 있는 제어권에 초점을 맞춘다. 블로킹 방식은 함수를 호출하면 호출한 함수에게 제어권을 넘겨주기 때문에 코드의 흐름이 멈춘다. 논블로킹 방식은 함수를 호출하면 제어권을 자신이 가지고 있기 때문에 코드의 흐름이 멈추지 않는다. 동기 + 블.. 2024. 8. 22.
728x90
반응형