본문 바로가기

Computer Science19

[컴퓨터 구조] 중앙처리장치(CPU) 작동 원리 CPU는 컴퓨터에서 가장 핵심적인 역할을 수행하는 부분. '인간의 두뇌'에 해당크게 연산장치, 제어장치, 레지스터 3가지로 구성됨연산 장치산술연산과 논리연산 수행 (따라서 산술논리연산장치라고도 불림) 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보냄제어 장치명령어를 순서대로 실행할 수 있도록 제어하는 장치 주기억장치에서 프로그램 명령어를 꺼내 해독하고, 그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보냄또한 이들 장치가 보낸 신호를 받아, 다음에 수행할 동작을 결정함레지스터고속 기억장치임 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장용도에 따라 범용 레지스터와 특수목적 레지스터로 구분됨중앙처리장치 종류에 따라 .. 2024. 5. 1.
[컴퓨터 구조] 컴퓨터의 구성 컴퓨터가 가지는 구성에 대해 알아보자컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다.하드웨어 : 컴퓨터를 구성하는 기계적 장치소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합 하드웨어중앙처리장치(CPU)기억장치 : RAM, HDD입출력 장치 : 마우스, 프린터소프트웨어시스템 소프트웨어 : 운영체제, 컴파일러응용 소프트웨어 : 워드프로세서, 스프레드시트 먼저 하드웨어부터 살펴보자하드웨어는 중앙처리장치(CPU), 기억장치, 입출력장치로 구성되어 있다.이들은 시스템 버스로 연결되어 있으며, 시스템 버스는 데이터와 명령 제어 신호를 각 장치로 실어나르는 역할을 한다. 중앙처리장치(CPU)인간으로 따지면 두뇌에 해당하는 부분주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행.. 2024. 5. 1.
[OS] PCB와 ContextSwitching Process ManagementCPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것을 말함이때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능함프로세스들의 특징을 갖고있는 것이 바로 Process MetadataProcess MetadataProcess IDProcess StateProcess PriorityCPU RegistersOwnerCPU UsageMemeory Usage이 메타데이터는 프로세스가 생성되면 PCB(Process Control Block)이라는 곳에 저장됨 PCB(Process Control Block)프로세스 메타데이터들을 저장해 놓는 곳, 한 PCB 안에는 한 프로세스의 정보가 담김다시 정리해보면?프로그램 실행 → 프로세스 생성 → 프로세스 주소 공간에 (.. 2024. 5. 1.
[OS] 프로세스와 스레드 프로세스와 스레드의 차이(Process vs Thread)프로그램(Program) 이란사전적 의미“어떤 작업을 위해 실행할 수 있는 파일”프로세스(Process) 란사전적 의미“컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램”메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체)운영체제로부터 시스템 자원을 할당받는 작업의 단위즉, 동적인 개념으로는 실행된 프로그램을 의미한다.참고 할당받는 시스템 자원의 예CPU 시간운영되기 위해 필요한 주소 공간Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역특징프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다.기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 .. 2024. 5. 1.
[OS] 운영 체제란 무엇인가? 운영 체제란 무엇인가?운영 체제(OS, Operating System): 하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.즉, 운영 체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어라고 할 수 있다.(종류로는 Windows, Linux, UNIX, MS-DOS 등이 있으며, 시스템의 역할 구분에 따라 각각 용이점이 있다.) 운영체제의 역할1. 프로세스 관리운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다.어떤 의미에서는 프로세서(CPU) 관리하는 것이라고 볼 수도 있다. 현재 CPU를 점유해야 할 프로세스를 결정하고, 실제.. 2024. 5. 1.
[OS] Blocking IO vs Non-Blokcing IO Blocking IOBlocking IO 란 IO 프로세스가 시작한 작업이 진행되는 동안 다른 작업은 중단한 상태로 진행 중인 IO 작업이 끝날 때까지 대기하는 방식을 뜻한다,# Blocking IOBlocking IO 에 관한 자료를 찾다보니 가장 흔한 이미지가 위의 사진이였다.사진을 보면, Read() 함수가 호출이 되면 해당 함수가 완전히 끝날 때까지 다른 작업을 수행하지 못한다.   Non-Blocking IONon-Blocking IO 는 한 프로세스가 IO 작업을 호출했을 때 IO 작업이 완료될 때까지 작업을 중단하지 않고 IO 호출에 대해 즉시 리턴한 뒤, 해당 프로세스가 이어서 다른 IO 작업을 수행할 수 있도록 하는 방식을 뜻한다. Non-Blocking IO 는 한 프로세스가 작업을 진.. 2024. 4. 30.