본문 바로가기

CS 전공수업/컴퓨터 운영체제

(4)
[OS] 운영체제 꼬리물기 질문 대비 * 참고한 사이트: https://github.com/ksundong/backend-interview-question, https://suhyunsim.github.io/2023-03-14/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EB%A9%B4%EC%A0%91%EC%A7%88%EB%AC%B8 Q 프로그램의 종류에 대해 설명해주세요 애플리케이션, 미들웨어, 운영체제 이렇게 구분할 수 있을 것 같습니다. 애플리케이션은 사용자가 직접 사용하는 프로그램을 의미합니다. 미들웨어는 여러 개의 애플리케이션이 공통으로 사용하는 것들을 모아 앱의 실행을 도와줍니다. 운영체제는 큰 틀에서 사용자가 하드웨어를 사용하는 것을 도와주는 소프트웨어라고 할 수 있습니다. Q OS의 역할은 뭐죠? OS는..
[OS] 프로세스 & 쓰레드 프로세스란, 쓰레드란?* 프로세스 process : 컴퓨터에서 실행되고 있는 프로그램을 말함. CPU 스케줄링의 대상이 되는 task.* 쓰레드 thread: 프로세스 내 작업의 흐름. 멀티 프로세스 & 멀티 쓰레드말그대로 각각 여러 개의 프로세스와 쓰레드를 쓴다는 말. 둘 사이 특징이 다르므로, 이를 기억하자.그런데 CPU (정확히는 코어)의 수는 어차피 정해져 있는데, 멀티 프로세스든 쓰레드든 그게 뭐가 중요하지? 라고 생각할 수 있는데, 여러 개의 프로세스 혹은 쓰레드는 하나의 CPU를 정말 빠른 속도로 사용하고, 비켜줬다가, 다시 사용하는 것을 무한 반복한다. context switching. 그렇기 때문에 여러 개의 프로그램을, 마치 동시에 진행하는 것처럼 사용자에게 보여줄 수 있는 것. * 멀..
[OS] 메모리, 캐시, 운영체제의 메모리 관리 기본적으로 컴퓨터 구조를 다룰 때, CPU의 ALU가 연산을 시전하는 부분이라면 그 일련의 과정에 있어서 데이터를 저장하고 빼내는 등의, 일종의 창고 역할을 하는 부분이 필요한데, 그걸 넓은 의미에서의 메모리라고 한다.  메모리의 종류 종류로는 레지스터, 캐시(L1, L2, L3), RAM(주기억장치), 디스크(보조기억장치) 등이 있다. 저 순서대로 오른쪽으로 갈수록 더 많은 양의 데이터를 저장할 수 있지만, CPU로부터의 접근성이 떨어지고, 그렇기 때문에 가격도 싸진다.참고로 레지스터와 캐시의 일부(1은 항상, 2는 때때로)는 CPU 내부에 위치해 있다. 접근성이 최고인 셈. 각각을 알아보면, 1 레지스터: CPU가 즉시 사용할 수 있는 데이터를 저장하는 공간.2 캐시 메모리: CPU가 매우 빠르기 때..
[OS] 운영체제 기본 OS란?사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스.컴퓨터 하드웨어가 있고, 하드웨어를 사람이 사용하고자 할때 (어플리케이션을 통해 상호작용) 하드웨어와 사람 사이에서, 사람을 도와 하드웨어를 활용할 수 있게 도와주는 장치라고 생각하면 편하다.참고로 운영체제 중에 소프트웨어를 추가로 설치할 수 없는 것을 firmware라고 명명함. OS의 역할?OS의 역할은 4가지로 크게 분류:CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리함.메모리 관리: 한정된 메모리를 어떤 프로세스에 얼마만큼 할당할지 관리함.디스크 파일 관리: 디스크 파일을 어떤 방법으로 보관할지 관리함.I/O 디바이스 관리: I/O 디바이스들 (마우스, 키보드, ..