Computer Sience/Operating System 3

컴퓨터 구조를 알아야 하는 이유

문제 해결의 관점 단순히 프로그래밍 언어 ex) 자바, 파이썬만 알아서는 여러 가지 문제가 생겼을 때 해결할 수 없다. 컴퓨터 구조를 알아야지 해결이 가능 즉 현재는 컴퓨터가 미지의 대상이지만 분석의 대상으로 시각을 바꿔야 한다.   성능, 용량, 비용 관점 개발을 할 때 항상 고려하는 3가지 컴퓨터 구조를 잘 알아야지 해당 3가지에 적합하게 개발 혹은 개발에 대한 인프라를 설계할 수 있다. 예를 들어 웹사이트를 개발하고 해당 사이트가 돌아가는 서버 컴퓨터를 고를 때 무조건 저렴한 컴퓨터? / 무조건 최신 컴퓨터? 이렇게 간단한 문제가 아니다. 개발할 웹사이트가 어느정도의 용량이 필요한지 또한 성능을 내기 위해서는 어떤 사양이 필요한지 내가 가지고 있는 비용에서 어떤 부분을 투자해야지 효율이 나오는지 이..

스레드 컨텍스트 스위칭 vs 프로세스 컨텍스트 스위칭

목차목표컨텍스트 스위칭(context switching)프로세스를 제어하기 위한 정보 모음 (PCB Process Control Block)프로세스, 스레드 구조스레드 컨텍스트 스위칭프로세스 컨텍스트 스위칭스레드 컨텍스트 스위칭이 더 빠른 이유컨텍스트 스위칭이 미치는 간접적인 영향?유저 관점에서 컨텍스트 스위칭이란?목표컨텍스트 스위칭은 무엇인가왜 스레드 컨텍스트 스위칭이 프로세스 컨텍스트 스위칭 보다 더 빠른지 이해컨텍스트 스위칭(context switching)CPU/코어에서 실행 중이던 프로세스/스레드가 다른 프로세스/스레드로 교체되는 것오늘날 프로세스는 무조건 1개 이상의 스레드를 가진다.CPU 기본 실행 단위 = 스레드그래서 프로세스가 다른 프로세스로 교체된다는 말은 프로세스(스레드)에서 다른 프..

OS level에서 어떻게 여러 프로그램이 동시에 실행될까?

목차목표용어 정리단일 프로세스 시스템멀티 프로그래밍멀티 태스킹스레드멀티 스레딩멀티 스레딩 VS 멀티 프로세싱참고 자료목표어떻게 여러 프로그램이 동시에 실행되는지 원리를 이해 용어 정리프로그램(Program)컴퓨터가 실행할 수 있는 명령어들의 집합프로세스(Process)컴퓨터에서 실행 중인 프로그램각각의 프로세스는 독립된 메모리 공간을 할당 받는다명령어들과 데이터를 가진다.CPU(Central Processing Unit)명령어를 실행하는 연산 장치메인 메모리(Main Memory)프로세스가 CPU에서 실행되기 위해 대기하는 곳IO(Input/Output)파일을 읽고 쓰기네트워크의 어딘가와 데이터를 주고 받는 것입출력 장치와 데이터를 주거나 받는 것단일 프로세스 시스템한 번에 하나의 프로그램만 실행됨→ 원..