본문 바로가기

개발자 준비119

[OS] 컴퓨터 시스템 구조 -2 컴퓨터 시스템 구조 운영 체제를 알기 전에 컴퓨터 시스템 구조를 알아보고 어떤 메커니즘으로 동작하는지 알아야 한다. 컴퓨터 시스템은 크게 프로세서(CPU, GPU), 메모리(다양한 종류) , 주변장치(키보드 등) 3종류로 구분할 수 있고, 이들은 서로 버스를 통해 상호작용한다. 프로세서 프로세서는 컴퓨터의 수뇌부로 각종 연산 과 컴퓨터 장치의 동작을 제어한다. 메모리 메모리는 데이터를 저장하는 기억장치로 프로그램이나 사용자 데이터 등을 저장한다. 메모리는 이렇게 4개의 계층으로 구분할 수 있는데, 아래와 같은 특징을 가진다. 위로 갈수록 속도가 빠르고 용량이 작음 아래로 갈수록 속도가 느리고 용량이 큼 이렇게 계층을 나눈 이유는 각 메모리간의 간극에서 오는 I/O지연을 해결하기 위해 구분되어있다. 레지스.. 2022. 5. 31.
[OS] 운영체제(feat. 커널) - 1 운영체제는 잘 만들어진 소프트웨어로써 개발의 교보재라고 생각한다. 알고리즘에 기반이자 문제 해결 전략을 배울수 있고, 작은 OS라고 할 수 있는 애플리케이션이 더 안정적이고 효율적으로 동작하도록 관리할 수 있을것이다. 운영체제란? 운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다. 운영체제의 목적 사용자에게 컴퓨터의 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공한다. 컴퓨터 시스템 하드웨어(CPU, I/O.. 2022. 5. 31.
자바의 비동기 처리(feat. 멀티 스래드) 자바의 비동기 처리 이전 포스트에서 비동기 구현에서 발생하는 문제를 해결하기 위해 비동기 처리를 해줘야한다고 했다. 💡 비동기 방식은 A와 B가 서로가 끝났든 안 끝났든 상관 없이 자신의 일을 하므로, A 의 작업 결과를 B에서 요구하는 경우에는 결과가 예상하는 값과 달라지는 등 곤란해질 수 있다. 비동기 처리의 방법 콜백 함수를 사용하여 코드의 흐름을 제한 하거나, 비동기로 작동하는 코드 사이에 동기 함수를 끼워넣어서 코드의 흐름을 조정하는 등의 기법을 이용해 비동기 처리를 구현 한다. 자바에서는 주로 멀티 스레드로 비동기를 구현함으로 멀티스레드에서 발생할수있는 동시성 문제를 해결하는 것이 자바의 비동기 처리의 주 과업이다. 💡 Javascript에서 callback뿐만이 아니라 Promise , as.. 2022. 5. 26.
동기 vs 비동기 동기 vs 비동기 https://www.youtube.com/watch?v=U42qWURR6Gw 동기란? 쉽게 설명해서 일련의 순서나 규칙을 가지고 동작하는 것을 말한다. 다른 함수를 호출했을때 해당 함수가 종료될때까지 기존 함수는 동작을 멈추고 대기한다. 비동기란? 기다리지 않고 호출 후에도 자신의 작업을 수행한다. 다른 함수를 호출했을때 해당 함수가 종료될때까지 기다리지 않고 기존 함수는 자신의 다음 동작을 수행한다. 이후, 호출한 함수가 작업이 완료되면 callback을 통해 처리한다. 비동기의 문제점 //case1 funcA(){ funcB(); int a = 1; print(a+2); } //case2 funcA(){ int a = funcB(); print(a); //funcB의 응답값을 이용.. 2022. 5. 25.