프로그래밍/CS
-
운영체제 (2)프로그래밍/CS 2024. 8. 31. 21:20
> 운영체제가 제공하는 동기화의 의미실행 순서 제어 : 프로세스를 올바른 순서로 실행상호 배제 : 동시에 접근해서는 안 되는 자원에 하나만 접근 공유 자원 : 공도의 자원 (파일, 전역 변수, 입출력장치 등)임계 구역 : 동시에 접근하면 문제가 발생할 수 있는 공유 자원에 접근하는 코드블록 레이스 컨디션 (race condition) : 임계 구역을 동시에 실행하여 자원의 일관성이 깨지는 현상 생산자와 소비자 문제 : 동기화가 이루어지지 않았을 때 발생할 수 있는 문제를 보여주는 고전적인 문제producer : 생산을 하는 프로세스(스레드)consumer : 소비를 하는 프로세스(스레드)=> 동기화되지 않은 상태에서 실행되기 때문에 똑같은 코드라도 결과 값이 예상했던 것과는 다르게 나오고 그 값이 계속 ..
-
운영체제 (1)프로그래밍/CS 2024. 8. 6. 00:17
운영체제 : CPU, 메모리, 디스크 할당 및 반환 등 각종 자원 관리커널 : 운영체제의 핵심부 (kernel.org 에서 리눅스 커널 소스코드 확인 가능)+ 운영체제 중에서 커널이 아닌 것 : UI=> 메모리에서 운영체제가 적재되는 공간 = 커널 영역 모든 응용 프로그램은 자원에 임의 접근이 불가능 = 반드시 운영체제를 통해서만 가능=> 운영체제는 일종의 문지기 역할을 수행함 이중 모드커널 모드 : 운영체제 서비스를 제공 받을 수 있음 (입출력 가능) = 커널 영역의 코드 실행 가능사용자 모드 : 운영체제 서비스를 지공 받을 수 없음 (입출력 불가능) = 커널 영역의 코드 실행 불가능운영체제 서비스 : 프로세스 관리, 자원(CPU, 메모리, 디스크) 관리 접근 및 할당, 파일 시스템 관리 시스템 콜 :..
-
컴퓨터 구조 (2)프로그래밍/CS 2024. 8. 5. 01:06
RAM(Random Axxess Memory) - 휘발성 저장장치 : 전원 꺼지면 저장된 내용 지워짐램 크기 클수록 많은 프로그램을 동시에 빠르게 실행하는데 유리함 = 성능에 영향 끼침DRAM(Dynamic RAM) : 시간 지나면 점차 저장된 데이터가 사라짐 = 주로 메인 메모리로 사용SRAM(Static RAM) : 시간 지나도 저장된 데이터 사라지지 않음 (단, 전원 꺼지면 지워짐) = 주로 캐시 메모리로 사용SDRAM(Synchromous Dynamic RAM) : 클럭과 동기화된 DRAM = 클럭 타이밍에 맞춰 CPU와 정보 교환 가능 =SDRSDRAM(Single Data Rate SDRAM)이라고도 함DDR SDRAM(Double Data Rate SDRAM) : 대역폭을 넓혀 속도를 높인..
-
컴퓨터 구조 (1)프로그래밍/CS 2024. 7. 25. 23:52
컴퓨터는 소스코드 직접 이해하는 게 불가능해서 실행되기 전 명령어(+ 데이터)로 변환되어 실행됨 저급언어 : 컴퓨터가 이해하기 편한 언어 (ex. 명령어, 데이터)기계어(machine code) : 0과 1로 표현된 컴퓨터가 직접 이해하는 언어어셈블리어(assembly language) : 조금이라도 읽기 편하게 기계어를 변환한 언어 고급언어 : 사람(개발자)가 이해하기 편한 언어 (ex. 소스코드)컴파일 : 소스코드 전체가 컴파일러(gcc, clang, Visual Studio 등)에 의해 검사, 목적 코드로 변환 (ex. C/C++, Rust)인터프리트 : 소스코드를 한 줄씩 인터프리터에 의해 검사, 목적 코드로 변환 (ex. Python, JavaScript)(( 언어 변환되는 것 확인해 볼 수 있..