운영체제(3)
-
운영체제(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