본문 바로가기

전체 글43

[스터디]운영체제 #3 프로그램 실행중에 인터럽트가 발생하거나 시스템콜을 호출하게 되면 커널모드로 전환 유저모드 우리가 개발하는 프로그램은 일반적으로 해당 모드에서 실행 커널모드 프로그램의 현재 CPU상태를 저장함 커널이 인터럽트나 시스템콜을 직접 처리. 즉 cpu 에서 커널코드가 실행됨 처리가 완료되면 중단됐던 프로그램의 cpu상태를 복원(but, 가끔 중단됐던 프로그램이 다시 실행되는게 아니라 다른 프로그램을 실행됐다가 해당 프로그램이 나중에 시작할때도 있다) 복원 후 다시 통제권을 프로그램에게 반환(커널모드 -> 유저모드) 커널이란? 운영체제의 핵심 시스템의 전반을 관리/감독하는 역할 하드웨어와 관련된 작업을 직접수행 왜 커널모드를 만들었을까? -> 시스템이 안정정적으로 동작할 수 있도록 보호하기 위해 (ex. 우리가 개.. 2023. 1. 20.
[스터디]운영체제 #2 프로세스란? 실행중인 프로그램 운영체제 입장에서는 작업의단위 프로세스는 완료하기 위해 이러한 자원들이 필요 - cpu - 메모리 - 파일들 - i/o 디바이스들 프로세스의 여러 개의 섹션 text영역 - 명령어들 data영역 - 전역변수들 힙영역 - 메모리 로케이션, new같은것(동적 데이터 영역) 스택영역 - 함수호출, 지역변수 text, data, 스택 영역은 컴파일 할 때 영역의 크기를 계산해 메모리 영역을 결정. 힙영역은 프로그램 동작 시(런타임)에 크기가 결정. 프로세스상태(life cycle) 1. New - 프로세스의 탄생 2. Running - cpu 를 점유한 상태 3. Wating - 프로세스가 cpu를 실행중일때 다른 프로세스는 기다림의 상태 4. Ready - cpu를 할당하면 바로.. 2023. 1. 13.
[스터디]운영체제 #1 프로그램이란? 컴퓨터 하드웨어에게 일을 하도록 말하는 일종의 명령어 집합 운영체제란? 컴퓨터에서 항상 동작하는 프로그램 시스템서비스를 어플리케이션 프로그램에게 제공 (OS가 어플리케이션에게 말하길... : 나에게 다 말해!! 내가 해줄게!!) 프로세스 관리, 자원 관리, 유저 인터페이스 관리 등의 역할을 함 컴퓨터 시스템을 운영하는 소프트웨어 하드웨어를 제어하는 소프트웨어 커널이란? 하드웨어의 자원을 자원이 필요한 프로세스에 나눠주고, 덩달아 프로세스 제어(작업 관리), 메모리 제어, 프로그램이 운영 체제에 요구하는 시스템 콜 등을 수행하는 부분으로 운영 체제 맨 하부에서 돌아간다 (by 나무위키) 시스템 프로그램과 애플리케이션 프로그램의 인터페이스 제공 -> 즉, 커널이 핵심 부트스트랩이란? 컴퓨터가 .. 2023. 1. 6.
2022년 회고 주절주절 벌써 2022년이 끝나고 2023이 다가온다. 매년 마지막이 다가올 때마다 "벌써 시간이 이렇게 됐구나... 난 1년 동안 뭘 한 거지...?" 라는 생각에 잠기게 되는 것 같다. 이렇게 한 해를 다시 되짚어보며 글로 남기는 것은 처음인데, 앞으로 매년 회고를 쓰며 1년 전 내가 다짐한 것들을 이뤘는지 확인하는 것도 좋을 것 같다. 2022 인턴 예기치도 못하게 인턴 생활을 시작하게 되었다. 내 인생에 휴학은 없다! 이렇게 생각하며 살던 나인데, 카카오 인턴이란 그런 내 다짐을 바꿔버릴 만큼 큰 "사건"이었다. 6개월이라는 시간 동안 인턴생활을 하며 여러 가지를 많이 경험했다. 기술뿐만 아니라 내가 개발자로서 살아갈 사회를 배웠다. 이때를 지금 생각하면, 뭔가 그리운 마음이지만 예전에 썼던 인턴.. 2023. 1. 3.
nginx.conf 에 location 블록이 없을 때 혹시라도 나처럼 시간낭비할 분을 위해 남긴다! 무중단배포를 위해 Nginx 설정중, 많은 레퍼런스에서는 /etc/nginx/nginx.conf 에서 location 블록을 수정하라고 적혀있었다. 하지만.. 도대체... 어디에... (평소 우선 따라하고 보던 습관이 이렇게...) nginx.conf 파일에서 맨 마지막에 보면 include /etc/nginx/conf.d/*.conf; 부분이 있다. 결론적으로 해당 파일을 nginx.conf가 포함하고 있다는 말이다. vim /etc/nginx/conf.d/*.conf 해당 명령어를 실행하면 찾던 80번포트의 location 블록이 나온다. *.conf 에서 *는 전체를 의미하는데, conf파일이 여러개라면 default.conf 파일(/etc/nginx/.. 2022. 11. 15.
인프콘2022 후기 한 달 만에 쓰는 인프콘 2022 후기 후기를 쓸지에 대해 고민하다가 처음으로 가 본 컨퍼런스이기도 하고 어렵게 간 것이기도 해서 그냥 주절주절 짧게 후기를 써보려고 한다. 일기 쓰는 느낌으로! 우선 너무나 감사하게도, 동욱님(향로님)의 초대권으로 인프콘을 가보게 되었다. 실은 그날 여행이 겹쳐서 못갈뻔 했지만, 진짜 너무너무너무너무 아쉬운 마음에 결국 예정되어있던걸 다 취소하고 가기로 결정했다! 동욱님이 초대권까지 주셨는데!!! 이거 가고 싶어도 못 간 분들도 있는데!!! 어떻게 못 갈 수가 있겠는가...!! 거기다가 같이 멘토링 하는 분들을 만날 수 있는 기회였다! 멘토링을 하면서 동욱님에 대한 질문으로만 서로의 상황을 유추할 수 있었고 평소에 쉽게 뵐 수 없으신 분들이라 어떤 분들이신지 너무 궁금했.. 2022. 10. 5.