컴퓨터공학(4)
-
운영체제(3)
프로세스 구조 이해 ● 프로세스 구조 ○ 프로세스 (process) 는 일반적으로 어떻게 구성되어 있을까? - text(CODE): 코드 - data: 변수/초기화된 데이터 - stack: 임시 데이터(함수 호출, 로컬 변수등) - heap: 코드에서 동적으로 만들어지는 데이터 ○ 프로세스와 컴퓨터 구조 - PC(Pqrogram Counter) + SP(Stack Pointer) - PC: 다음 실행할 코드 주소 - SP: 스택 최상단 주소 ○ 임베디드 시스템등에서 동작하는 C 프로그램등은 디버깅시 PC 와 SP 를 캡쳐해서 확인 ○ 파이썬에서 재귀함수 호출이 일정 횟수 이상이면 에러가 나는 이유 - 고정된 스택 공간 때문임 힙과 컨텍스트위칭 이해 ● Heap 이란? ○ 얼마나 많은 공간이 필요할지 모르..
2023.03.15 -
운영체제(2)
운영체제 스케줄링 기본 ● 배치 처리 시스템 ○ 여러 프로그램을 순차적으로 실행시킬 수 있도록 해야함 - 어떤 프로그램은 실행이 너무 시간이 많이 걸려서, 다른 프로그램이 실행하는데 시간을 많이 기다 려야 한다. ● 시분할 시스템 ○ 시분할 시스템: 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화하는 시스템 - 여러 사용자가 동시에 하나의 컴퓨터를 쓰려면 어떻게 해야 하나요? (다중 사용자 지원) ● 멀티 태스킹 ○ 멀티 태스킹: 단일 CPU에서, 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템 - 나는 MP3 음악을 들으며, 문서 작성을 한다. ○ 10 ~ 20 ms 단위로도 실행 응용 프로그램이 바뀜 ● 멀티 프로그래밍 ○ 최대한 CPU를 많이 활용하도록 하는 시스템 - 응용 프..
2023.03.15 -
운영체제(1)
운영체제 ● OS(Operating System) ● 주요 운영체제: 윈도우, UNIX 계열 OS(리눅스), MacOS ● OS는 더 정확히는 커널(kernal)을 의미함 ○ 일반적으로는 커널에 여러가지가 추가된 상태를, OS라고 통칭함 커널과 쉘 이해 ● 쉘(Shell) ○ 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램 ○ 쉘은 터미널 환경(CLI)과, GUI 환경 두 종류로 분류 ○ 유명한 쉘: 리눅스 bash ● 시스템 콜(System Call) ○ 시스템 콜 또는 시스템 호출 인터페이스 ○ 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공 ● API(Application Programming Interface) ○ 모호한 용..
2023.03.15 -
컴퓨터 구조(Computer Science)(2)
플립플롭과 메모리 동작이해 ● NOR 게이트 2개를 조합해서 만들어 볼 수 있음 ● flip-flop(플리플롭): 데이터를 저장하는 조합논리 회로 ○ 첫 번째 스위치를 키면 불이 켜지고, 스위치를 꺼도 불은 켜진채로 지속됨 ○ 두 번째 스위치를 끄면 불이 꺼지고, 스위치를 꺼도 불은 꺼진채로 지속됨 ● 스위치를 키고 끄고를 저장할 수 있음 ○ 불이 켜져 있다: 최근에 첫 번쨰 스위치가 켜졌었다. ○ 불이 꺼져 있다: 최근에 두 번째 스위치가 켜졌었다. ※ 전기를 전에 켰다 라는 사실을 기억할 수 있게 되었음 ● RS플립플롭 ○ Q는 output, Q'는 Q의 반대값 ○ 단, S와 R이 1인 상태는 피하도록 설계 (Q와 Q'가 둘 다 0이 되므로) ● Level -triggered flip-flop ○ R..
2023.03.11