본문 바로가기

전체 글

(67)
운영체제 - 프로세스와 스레드 프로그램, 프로세스, 스레드 프로세스와 스레드의 정의를 먼저 알아보자.프로세스(Process): 운영체제로부터 자원을 할당받은 작업의 단위스레드(Thraed) : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 먼저 프로세스와 스레드에 대해 이해하기 전에 프로그램을 이해해야한다.프로그램(Program): 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 한마디로 운영체제가 메모리 공간을 할당해주지 않은 것이 프로그램이며 정적인 상태는 실행되지 않고 가만히 있다는 뜻이다.결론은 프로그램은 아직 실행되지 않은 파일 그 자체를 가리키는 말이다. 예를 들면 우리가 자주사용하는 크롬, 카카오톡 등 사용자가 눌러서 실행하기 전의 상태를 말한다. 우리가 그 프로그램을 실행 시키면 컴퓨..
운영체제 - 커널(Kernul) 커널(Kernul)이란? 커널은 운영체제(OS)의 가장 핵심적이고 근본적인 부분이다. 컴퓨터 시스템의 모든 하드웨어와 소프트웨어 자원을 관리하고 애플리케이션이 이 자원들을 효율적이고 안전하게 사용할 수 있도록 추상화된 서비스를 제공하는 역할을 한다. 커널이 없으면 단순히 하드웨어 덩어리일 뿐이며 사용자가 직접 하드웨어를 제어해야 하는 불편함을 직면하게 된다. 커널은 하드웨어, 프로세스 및 스레드, 메모리, 파일 시스템, 입출력, 보안등을 제공하며 시스템 콜 인터페이스를 제공한다. 시스템 콜은 사용자 애플리케이션이 커널의 기능을 요청할 수 있는 표준화 방법을 제공한다. 시스템 콜(System Call)시스템 콜(System Call)이 뭔데?시스템 콜(SystemCall)은 커널(kernel)이 제공하..
운영체제(Operating System)란? 운영체제(Operating System)란?운영체제는 컴퓨터 하드웨어와 소프트웨어 리소스를 관리하는 시스템 소프트웨어이다.즉 사용자와 하드웨어 사이의 인터페이스를 제공해주고 효율적으로 응용 프로그램이 동작하도록 지원한다. 그리고 시스템 자원을 효율적으로 관리하여 응용 프로그램이 원활하게 동작할 수 있도록 한다. 운영체제의 주요 역할예를 들면 우리가 웹 브라우저(Chrome) 아이콘을 클릭하면 운영체제는 클릭을 감지하고, 웹 브라우저 프로그램을 메모리에 로드하고 그리고 CPU 자원을 할당하여 실행한다. 웹 브라우저가 화면에 표시되도록 모니터(하드웨어)를 제어한다. 그래서 우리는 웹 브라우저(Chrome)를 실행하면 웹 사이트를 볼 수 있게 된다. 우리가 파일 저장할 때를 생각해보면 문서를 작업하고 '저장'..
정보처리기사 Python 문법 정리 print(), end, sepx = 3y = 4print("x = {}, y = {}".format(x, y)) # 변수 출력# x = 3, y = 4# 여러 값 출력 시 값들 사이에 공백이 출력print("a", "b", "c")# a b c# end, print문 출력시 맨 뒤에 붙는 문자print("a", "b", "c", end="@@")# a b c@@# sep, 출력시 문자 값 사이에 붙는 문자print("000", "0000", "0000", sep="-")# 000-0000-0000 len()# len(), 문자열, 리스트, 튜플, 딕셔너리 등의 길이를 반환str = "abcd"list = [1,2,3,4,5]print(len(str))# 4print(len(list))# 5 for문# ..
정보처리기사 C언어 포인터 문제 풀이 기본 포인터#include int main() { int value = 10; // value 10 int *ptr; // ptr 선언 ptr = &value; // ptr은 value의 주소를 가르킨다. printf("value: %d \n", value); // value 값인 10을 출력 printf("ptr 값: %d \n", ptr); // ptr의 주소값 출력 printf("ptr 의 값: %d \n", *ptr); // ptr이 가르키고 있는 value의 값인 10 출력 *ptr = 20; // ptr이 가르키고 있는 값을 수정한다. printf("value: %d \n", value); // 20 출력 ..
컴퓨터 구조 정리 (2) 문자 집합과 인코딩0과 1로 문자를 표현하기 전에 알아야 할 세 가지는 문자 집합, 인코딩, 디코딩 이다.컴퓨터가 인식하고 표현할 수 있는 문자의 모음을 문자집합(character set)이라고 한다.문자를 컴퓨터가 이해할 수 있게 0과 1로 변환하는 과정을 문자 인코딩(character encoding)이라 한다.0과 1로 이루어진 문자 코드를 사람이 이해 할 수 있는 문자로 변환하는 과정을 문자 디코딩(character decoding)이라 한다. 아스키 코드(ASCII; American Sandard Code for Information Interchange)초창기 문자 집합 중 하나로, 알파벳, 아라비아 숫자, 일부 특수문자를 표현한다.각각 7비트로 표현, 7비트로 표현할 수 있는 가짓수는 2의7..
컴퓨터 구조 정리 (1) 컴퓨터가 이해하는 정보 데이터 : 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보 컴퓨터의 4가지 핵심 부품 메모리 : 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다.메모리에는 저장된 값에 빠르고 효율적으로 접근하기 위해 주소(address)가 사용된다.프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 한다.메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다.메모리에 저장된 값의 위치는 주소로 알 수 있다. CPU : 컴퓨터의 두뇌, 메모리에 저장된 명령어를 읽고, 해석하고, 실행하는 부품내부 구성 요소의 중요한 세 가지는 산술논리연산장치(ALU;..
[자료구조] - 트리(Tree) 트리란?트리는 계층적 구조를 가지는 자료구조로, 노드(Node)와 그 사이의 연결인 엣지(Edge)로 구성된다.부모-자식 관계를 통해 노드들이 계층적으로 연결된 형태를 가진다.트리는 일반적으로 계층적 데이터를 표현, 검색, 정렬과 같은 문제를 해결하는 데 사용된다. 트리의 기본 구성 요소노드(Node) : 트리의 기본 단위, 데이터와 자식 노드에 대한 정보를 담고 있다.(Root, Parant, Child, Leaf 등에 해당된다.)엣지(Edge) : 트리의 각 노드가 부모와 자식 노드를 연결하는 선이다.부모(Parent) : 자식을 가진 노드이다.자식(Chlid) : 부모 노드로부터 연결된 노드이다.서브트리(Subtree) : 트리의 한 노드와 그 노드의 자식들로 구성된 트리이다.리프(Leaf) : 자..