일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로세스
- 커널
- kernel
- 멀티프로세스
- IODevice
- 폰노이만
- 계층형 구조 커널
- 멀티스레드
- 앱개발
- 폰노이만구조
- 캐시
- 마이크로 커널
- bus
- 단일형 구조 커널
- 버퍼
- 컴퓨터구조
- 스풀
- 스레드
- 코딩
- 폴링
- Swift
- sdk
- API
- 운영체제
- 야곰아카데미
- Components
- 인터럽트
- closure
- 하버드구조
- 부트캠프
- Today
- Total
목록CS (8)
생각, 고민, 문제해결의 기록
PCB (Process Control Block) 운영체제가 프로세스를 제어하기 위해 정보를 저장하는 곳으로, 프로세스의 상태 정보를 저장하는 구조체이다. (약 8KB) 프로세스가 실행 중인 상태를 캡쳐하여, 구조화해서 저장한다. 운영체제는 빠르게 PCB에 접근하기 위해 프로세스 테이블을 사용하여 각 프로세스의 PCB를 관리한다. 프로세스 상태관리와 컨텍스트 스위칭을 위해 필요하다. PCB의 구조 Process ID (PID) 모든 프로세스에는 프로세스 식별자를 저장하는 프로세스 ID 또는 PID라는 고유 한 ID가 할당된다. 포인터 (Pointer) 프로세스의 현재 위치를 저장하는 포인터 정보이다. 프로세스 상태 (Process State) 프로세스의 각 상태 (생성(New), 준비(Ready), 실행..
프로세스 vs 스레드 프로세스 (Process) 프로세스는 프로그램이 메모리에 올라와 운영체제로부터 CPU를 할당받고 프로그램이 실행되고 있는 상태를 말한다. 즉, 일을 처리하는 일련의 과정을 뜻한다. 특징 1. 프로세스 간에는 자원을 공유하지 않고 독립적인 공간을 지니고 있다. 2. 하나의 프로세스가 다른 프로세스와 통신하려면 IPC기법이 필요하다. 3. 프로세스에 대한 정보를 PCB라는 공간에 저장한다. **IPC(Inter Process Communication): 각각의 프로세스는 완전히 분리된 공간이라 서로 접근할 수 없기 때문에 IPC라는 기법을 통해 커뮤니케이션을 한다. ex) Message Queue, Shared Memory, Pipe **PCB(Process Control Block):..
컴퓨터 성능 저하 원인 구조적으로 컴퓨터 성능저하를 유발하는 이유는 메모리와 CPU의 작업속도 차이이다. CPU는 매우 빠른 속도로 작업을 처리하지만 이에 비해 메모리는 CPU보다 작업속도가 현저히 느리기 때문에 컴퓨터의 성능 저하를 유발한다. 이러한 성능저하문제를 해결하기위해 여러 기술등이 등장하게 되었다. 컴퓨터 성능 향상 기술 버퍼 (buffer) - 버퍼는 CPU와 보조기억장치에서 입출력 작업 속도 차이를 극복하기 위해 사용되는 임시 저장소이다. - 보조기억장치에서 데이터가 처리될 때마다 CPU에 하나씩 보내게 되면 CPU는 빠른 연산 속도를 가졌음에도 불구하고 전송 받는 데이터가 적어 비효율적이게된다. 이런 문제점을 해결하기 위해 버퍼는 일정량의 데이터를 모아서 CPU에 보냄으로써 성능의 낭비를..
레지스터란? 레지스터는 CPU 내부에서 처리할 명령어나 연산의 중간 값 등을 일시적으로 기억하는 임시 저장공간이다. 일반적으로 현재 계산을 수행 중인 값을 저장하는 데 사용된다. 레지스터는 메모리 계층의 최상위에 위치하면서 가장 빠른 속도로 접근이 가능하게끔 설계되어있는 메모리이다. 레지스터의 역할 CPU에서 필요한 연산을 굉장히 빠르게 처리해준다. 컴퓨터 장치들을 제어한다. 레지스터의 동작 과정 Fetch: 사용자 명령과 주 기억장치에 저장된 프로그램을 CPU 프로세서로 가져온다. Decode: 가져온 명령을 해석한다. Execute: CPU에 의해 생성된 결과를 메모리에 저장한다. 레지스터의 종류 PC (Program Counter) 다음 인출될 명령어의 주소를 가지고 있는 레지스터 IR (Instr..
컴퓨터의 구성 컴퓨터는 기본적으로 하드웨어(Hardware)와 소프트웨어(Sofrware)로 구성된다. 하드웨어는 컴퓨터를 구성하는 기계적인 장치이고, 스프트웨어는 하드웨어의 동작을 지시하고 제어하는 명령어의 집합이다. 여기서는 하드웨어의 각 장치에 해당하는 중앙처리장치(CPU), 기억장치(RAM), 입출력 장치(I/O Device), 그리고 버스(Bus)에 대해서 알아보자. 컴퓨터 구조 CPU (Central Processing Unit) 중앙처리장치. 사람의 두뇌 역할. 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행, 처리하는 가장 핵심적인 컴퓨터 제어장치이다. 컴퓨터 안의 CPU는 외부에서 정보를 입력받고, 기억하고, 컴퓨터 프로그램의 명령어를 해석하여 연산하고, 외부로 출력하는 역할을 한다. R..
폰노이만 구조 존 폰 노이만이 제시한 프로그램 내장 방식의 컴퓨터구조. 폰노이만 구조 이전의 애니악이라는 컴퓨터는 스위치를 설치하고 전선을 연결하여 데이터를 전송하고 신호를 처리하는 식으로 번거롭게 프로그래밍을 하였다. 하지만 폰노이만 구조는 프로그램 내장 방식 컴퓨터이기 때문에 새로운 프로그램을 실행할 때마다 하드웨어를 변경할 필요없이 소프트웨어만 교체하면 되었다. 이런 장점 덕분에 범용성과 편의성이 매우 증가하였고 현재에도 거의 모든 컴퓨터들은 폰노이만 구조를 따르고 있다. 단점 폰노이만 구조는 인간의 사고과정을 참고하여 구조를 설계했기 때문에 우리가 어떤 연산을 마주했을 때, 머릿 속의 기억을 불러와서 계산하는 과정과 아주 유사하다. 하지만 이 방식에는 치명적 단점이 존재하는데, 우리의 뇌는 빠르게..
커널이란? 커널은 운영체제 중 항상 메모리에 상주하는 운영체제의 핵심 부분으로써 하드웨어와 응용프로그램 사이에서 인터페이스를 제공하는 역할을 하며 컴퓨터 자원을 관리하는 역할을 한다. 커널의 핵심 기능 프로세스 관리: 프로세스에 CPU를 배분하고 작업에 필요한 환경을 제공한다. 메모리 관리: 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상 공간을 제공한다. 파일 시스템 관리: 데이터를 저장하고 접근할 수 있는 인터페이스를 제공한다. 입출력 관리: 필요한 입력과 출력 서비스를 제공한다. 프로세스간 통신 관리: 공동 작업을 위한 각 프로세스간 통신(IPC) 환경을 제공한다. 커널의 유형 1. 단일형 구조 커널 (Monolithic Kernel) 단일형 구조 커널은 초창기 운영체제 구조로 커널의 핵심..
운영체제(Operating System)란? 컴퓨터 시스템의 하드웨어, 소프트웨어자원들을 효율적으로 운영 및 관리함으로써 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 한 시스템 소프트웨어 운영체제의 역할 1. 시스템 자원 관리자 역할 - 시스템 자원은 컴퓨터의 하드웨어들을 뜻하고 운영체제가 그 하드웨어들을 관리 2. 사용자와 컴퓨터간의 커뮤니케이션 지원 역할 - 사용자가 컴퓨터를 사용할 수 있게끔 터미널(쉘) 인터페이스등을 제공 3. 응용프로그램 제어 역할 - 응용프로그램의 접근권한, 실행 및 중지등을 운영체제에서 관리 운영체제의 구조 하드웨어 - 컴퓨터의 물리적인 구성요소.중앙처리장치, 주기억장치, 보조기억장치, 입력장치, 출력장치 등으로 구성되어 있으며 컴퓨터의 입력 / 연산 / 제어 /..