본문 바로가기

운영체제

[면접을 위한 CS 전공지식 노트] 3.3. 프로세스와 스레드(1) 🔑 프로세스와 스레드 프로세스(process) CPU 스케줄링 대상인 작업(task)와 거의 같은 의미로 사용 컴퓨터에서 실행되고 있는 프로그램 프로그램이 메모리에 올라가 인스턴스화 된 것 스레드(thread) 프로세스 내 작업흐름 프로그램이 메모리에 올라가면 프로세사기 되는 인스턴스화를 거치고 운영체제의 CPU스케줄러에 따라 CPU가 프로세스 실행됨 🔑 프로세스와 컴파일 과정 프로그램 컴파일 과정 전처리 : 소스코드 주석 제거, 헤더 파일 병합, 매크로 치환 컴파일러 : 오류 처리, 코드 최적화 작업, 어셈블리어로 변환 어셈블러 : 어셈블리어를 목적 코드로 변환, 확장자는 운영체제마다 다름 링커 프로그램 내에 있는 라이브러리 함수나 다른 파일들과 목적 코드를 결합해 실행 파일을 만듦 정적 라이브러리 프.. 더보기
[면접을 위한 CS 전공지식 노트] 3.2. 메모리 - 메모리 관리 🔑 가상 메모리 메모리 관리 기법 중 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화 해 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것 가상주소와 실제 주소가 매핑되어있고 프로세스의 주소 정보가 들어있는 페이지 테이블로 관리 속도 향상을 위해서 TLB를 사용함 메모리와 CPU 사이에 있는 주소 변환을 위한 캐시 페이지 테이블에 있는 리스트를 보관하며 CPU가 페이지 테이블까지 가지 않도록 속도를 향상시킬 수 있는 캐시 계층 스와핑(swaping) 가상 메모리에는 존재하지만 실제 메모리인 RAM에는 현재 없는 데이터나 코드에 접근 시 페이지 폴트가 발생함 메모리에서 당장 사용하지 않는 영역을 하드 디스크에 옮기고 하드 디스크의 일부분을 마치 메모리처럼 불러와 쓰는 것을 스와핑이라고.. 더보기
[면접을 위한 CS 전공지식 노트] 3.2. 메모리(1) 🔑메모리 계층 레지스터 : CPU안에 있는 작은 메모리, 휘발성, 속도 가장 빠름, 기억 용량 가장 적음 캐시 : 휘발성, 속도 빠름, 기억 용량 적음 메모리, 주기억장치 : 휘발성, 속도 보통, 기억 용량 보통 저장 장치, 보조기억장치 : 비휘발성, 속도 느림, 기억 용량 많음 🔑램(RAM) 하드 디스크로부터 일정량의 데이터를 복사해 임시 저장하고 필요시마다 CPU에 빠르게 전달하는 역할 계층 위로 올라갈수록 비싸지지만 용량은 작아지고 속도는 빨라짐 경제성, 캐시 때문에 존재함 🔑캐시(cache) 데이터를 미리 복사해놓는 임시 저장소 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리 = 속도 차이를 해결하기 위해 계층 간에 있는 계층 데이터에 접근하는 시간이 오래 걸리는 경우.. 더보기
[면접을 위한 CS 전공지식 노트] 3.1. 운영체제와 컴퓨터 🔑운영체제(OS, Operating System) 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스 한정된 메모리나 시스템 자원을 효율적으로 분배함 🔑운영체제의 역할 CPU 스케줄링과 프로세스 관리 CPU소유권을 어떤 프로세스에 할당할 지, 프로세스의 생성, 삭제, 자원 할당 및 반환 관리 메모리 관리 한정된 메모리를 어떤 프로세스에 얼만큼 할당해야 하는지 관리 디스크 파일 관리 디스크 파일을 어떤 방법으로 보관할 지 관리 I/O 디바이스 관리 마우스, 키보드 등 입출력 장치와 컴퓨터 간에 데이터를 주고 받는 것을 관리 🔑운영체제의 구조 유저 프로그램 GUI 시스템콜 커널 드라이버 하드웨어 GUI 사용자가 전자장치와 상호작용할 수 있도록 하는 사용자 인터페이스의 한 형태 아이콘을 클릭하는 단순한 동작으로 .. 더보기

728x90